PageSourceSearch

https://scroobly.com/static/js/main.32afecee.chunk.js

js scroobly.com collected 2026-10-01 14:33:47 UTC 187,155 bytes, 2 lines download raw bytes

1(this.webpackJsonpbodymation=this.webpackJsonpbodymation||[]).push([[0],{323:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAGJ0lEQVR4Xu2cV8xtQxTHf/eFSPBAEO4VRCJ6uzoJHvToJbhBXEH03iVI9N4F4YFwRYneH/Cg9y4SRLToCRLlhfyTOcmYnHP2np1v9llzstbT9+099f/bM3tmzdpnFm6mFJhlqjXeGByIsYfAgTgQYwoYa46PEAdiTAFjzfER4kCMKWCsOT5CHIgxBYw1x0eIAzGmgLHm+AhxIMYUMNYcHyEOxJgCxpozLSPkOeBT4HBj+mY3Z1qA/As8D2ydrYCxDA7EgRRRwEdIEVm7F+pAumtXJKcDKSJr90IdSHftiuR0IEVk7V6oA+muXZGcDqSIrN0LvRr4FTivexE2ck7LxtCGmjPQimkBMgf4egb0mHgR0wLE3yETf5T+3wAH4kDKKOBTVhldO5fqQDpLVyajAymja+dSHUhn6cpkdCBldO1cqgPpLF2ZjA6kjK6dS50WIIeFMCBFnlRt0wKkaghx4y0DWR74qqXSewOfA2+2TJ9TdssiZyaZZSD7Ave07GauLyun7JZNmJlkloFcB3wG6PCpyXKAHA+sDBzTVOgk7lsG8gywDbT6+Y8cIEr7LLDtJARvqtMykAWAppZrgeMaOtIWyDXAsWEq3K9JnEnctwxEU9bRQRS9hMedCLYBolPFwSLhep+y8h+3c4BzQ7ZHgF3HFNEGyMPALqEMlWsyIMLyCFkW+DaCsDnw0ggoTUA2A16M8i4HfJf/jJTPYRmIen8voD2G7H1g7Y5A3gPWCnnvA/YpL223GqwD2RF4POra/oBe9qmNGyF6ed8dZdgJeKKbXOVzWQciBT4A1ghS/A4sPkSW14APgYOH3PsNWCxcV5o1y8vavYYagJwFnB918XTgkqTLqwTnYqrEacDF0cWzgQu6y1U+Zw1AVgM+SqRYBvihQZ6lge+TNKsDH5eXtXsNNQBR7+4ADoi6eRNwZEO3bwSOiNLcCRzYXap+ctYCRC4UuVJi2wh4fYRMGwJ6r8QmV4lcJqatFiAS8Slgu0hNrZS0YhpmWplphTawp4HtTZMIjasJiJa8dyWi7gU8kFzbE7g/uTYvWfqaZVMTEIn4FrBepKZe9oMl8eCylrZ6eQ/sbWB9swSShtUGRGcZVyV9OAm4Mlw7EbgiuX9CyzMVE8xqA7Ik8C4wO1Lvz+j/b4BFonv6fx3gZxNqt2hEbUDUpQuBM5K+6ZxDlp6bXASc2UIHM0lqBKKN4jvAQg0q/gOsa30jmPahRiDqg558uVDGmVwm6UgyMxJGNaRWIOqP/FmnjujYpYD8WNVZzUAkts5KdGYSm846dOZRpdUORNOWpq/YNE3FHt6qwNQMRJs/uU9WSBT/MrhNUg9xFWBqBnIbMD+orP2GbLA/uR04pAoCSSNrBbIJ8HLUl0PD37dG1zYFXqkNSi1A5gKKHPkJkOdWMb9yycvkBd4h/P1k5NWVq11ORYX+/BVc9frlUtNmHYhWUfJF6WkfZbEvS8vg9Hg3zvcocAvwmFUqloHohFAnhU2m0CCFCMn0ope3t8l0cqgTRHNmFYhE1o8jLxEUU6ThC8CWUTSjbin4bYtEVTkf4/gteYDlgo/z/hJ+41fxWqbMKpDYgZiGfcbn68NCQuMQ1PQcPb5n0vFoFYgiQ1YFXgW0oootFnXnIe8DxWZp2SsbBuwLYEXgE0COSlNmFYgiEUcJekMUcTIsRlcrrkFkoiJPjkoUj8/bzfXfXIOCeKOA6KWtL22XAh4E9hjxeL8BaKn8I7BVEtcVjzBz/TfXoCCwNnQbA9pXaMetSHXBkCNxcIZ+0JhVmD6TvjmUpVWXHI5ypQiSYMmGTYcTn76sAtH3f/pySvZHEHEDYNFw7SFg9wb1NIJ2G1OGvqTSR0GmzCqQhcMOXNNNapcDp7RU8TLg5CFpNe0pTuvvluX0lswqEAmwEqBAa62y5DSUiJqyhn2OME4wfY6gKUtw5YTUdKiAa622zJllIObE6qNBDqQPlTPqcCAZYvWR1IH0oXJGHQ4kQ6w+kjqQPlTOqMOBZIjVR1IH0ofKGXU4kAyx+kjqQPpQOaMOB5IhVh9JHUgfKmfU4UAyxOojqQPpQ+WMOhxIhlh9JHUgfaicUYcDyRCrj6T/AbfR/mXzwmw2AAAAAElFTkSuQmCC"},336:function(e,t,n){e.exports=n(394)},345:function(e,t,n){},350:function(e,t){},351:function(e,t){},359:function(e,t){},361:function(e,t){},362:function(e,t){},376:function(e,t){},378:function(e,t){},393:function(e,t,n){},394:function(e,t,n){"use strict";n.r(t);var a=n(1),r=n.n(a),i=n(118),o=n.n(i),c=n(48),s=(n(345),n(66)),l=n(3),u=n.n(l),h=n(13),d=n(110),p=n(412),f=n(175),m=n(5),v=n(11),g=n(219),b=n(314),y=n(328),w=n(8);function k(){return/Android/i.test(navigator.userAgent)||/iPhone|iPad|iPod/i.test(navigator.userAgent)}var E=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,[{key:"setup",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.poses=[],this.faces=[],e.abrupt("return",new Promise(function(){var e=Object(h.a)(u.a.mark((function e(n,a){var r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=[]).push(g.b({architecture:"MobileNetV1",outputStride:16,inputResolution:200,multiplier:k()?.75:1,quantBytes:2}).then((function(e){t.posenet=e}))),r.push(b.a().then((function(e){t.facemesh=e}))),e.next=5,Promise.all(r);case 5:n(t);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"update",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n,a,r,i,o,c){var s,l;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=y.a.fromPixels(t),l=a/t.width,e.next=4,this.facemesh.estimateFaces(s,!1,!1).then((function(e){return e.forEach((function(e){e.scaledMesh.forEach((function(e){e[0]*=l,e[1]*=l}))})),e}));case 4:if(this.faces=e.sent,n.readyState!==HTMLMediaElement.HAVE_ENOUGH_DATA){e.next=9;break}return e.next=8,this.posenet.estimatePoses(s,{flipHorizontal:!1,decodingMethod:"multi-person",maxDetections:1,scoreThreshold:r,nmsRadius:o}).then((function(e){return e.forEach((function(e){e.keypoints.forEac
1h((function(e){e.position.x*=l,e.position.y*=l}))})),e}));case 8:this.poses=e.sent;case 9:return s.dispose(),c&&this.draw(r,i,l),e.abrupt("return",{poses:this.poses,faces:this.faces});case 12:case"end":return e.stop()}}),e,this)})));return function(t,n,a,r,i,o,c){return e.apply(this,arguments)}}()}]),e}(),x=n(18),L=n(19),S=n(15),O=n(16),j=n(24),C=function(){function e(t){Object(m.a)(this,e),this.config=t,this.nextLayerIndex=0}return Object(v.a)(e,[{key:"draw",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"setup",value:function(){var e,t,n,a,r=this.config.width,i=this.config.height,o=this.config.id;(e=new j.t(0,r,i,0,0,1e3)).position.z=100,t=new j.w,a=new X,t.add(a),a.scale.set(1,-1,1),a.position.set(0,i,0),(n=new j.G({antialias:!0,alpha:!0})).setSize(r,i),n.setClearColor(16777215,0),n.domElement.id=o,document.body.appendChild(n.domElement),this.scene=t,this.renderer=n,this.canvas=n.domElement,this.camera=e,this.root=a,this.view=new W(n.domElement,this)}},{key:"detach",value:function(){this.view.detach()}},{key:"setSize",value:function(e,t){this.config.width=this.config.height*e/t,this.renderer.setSize(e,t),this.camera.right=this.config.height*e/t,this.camera.updateProjectionMatrix(),this.view.setSize(e,t)}},{key:"newLayer",value:function(){var e=new X;return e.index=this.nextLayerIndex++,this.root.add(e),e}},{key:"remove",value:function(){this.renderer.domElement.remove()}}]),e}(),M=j.e,T=j.o,P=(j.m,j.r),N=(j.B,j.v,j.d),A=j.y,R=j.c,F=j.D,B=j.C,D=j.k,I=j.x,z=(j.n,j.s,j.f),J=j.A,U=j.h,W=function(){function e(t,n){var a=this;Object(m.a)(this,e),this.scope=n,this.mouseIsDown=!1,this.viewSize=new G(0,0),this.mouseDownListener=function(e){a.mouseIsDown=!0,a.onMouseDown&&a.onMouseDown(e)},this.mouseUpListener=function(e){a.mouseIsDown=!1,e.target===a.dom&&a.onMouseUp&&a.onMouseUp(e)},this.resizeHandler=function(){var e=a.viewSize.width,t=a.viewSize.height;a.updateSize(),a.onResize&&a.onResize({size:a.viewSize,delta:new G(a.viewSize.width-e,a.viewSize.height-t)})},this.mouseMoveListener=function(e){if(a.mouseIsDown){if(!a.onMouseDrag)return;var t=a.scope.config.width/a.viewSize.width,n=a.scope.config.height/a.viewSize.height;a.onMouseDrag({point:new j.E(e.offsetX*t,e.offsetY*n),delta:{x:e.movementX*t,y:e.movementY*n}})}},t.addEventListener("mousemove",this.mouseMoveListener),t.addEventListener("mousedown",this.mouseDownListener),window.addEventListener("mouseup",this.mouseUpListener),window.addEventListener("resize",this.resizeHandler),this.dom=t,this.updateSize()}return Object(v.a)(e,[{key:"detach",value:function(){var e=this.dom;e.removeEventListener("mousedown",this.mouseDownListener),window.removeEventListener("mouseup",this.mouseUpListener),e.removeEventListener("mousemove",this.mouseMoveListener),window.removeEventListener("resize",this.resizeHandler)}},{key:"updateSize",value:function(){var e=this.dom.getBoundingClientRect();this.viewSize=new G(e.width,e.height),this.bounds=new j.a(new j.E(e.left,e.top),new j.E(e.left+e.width,e.top+e.height))}},{key:"scale",value:function(e,t){this.dom.width=this.dom.width*e,this.dom.height=this.dom.height*t}},{key:"setSize",value:function(e,t){var n=this.dom.style;n.width=e+"px",n.height=t+"px",this.updateSize()}}]),e}(),V=j.E,H=j.F,_=j.b,Y=j.a,G=(j.q,function e(t,n){Object(m.a)(this,e),this.width=t,this.height=n}),X=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(v.a)(n,[{key:"attachChild",value:function(e){this.attach(e)}},{key:"addChild",value:function(e){this.add(e)}},{key:"addChildren",value:function(e){var t=this;e.forEach((function(e){t.add(e)}))}},{key:"removeChildren",value:function(){for(;this.children&&this.children.length;)this.remove(this.children[0])}}]),n}(j.l),q=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(e,a,r,i){return Object(m.a)(this,n),t.call(this,new j.E(e,a),new j.E(r,i))}return n}(j.a),K=function(){function e(t){Object(m.a)(this,e),this.manager=void 0!==t?t:j.g}return Object(v.a)(e,[{key:"load2",value:function(e,t,n,a){var r=this,i=new j.i(r.manager);i.setPath(r.path),i.load(e,(function(e){t(r.parse(e))}),n,a)}},{key:"load",value:function(e,t,n,a){t(this.parse(e))}},{key:"setPath",value:function(e){return this.path=e,this}},{key:"parse",value:function(e){function t(e,t,a,r,i,o,c,s){r=r*Math.PI/180,t=Math.abs(t),a=Math.abs(a);var l=(c.x-s.x)/2,u=(c.y-s.y)/2,h=Math.cos(r)*l+Math.sin(r)*u,d=-Math.sin(r)*l+Math.cos(r)*u,p=t*t,f
1=a*a,m=h*h,v=d*d,g=m/p+v/f;if(g>1){var b=Math.sqrt(g);p=(t*=b)*t,f=(a*=b)*a}var y=p*v+f*m,w=(p*f-y)/y,k=Math.sqrt(Math.max(0,w));i===o&&(k=-k);var E=k*t*d/a,x=-k*a*h/t,L=Math.cos(r)*E-Math.sin(r)*x+(c.x+s.x)/2,S=Math.sin(r)*E+Math.cos(r)*x+(c.y+s.y)/2,O=n(1,0,(h-E)/t,(d-x)/a),j=n((h-E)/t,(d-x)/a,(-h-E)/t,(-d-x)/a)%(2*Math.PI);e.currentPath.absellipse(L,S,t,a,O,O+j,0===o,r)}function n(e,t,n,a){var r=e*n+t*a,i=Math.sqrt(e*e+t*t)*Math.sqrt(n*n+a*a),o=Math.acos(Math.max(-1,Math.min(1,r/i)));return e*a-t*n<0&&(o=-o),o}function a(e,t){function n(n,a,r){void 0===r&&(r=function(e){return e}),e.hasAttribute(n)&&(t[a]=r(e.getAttribute(n))),""!==e.style[n]&&(t[a]=r(e.style[n]))}function a(e){return Math.max(0,Math.min(1,e))}function r(e){var t=e;return"string"===typeof t&&(t=parseFloat(t)),Math.max(0,t)}return t=Object.assign({},t),n("fill","fill"),n("fill-opacity","fillOpacity",a),n("stroke","stroke"),n("stroke-opacity","strokeOpacity",a),n("stroke-width","strokeWidth",r),n("stroke-linejoin","strokeLineJoin"),n("stroke-linecap","strokeLineCap"),n("stroke-miterlimit","strokeMiterLimit",r),t}function r(e,t){return e-(t-e)}function i(e){for(var t=e.split(/[\s,]+|(?=\s?[+\-])/),n=0;n<t.length;n++){var a=t[n];if(a.indexOf(".")!==a.lastIndexOf("."))for(var r=a.split("."),i=2;i<r.length;i++)t.splice(n+i-1,0,"0."+r[i]);t[n]=parseFloat(a)}return t}function o(e){var t=e.elements;return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function c(e){var t=e.elements;return Math.sqrt(t[3]*t[3]+t[4]*t[4])}var s=[],l=[],u=new j.p,h=new j.p,d=new j.p,p=new j.p,f=new j.E,m=new j.F,v=new j.p,g=(new DOMParser).parseFromString(e,"image/svg+xml");return function e(n,g){if(1===n.nodeType){var b=function(e){if(!e.hasAttribute("transform"))return null;var t=function(e){for(var t=new j.p,n=u,a=e.getAttribute("transform").split(")"),r=a.length-1;r>=0;r--){var o=a[r].trim();if(""!==o){var c=o.indexOf("("),s=o.length;if(c>0&&c<s){var l=o.substr(0,c),f=i(o.substr(c+1,s-c-1));switch(n.identity(),l){case"translate":if(f.length>=1){var m=f[0],v=m;f.length>=2&&(v=f[1]),n.translate(m,v)}break;case"rotate":if(f.length>=1){var g,b=0,y=0;g=-f[0]*Math.PI/180,f.length>=3&&(b=f[1],y=f[2]),h.identity().translate(-b,-y),d.identity().rotate(g),p.multiplyMatrices(d,h),h.identity().translate(b,y),n.multiplyMatrices(h,p)}break;case"scale":if(f.length>=1){var w=f[0],k=w;f.length>=2&&(k=f[1]),n.scale(w,k)}break;case"skewX":1===f.length&&n.set(1,Math.tan(f[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":1===f.length&&n.set(1,0,0,Math.tan(f[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":6===f.length&&n.set(f[0],f[2],f[4],f[1],f[3],f[5],0,0,1)}}t.premultiply(n)}}return t}(e);t&&(l.length>0&&t.premultiply(l[l.length-1]),v.copy(t),l.push(t));return t}(n),y=null;switch(n.nodeName){case"svg":break;case"g":g=a(n,g);break;case"path":g=a(n,g),n.hasAttribute("d")&&(y=function(e){var n=new j.z,a=new j.E,o=new j.E,c=new j.E,s=!0,l=!1,u=e.getAttribute("d").match(/[a-df-z][^a-df-z]*/gi);if(null==u)return;for(var h=0,d=u.length;h<d;h++){var p=u[h],f=p.charAt(0),m=p.substr(1).trim();switch(!0===s&&(l=!0,s=!1),f){case"M":for(var v=i(m),g=0,b=v.length;g<b;g+=2)a.x=v[g+0],a.y=v[g+1],o.x=a.x,o.y=a.y,0===g?n.moveTo(a.x,a.y):n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"H":for(v=i(m),g=0,b=v.length;g<b;g++)a.x=v[g],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"V":for(v=i(m),g=0,b=v.length;g<b;g++)a.y=v[g],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"L":for(v=i(m),g=0,b=v.length;g<b;g+=2)a.x=v[g+0],a.y=v[g+1],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"C":for(v=i(m),g=0,b=v.length;g<b;g+=6)n.bezierCurveTo(v[g+0],v[g+1],v[g+2],v[g+3],v[g+4],v[g+5]),o.x=v[g+2],o.y=v[g+3],a.x=v[g+4],a.y=v[g+5],0===g&&!0===l&&c.copy(a);break;case"S":for(v=i(m),g=0,b=v.length;g<b;g+=4)n.bezierCurveTo(r(a.x,o.x),r(a.y,o.y),v[g+0],v[g+1],v[g+2],v[g+3]),o.x=v[g+0],o.y=v[g+1],a.x=v[g+2],a.y=v[g+3],0===g&&!0===l&&c.copy(a);break;case"Q":for(v=i(m),g=0,b=v.length;g<b;g+=4)n.quadraticCurveTo(v[g+0],v[g+1],v[g+2],v[g+3]),o.x=v[g+0],o.y=v[g+1],a.x=v[g+2],a.y=v[g+3],0===g&&!0===l&&c.copy(a);break;case"T":for(v=i(m),g=0,b=v.length;g<b;g+=2){var y=r(a.x,o.x),w=r(a.y,o.y);n.quadraticCurveTo(y,w,v[g+0],v[g+1]),o.x=y,o.y=w,a.x=v[g+0],a.y=v[g+1
1],0===g&&!0===l&&c.copy(a)}break;case"A":for(v=i(m),g=0,b=v.length;g<b;g+=7){var k=a.clone();a.x=v[g+5],a.y=v[g+6],o.x=a.x,o.y=a.y,t(n,v[g],v[g+1],v[g+2],v[g+3],v[g+4],k,a),0===g&&!0===l&&c.copy(a)}break;case"m":for(v=i(m),g=0,b=v.length;g<b;g+=2)a.x+=v[g+0],a.y+=v[g+1],o.x=a.x,o.y=a.y,0===g?n.moveTo(a.x,a.y):n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"h":for(v=i(m),g=0,b=v.length;g<b;g++)a.x+=v[g],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"v":for(v=i(m),g=0,b=v.length;g<b;g++)a.y+=v[g],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"l":for(v=i(m),g=0,b=v.length;g<b;g+=2)a.x+=v[g+0],a.y+=v[g+1],o.x=a.x,o.y=a.y,n.lineTo(a.x,a.y),0===g&&!0===l&&c.copy(a);break;case"c":for(v=i(m),g=0,b=v.length;g<b;g+=6)n.bezierCurveTo(a.x+v[g+0],a.y+v[g+1],a.x+v[g+2],a.y+v[g+3],a.x+v[g+4],a.y+v[g+5]),o.x=a.x+v[g+2],o.y=a.y+v[g+3],a.x+=v[g+4],a.y+=v[g+5],0===g&&!0===l&&c.copy(a);break;case"s":for(v=i(m),g=0,b=v.length;g<b;g+=4)n.bezierCurveTo(r(a.x,o.x),r(a.y,o.y),a.x+v[g+0],a.y+v[g+1],a.x+v[g+2],a.y+v[g+3]),o.x=a.x+v[g+0],o.y=a.y+v[g+1],a.x+=v[g+2],a.y+=v[g+3],0===g&&!0===l&&c.copy(a);break;case"q":for(v=i(m),g=0,b=v.length;g<b;g+=4)n.quadraticCurveTo(a.x+v[g+0],a.y+v[g+1],a.x+v[g+2],a.y+v[g+3]),o.x=a.x+v[g+0],o.y=a.y+v[g+1],a.x+=v[g+2],a.y+=v[g+3],0===g&&!0===l&&c.copy(a);break;case"t":for(v=i(m),g=0,b=v.length;g<b;g+=2){y=r(a.x,o.x),w=r(a.y,o.y);n.quadraticCurveTo(y,w,a.x+v[g+0],a.y+v[g+1]),o.x=y,o.y=w,a.x=a.x+v[g+0],a.y=a.y+v[g+1],0===g&&!0===l&&c.copy(a)}break;case"a":for(v=i(m),g=0,b=v.length;g<b;g+=7){k=a.clone();a.x+=v[g+5],a.y+=v[g+6],o.x=a.x,o.y=a.y,t(n,v[g],v[g+1],v[g+2],v[g+3],v[g+4],k,a),0===g&&!0===l&&c.copy(a)}break;case"Z":case"z":n.currentPath.autoClose=!0,n.currentPath.curves.length>0&&(a.copy(c),n.currentPath.currentPoint.copy(a),s=!0);break;default:console.warn(p)}l=!1}return n}(n));break;case"rect":g=a(n,g),y=function(e){var t=parseFloat(e.getAttribute("x")||0),n=parseFloat(e.getAttribute("y")||0),a=parseFloat(e.getAttribute("rx")||0),r=parseFloat(e.getAttribute("ry")||0),i=parseFloat(e.getAttribute("width")),o=parseFloat(e.getAttribute("height")),c=new j.z;c.moveTo(t+2*a,n),c.lineTo(t+i-2*a,n),(0!==a||0!==r)&&c.bezierCurveTo(t+i,n,t+i,n,t+i,n+2*r);c.lineTo(t+i,n+o-2*r),(0!==a||0!==r)&&c.bezierCurveTo(t+i,n+o,t+i,n+o,t+i-2*a,n+o);c.lineTo(t+2*a,n+o),(0!==a||0!==r)&&c.bezierCurveTo(t,n+o,t,n+o,t,n+o-2*r);c.lineTo(t,n+2*r),(0!==a||0!==r)&&c.bezierCurveTo(t,n,t,n,t+2*a,n);return c}(n);break;case"polygon":g=a(n,g),y=function(e){function t(e,t,r){var i=parseFloat(t),o=parseFloat(r);0===a?n.moveTo(i,o):n.lineTo(i,o),a++}var n=new j.z,a=0;return e.getAttribute("points").replace(/(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g,t),n.currentPath.autoClose=!0,n}(n);break;case"polyline":g=a(n,g),y=function(e){function t(e,t,r){var i=parseFloat(t),o=parseFloat(r);0===a?n.moveTo(i,o):n.lineTo(i,o),a++}var n=new j.z,a=0;return e.getAttribute("points").replace(/(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g,t),n.currentPath.autoClose=!1,n}(n);break;case"circle":g=a(n,g),y=function(e){var t=parseFloat(e.getAttribute("cx")),n=parseFloat(e.getAttribute("cy")),a=parseFloat(e.getAttribute("r")),r=new j.u;r.absarc(t,n,a,0,2*Math.PI);var i=new j.z;return i.subPaths.push(r),i}(n);break;case"ellipse":g=a(n,g),y=function(e){var t=parseFloat(e.getAttribute("cx")),n=parseFloat(e.getAttribute("cy")),a=parseFloat(e.getAttribute("rx")),r=parseFloat(e.getAttribute("ry")),i=new j.u;i.absellipse(t,n,a,r,0,2*Math.PI);var o=new j.z;return o.subPaths.push(i),o}(n);break;case"line":g=a(n,g),y=function(e){var t=parseFloat(e.getAttribute("x1")),n=parseFloat(e.getAttribute("y1")),a=parseFloat(e.getAttribute("x2")),r=parseFloat(e.getAttribute("y2")),i=new j.z;return i.moveTo(t,n),i.lineTo(a,r),i.currentPath.autoClose=!1,i}(n);break;case"image":y=function(e){var t=parseFloat(e.getAttribute("width")),n=parseFloat(e.getAttribute("height")),a=new j.z;return a.moveTo(0,0),a.lineTo(t,0),a.lineTo(t,n),a.lineTo(0,n),a.lineTo(0,0),a}(n);break;default:console.log(n)}y&&(void 0!==g.fill&&"none"!==g.fill&&y.color.setStyle(g.fill),function(e,t){function n(e){m.set(e.x,e.y,1).applyMatrix3(t),e.set(m.x,m.y)}for(var a=function(e){return 0!==e.elements[1]||0!==e.elements[3]}(t),r=e.subPaths,i=0,s=r.length;i<s;i++)for(var l=r[i].curves,u=0;u<l.length;u++){var h=l[u];h.isLineCurve?(n(h.v1),n(h.v2)):h.isCubicBezierCurve?(n(h.v0),n(h.v1),n(h.v2),n(h.v3)):h.isQuadraticBezierCurve?(n(h.v0),n(h.v1),n(h.v2)):h.isEllipseCurve&&(
1a&&console.warn("SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented."),f.set(h.aX,h.aY),n(f),h.aX=f.x,h.aY=f.y,h.xRadius*=o(t),h.yRadius*=c(t))}}(y,v),s.push(y),y.userData={node:n,style:g});for(var w=n.childNodes,k=0;k<w.length;k++)e(w[k],g);b&&(l.pop(),l.length>0?v.copy(l[l.length-1]):v.identity())}}(g.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:s,xml:g.documentElement}}},{key:"getStrokeStyle",value:function(e,t,n,a,r,i){return n=void 0!==n?n:1,{strokeColor:t=void 0!==t?t:"#000",strokeWidth:e=void 0!==e?e:1,strokeLineJoin:a=void 0!==a?a:"miter",strokeLineCap:r=void 0!==r?r:"butt",strokeMiterLimit:i=void 0!==i?i:4}}},{key:"pointsToStroke",value:function(e,t,n,a){var r=[],i=[],o=[];if(0===this.pointsToStrokeWithBuffers(e,t,n,a,r,i,o))return null;var c=new j.d;return c.setAttribute("position",new j.j(r,3)),c.setAttribute("normal",new j.j(i,3)),c.setAttribute("uv",new j.j(o,2)),c}},{key:"pointsToStrokeWithBuffers",value:function(){var e=new j.E,t=new j.E,n=new j.E,a=new j.E,r=new j.E,i=new j.E,o=new j.E,c=new j.E,s=new j.E,l=new j.E,u=new j.E,h=new j.E,d=new j.E,p=new j.E,f=new j.E,m=new j.E,v=new j.E;return function(g,b,y,w,k,E,x,L){y=void 0!==y?y:12,w=void 0!==w?w:.001,L=void 0!==L?L:0;var S=(g=function(e){for(var t=!1,n=1,a=e.length-1;n<a;n++)if(e[n].distanceTo(e[n+1])<w){t=!0;break}if(!t)return e;var r=[];r.push(e[0]);for(n=1,a=e.length-1;n<a;n++)e[n].distanceTo(e[n+1])>=w&&r.push(e[n]);return r.push(e[e.length-1]),r}(g)).length;if(S<2)return 0;var O,j,C,M,T,P=g[0].equals(g[S-1]),N=g[0],A=b.strokeWidth/2,R=1/(S-1),F=0,B=!1,D=0,I=3*L,z=2*L;Q(g[0],g[1],e).multiplyScalar(A),c.copy(g[0]).sub(e),s.copy(g[0]).add(e),l.copy(c),u.copy(s);for(var J=1;J<S;J++){O=g[J],j=J===S-1?P?g[1]:void 0:g[J+1];var U=e;Q(N,O,U),n.copy(U).multiplyScalar(A),h.copy(O).sub(n),d.copy(O).add(n);var W=F+R;if(C=!1,void 0!==j){Q(O,j,t),n.copy(t).multiplyScalar(A),p.copy(O).sub(n),f.copy(O).add(n),M=!0,n.subVectors(j,N),U.dot(n)<0&&(M=!1),1===J&&(B=M),n.subVectors(j,O),n.normalize();var V=Math.abs(U.dot(n));if(0!==V){var H=A/V;n.multiplyScalar(-H),a.subVectors(O,N),r.copy(a).setLength(H).add(n),m.copy(r).negate();var _=r.length(),Y=a.length();a.divideScalar(Y),i.subVectors(j,O);var G=i.length();switch(i.divideScalar(G),a.dot(m)<Y&&i.dot(m)<G&&(C=!0),v.copy(r).add(O),m.add(O),T=!1,C?M?(f.copy(m),d.copy(m)):(p.copy(m),h.copy(m)):ee(),b.strokeLineJoin){case"bevel":te(M,C,W);break;case"round":ne(M,C),M?$(O,h,p,W,0):$(O,f,d,W,1);break;case"miter":case"miter-clip":default:var X=A*b.strokeMiterLimit/_;if(X<1){if("miter-clip"!==b.strokeLineJoin){te(M,C,W);break}ne(M,C),M?(i.subVectors(v,h).multiplyScalar(X).add(h),o.subVectors(v,p).multiplyScalar(X).add(p),Z(h,W,0),Z(i,W,0),Z(O,W,.5),Z(O,W,.5),Z(i,W,0),Z(o,W,0),Z(O,W,.5),Z(o,W,0),Z(p,W,0)):(i.subVectors(v,d).multiplyScalar(X).add(d),o.subVectors(v,f).multiplyScalar(X).add(f),Z(d,W,1),Z(i,W,1),Z(O,W,.5),Z(O,W,.5),Z(i,W,1),Z(o,W,1),Z(O,W,.5),Z(o,W,1),Z(f,W,1))}else C?(M?(Z(s,F,1),Z(c,F,0),Z(v,W,0),Z(s,F,1),Z(v,W,0),Z(m,W,1)):(Z(s,F,1),Z(c,F,0),Z(v,W,1),Z(c,F,0),Z(m,W,0),Z(v,W,1)),M?p.copy(v):f.copy(v)):M?(Z(h,W,0),Z(v,W,0),Z(O,W,.5),Z(O,W,.5),Z(v,W,0),Z(p,W,0)):(Z(d,W,1),Z(v,W,1),Z(O,W,.5),Z(O,W,.5),Z(v,W,1),Z(f,W,1)),T=!0}}else ee()}else ee();P||J!==S-1||ae(g[0],l,u,M,!0,F),F=W,N=O,c.copy(p),s.copy(f)}if(P){if(C&&k){var q=v,K=m;B!==M&&(q=m,K=v),M?(K.toArray(k,0),K.toArray(k,9),T&&q.toArray(k,3)):(K.toArray(k,3),K.toArray(k,9),T&&q.toArray(k,0))}}else ae(O,h,d,M,!1,W);return D;function Q(e,t,n){return n.subVectors(t,e),n.set(-n.y,n.x).normalize()}function Z(e,t,n){k&&(k[I]=e.x,k[I+1]=e.y,k[I+2]=0,E&&(E[I]=0,E[I+1]=0,E[I+2]=1),I+=3,x&&(x[z]=t,x[z+1]=n,z+=2)),D+=3}function $(r,i,o,c,s){e.copy(i).sub(r).normalize(),t.copy(o).sub(r).normalize();
1var l=Math.PI,u=e.dot(t);Math.abs(u)<1&&(l=Math.abs(Math.acos(u))),l/=y,n.copy(i);for(var h=0,d=y-1;h<d;h++)a.copy(n).rotateAround(r,l),Z(n,c,s),Z(a,c,s),Z(r,c,.5),n.copy(a);Z(a,c,s),Z(o,c,s),Z(r,c,.5)}function ee(){Z(s,F,1),Z(c,F,0),Z(h,W,0),Z(s,F,1),Z(h,W,1),Z(d,W,0)}function te(e,t,n){t?e?(Z(s,F,1),Z(c,F,0),Z(h,W,0),Z(s,F,1),Z(h,W,0),Z(m,W,1),Z(h,n,0),Z(p,n,0),Z(m,n,.5)):(Z(s,F,1),Z(c,F,0),Z(d,W,1),Z(c,F,0),Z(m,W,0),Z(d,W,1),Z(d,n,1),Z(f,n,0),Z(m,n,.5)):e?(Z(h,n,0),Z(p,n,0),Z(O,n,.5)):(Z(d,n,1),Z(f,n,0),Z(O,n,.5))}function ne(e,t){t&&(e?(Z(s,F,1),Z(c,F,0),Z(h,W,0),Z(s,F,1),Z(h,W,0),Z(m,W,1),Z(h,F,0),Z(O,W,.5),Z(m,W,1),Z(O,W,.5),Z(p,F,0),Z(m,W,1)):(Z(s,F,1),Z(c,F,0),Z(d,W,1),Z(c,F,0),Z(m,W,0),Z(d,W,1),Z(d,F,1),Z(m,W,0),Z(O,W,.5),Z(O,W,.5),Z(m,W,0),Z(f,F,1)))}function ae(r,i,o,c,s,l){switch(b.strokeLineCap){case"round":s?$(r,o,i,l,.5):$(r,i,o,l,.5);break;case"square":if(s)e.subVectors(i,r),t.set(e.y,-e.x),n.addVectors(e,t).add(r),a.subVectors(t,e).add(r),c?(n.toArray(k,3),a.toArray(k,0),a.toArray(k,9)):(n.toArray(k,3),n.toArray(k,9),a.toArray(k,0));else{e.subVectors(o,r),t.set(e.y,-e.x),n.addVectors(e,t).add(r),a.subVectors(t,e).add(r);var u=k.length;c?(n.toArray(k,u-3),a.toArray(k,u-6),a.toArray(k,u-12)):(n.toArray(k,u-6),a.toArray(k,u-3),a.toArray(k,u-12))}}}}}}]),e}(),Q=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"importSVG",value:function(e){var t=new K;return new Promise((function(n,a){t.load(e,(function(e){n(e.paths)}))}))}},{key:"ellipseCurveToBezier",value:function(e){return[new z(new V(e.aX,e.aY-e.yRadius),new V(e.aX+e.xRadius/2,e.aY-e.yRadius),new V(e.aX+e.xRadius,e.aY-e.yRadius/2),new V(e.aX+e.xRadius,e.aY)),new z(new V(e.aX+e.xRadius,e.aY),new V(e.aX+e.xRadius,e.aY+e.yRadius/2),new V(e.aX+e.xRadius/2,e.aY+e.yRadius),new V(e.aX,e.aY+e.yRadius)),new z(new V(e.aX,e.aY+e.yRadius),new V(e.aX-e.xRadius/2,e.aY+e.yRadius),new V(e.aX-e.xRadius,e.aY+e.yRadius/2),new V(e.aX-e.xRadius,e.aY)),new z(new V(e.aX-e.xRadius,e.aY),new V(e.aX-e.xRadius,e.aY-e.yRadius/2),new V(e.aX-e.xRadius/2,e.aY-e.yRadius),new V(e.aX,e.aY-e.yRadius))]}},{key:"findFirstItemWithPrefix",value:function(e,t){for(var n=e.getItems({recursive:!0}),a=0;a<n.length;a++)if(n[a].name&&n[a].name.startsWith(t))return n[a];return null}},{key:"isLineCurve",value:function(e){return"LineCurve"===e.type}},{key:"isCubicBezierCurve",value:function(e){return"CubicBezierCurve"===e.type}},{key:"isEllipseCurve",value:function(e){return"EllipseCurve"===e.type}},{key:"getPathCenter",value:function(e){var t=new A(e.toShapes()[0]);t.computeBoundingBox();var n=t.boundingBox.getCenter(new V);return new V(n.x,n.y)}}]),e}();Q.getImgUrlFromSVG=function(e){var t=new Blob([e],{type:"image/svg+xml"});return URL.createObjectURL(t)};var Z=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"lerp",value:function(e,t,n){return e+(t-e)*n}},{key:"random",value:function(e,t){return e+Math.random()*(t-e)}},{key:"getTransformFunc",value:function(e,t,n){var a=(new V).subVectors(t,e),r=a.length();a.normalize();var i=a.clone().rotateAround(new V(0,0),Math.PI/2),o=(new V).subVectors(n,e),c=o.dot(a),s=o.dot(i);return function(e,t){var n=(new V).subVectors(t,e),a=n.length();if(0===a)return e.clone();var i=a/r;n.normalize();var o=n.clone().rotateAround(new V(0,0),Math.PI/2);return e.clone().addScaledVector(n,c*i).addScaledVector(o,s*i)}}},{key:"getClosestPointOnSegment",value:function(e,t,n){var a=(new V).subVectors(t,e),r=n.clone().sub(e).dot(a)/a.dot(a);return r>=1?t.clone():r<=0?e.clone():e.clone().addScaledVector(a,r)}},{key:"isCollinear",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.01,r=t.clone().sub(e),i=t.clone().sub(n),o=!1;if(r&&i){var c=r.clone().normalize(),s=i.clone().normalize();o=Math.abs(c.dot(s))>1-a}return o}},{key:"gaussian",value:function(e,t){for(var n=0,a=0;0===n;)n=Math.random();for(;0===a;)a=Math.random();return Math.sqrt(-2*Math.log(n))*Math.cos(2*Math.PI*a)*t+e}},{key:"clamp",value:function(e,t,n){return Math.min(Math.max(e,t),n)}},{key:"selectSegments",value:function(t,n,a,r){for(var i=[],o=0,c=0;c<n;c++){var s=e.gaussian(1,r);i.push(s),o+=s}for(var l=0;l<i.length;l++)i[l]=i[l]/o;for(var u=0,h=[],d=0;d<n;
1d++){var p=u,f=u+i[d]*e.clamp(e.gaussian(1,a)*t,0,1);h.push([p,f]),u+=i[d]}return h}},{key:"isLeft",value:function(e,t,n){return(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)>0}}]),e}(),$=["leftAnkle","leftKnee","leftHip","leftWrist","leftElbow","leftShoulder","rightAnkle","rightKnee","rightHip","rightWrist","rightElbow","rightShoulder","leftEar","rightEar"],ee={topMid:10,rightTop0:67,rightTop1:54,leftTop0:297,leftTop1:284,rightJaw0:21,rightJaw1:162,rightJaw2:127,rightJaw3:234,rightJaw4:132,rightJaw5:172,rightJaw6:150,rightJaw7:176,jawMid:152,leftJaw7:400,leftJaw6:379,leftJaw5:397,leftJaw4:361,leftJaw3:454,leftJaw2:356,leftJaw1:389,leftJaw0:251,rightBrow0:46,rightBrow1:53,rightBrow2:52,rightBrow3:65,rightBrow4:55,leftBrow4:285,leftBrow3:295,leftBrow2:282,leftBrow1:283,leftBrow0:276,nose0:6,nose1:197,nose2:195,nose3:5,rightNose0:48,rightNose1:220,nose4:4,leftNose1:440,leftNose0:278,rightEye0:33,rightEye1:160,rightEye2:158,rightEye3:133,rightEye4:153,rightEye5:144,leftEye3:362,leftEye2:385,leftEye1:387,leftEye0:263,leftEye5:373,leftEye4:380,rightMouthCorner:61,rightUpperLipTop0:40,rightUpperLipTop1:37,upperLipTopMid:0,leftUpperLipTop1:267,leftUpperLipTop0:270,leftMouthCorner:291,leftLowerLipBottom0:321,leftLowerLipBottom1:314,lowerLipBottomMid:17,rightLowerLipBottom1:84,rightLowerLipBottom0:91,rightMiddleLip:78,rightUpperLipBottom1:81,upperLipBottomMid:13,leftUpperLipBottom1:311,leftMiddleLip:308,leftLowerLipTop0:402,lowerLipTopMid:14,rightLowerLipTop0:178},te=["topMid","rightTop0","rightTop1","leftTop0","leftTop1","rightJaw0","rightJaw1","rightJaw2","rightJaw3","rightJaw4","rightJaw5","rightJaw6","rightJaw7","jawMid","leftJaw7","leftJaw6","leftJaw5","leftJaw4","leftJaw3","leftJaw2","leftJaw1","leftJaw0","rightBrow0","rightBrow1","rightBrow2","rightBrow3","rightBrow4","leftBrow4","leftBrow3","leftBrow2","leftBrow1","leftBrow0","nose0","nose1","nose2","nose3","rightNose0","rightNose1","nose4","leftNose1","leftNose0","rightEye0","rightEye1","rightEye2","rightEye3","rightEye4","rightEye5","leftEye3","leftEye2","leftEye1","leftEye0","leftEye5","leftEye4","rightMouthCorner","rightUpperLipTop0","rightUpperLipTop1","upperLipTopMid","leftUpperLipTop1","leftUpperLipTop0","leftMouthCorner","leftLowerLipBottom0","leftLowerLipBottom1","lowerLipBottomMid","rightLowerLipBottom1","rightLowerLipBottom0","rightMiddleLip","rightUpperLipBottom1","upperLipBottomMid","leftUpperLipBottom1","leftMiddleLip","leftLowerLipTop0","lowerLipTopMid","rightLowerLipTop0"],ne={shoulderMid:{leftShoulder:.5,rightShoulder:.5},hipMid:{leftHip:.5,rightHip:.5}},ae=$.concat(te),re=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,[{key:"set",value:function(e,t,n,a){return this.name="".concat(e.name,"-").concat(t.name),this.kp0=e,this.kp1=t,this.skeleton=n,this.type=a,this}},{key:"getPointTransform",value:function(e){var t=(new V).subVectors(this.kp1.position,this.kp0.position).normalize(),n=t.clone().rotateAround(new V(0,0),Math.PI/2),a=Z.getClosestPointOnSegment(this.kp0.position,this.kp1.position,e),r=(new V).subVectors(e,a),i=r.dot(t),o=r.dot(n),c=this.kp0.position.distanceTo(this.kp1.position),s=a.distanceTo(this.kp0.position)/c;return{transform:new V(i,o),anchorPerc:s}}},{key:"transform",value:function(e){if(this.kp1.currentPosition&&this.kp0.currentPosition){var t="face"===this.type?this.skeleton.currentFaceScale:this.skeleton.currentBodyScale,n=(new V).subVectors(this.kp1.currentPosition,this.kp0.currentPosition).normalize(),a=n.clone().rotateAround(new V,Math.PI/2);return(new V).addScaledVector(this.kp0.currentPosition,1-e.anchorPerc).addScaledVector(this.kp1.currentPosition,e.anchorPerc).addScaledVector(n,e.transform.x*t).addScaledVector(a,e.transform.y*t)}}}]),e}();function ie(e,t){return new V(e.positions[2*t],e.positions[2*t+1])}var oe=function(){function e(t){var n=this;Object(m.a)(this,e);var a=function(e,t){var n={};return e.filter((function(e){return e.userData.node.parentNode&&e.userData.node.parentNode.id.startsWith("skeleton")})).forEach((function(e){var a=t.find((function(t){return e.userData.node.id.startsWith(t)}));if(a){var r=Q.getPathCenter(e);n[a]={position:new V(r.x,r.y),name:a}}})),n}(t,$.concat(te));this.svgPaths=e.findSkeletonPaths(t),this.svgBoundingBox=e.getBoundingBoxFromPaths(this.svgPaths);var r=a.leftAnkle,i=a.leftKnee,o=a.leftHip,c=a.leftWrist,s=a.leftElbow,l=a.leftShoulder,u=a.rightAnkle,h=a.rightKnee,d=a.rightHip,p=a.rightWrist,f=a.rightElbow,v=a.rightShoulder,g=a.topMid,b=a.rightTop0,y=a.rightTop1,w=a.leftTop0,k=a.leftTop1,E=a.leftJaw2,x=a.leftJaw3,L=a.leftJaw4,S=a.leftJaw5,O=a.leftJaw6,j=a.leftJaw7,C=a.jawMid,M=a.rightJaw2,T=a.rightJaw3,P=a.rightJaw4,N=a.rightJaw5,A=a.rightJaw6,R=a.rightJaw7,F=a.nose0,B=a.nose1,D=a.nose2,I=a.nose3,z=a.nose4,J=a.leftNose0,U=a.leftNose1,W=a.rightNose0,H=a.rightNose1,_=a.leftEye0,Y=a.leftEye1,G=a.leftEye2,X=a.leftEye3,q=a.leftEye4,K=a.leftEye5,ee=a.rightEye0,ne=a.rightEye1,ae=a.rightEye2,ie=a.rightEye3,oe=a.rightEye4,ce=a.rightEye5,se=a.leftBrow0,le=a.leftBrow1,ue=a.leftBrow2,he=a.leftBrow3,de=a.leftBrow4,pe=a.rightBrow0,fe=a.rightBrow1,me=a.rightBrow2,ve=a.rightBrow3,ge=a.rightBrow4,be=a.leftMouthCorner,ye=a.leftUpperLipTop0,we=a.leftUpperLipTop1,ke=
1a.upperLipTopMid,Ee=a.rightMouthCorner,xe=a.rightUpperLipTop0,Le=a.rightUpperLipTop1,Se=a.rightMiddleLip,Oe=a.rightUpperLipBottom1,je=a.leftMiddleLip,Ce=a.leftUpperLipBottom1,Me=a.upperLipBottomMid,Te=a.rightLowerLipTop0,Pe=a.leftLowerLipTop0,Ne=a.lowerLipTopMid,Ae=a.rightLowerLipBottom0,Re=a.rightLowerLipBottom1,Fe=a.leftLowerLipBottom0,Be=a.leftLowerLipBottom1,De=a.lowerLipBottomMid,Ie={position:l.position.clone().multiplyScalar(.5).add(v.position.clone().multiplyScalar(.5)),name:"shoulderMid"};this.bLeftShoulderRightShoulder=(new re).set(l,v,this,"body"),this.bRightShoulderRightHip=(new re).set(v,d,this,"body"),this.bLeftHipRightHip=(new re).set(o,d,this,"body"),this.bLeftShoulderLeftHip=(new re).set(l,o,this,"body"),this.bLeftShoulderLeftElbow=(new re).set(l,s,this,"body"),this.bLeftElbowLeftWrist=(new re).set(s,c,this,"body"),this.bRightShoulderRightElbow=(new re).set(v,f,this,"body"),this.bRightElbowRightWrist=(new re).set(f,p,this,"body"),this.bLeftHipLeftKnee=(new re).set(o,i,this,"body"),this.bLeftKneeLeftAnkle=(new re).set(i,r,this,"body"),this.bRightHipRightKnee=(new re).set(d,h,this,"body"),this.bRightKneeRightAnkle=(new re).set(h,u,this,"body"),this.bTopMidRightTop0=(new re).set(g,b,this,"face"),this.bTopMidLeftTop0=(new re).set(g,w,this,"face"),this.bLeftTop0LeftTop1=(new re).set(w,k,this,"face"),this.bLeftTop1LeftJaw2=(new re).set(k,E,this,"face"),this.bLeftJaw2LeftJaw3=(new re).set(E,x,this,"face"),this.bLeftJaw3LeftJaw4=(new re).set(x,L,this,"face"),this.bLeftJaw4LeftJaw5=(new re).set(L,S,this,"face"),this.bLeftJaw5LeftJaw6=(new re).set(S,O,this,"face"),this.bLeftJaw6LeftJaw7=(new re).set(O,j,this,"face"),this.bLeftJaw7JawMid=(new re).set(j,C,this,"face"),this.bRightTop0RightTop1=(new re).set(b,y,this,"face"),this.bRightTop1RightJaw2=(new re).set(y,M,this,"face"),this.bRightJaw2RightJaw3=(new re).set(M,T,this,"face"),this.bRightJaw3RightJaw4=(new re).set(T,P,this,"face"),this.bRightJaw4RightJaw5=(new re).set(P,N,this,"face"),this.bRightJaw5RightJaw6=(new re).set(N,A,this,"face"),this.bRightJaw6RightJaw7=(new re).set(A,R,this,"face"),this.bRightJaw7JawMid=(new re).set(R,C,this,"face"),this.bLeftEye0LeftEye1=(new re).set(_,Y,this,"face"),this.bLeftEye1LeftEye2=(new re).set(Y,G,this,"face"),this.bLeftEye2LeftEye3=(new re).set(G,X,this,"face"),this.bLeftEye3LeftEye4=(new re).set(X,q,this,"face"),this.bLeftEye4LeftEye5=(new re).set(q,K,this,"face"),this.bLeftEye5LeftEye0=(new re).set(K,_,this,"face"),this.bRightEye0RightEye1=(new re).set(ee,ne,this,"face"),this.bRightEye1RightEye2=(new re).set(ne,ae,this,"face"),this.bRightEye2RightEye3=(new re).set(ae,ie,this,"face"),this.bRightEye3RightEye4=(new re).set(ie,oe,this,"face"),this.bRightEye4RightEye5=(new re).set(oe,ce,this,"face"),this.bRightEye5RightEye0=(new re).set(ce,ee,this,"face"),this.bLeftBrow0LeftBrow1=(new re).set(se,le,this,"face"),this.bLeftBrow1LeftBrow2=(new re).set(le,ue,this,"face"),this.bLeftBrow2LeftBrow3=(new re).set(ue,he,this,"face"),this.bLeftBrow3LeftBrow4=(new re).set(he,de,this,"face"),this.bRightBrow0RightBrow1=(new re).set(pe,fe,this,"face"),this.bRightBrow1RightBrow2=(new re).set(fe,me,this,"face"),this.bRightBrow2RightBrow3=(new re).set(me,ve,this,"face"),this.bRightBrow3RightBrow4=(new re).set(ve,ge,this,"face"),this.bNose0Nose1=(new re).set(F,B,this,"face"),this.bNose1Nose2=(new re).set(B,D,this,"face"),this.bNose2Nose3=(new re).set(D,I,this,"face"),this.bNose3Nose4=(new re).set(I,z,this,"face"),this.bLeftNose0LeftNose1=(new re).set(J,U,this,"face"),this.bLeftNose1Nose4=(new re).set(U,z,this,"face"),this.bRightNose0RightNose1=(new re).set(W,H,this,"face"),this.bRightNose1Nose4=(new re).set(H,z,this,"face"),this.bLeftMouthCornerLeftUpperLipTop0=(new re).set(be,ye,this,"face"),this.bLeftUpperLipTop0LeftUpperLipTop1=(new re).set(ye,we,this,"face"),this.bLeftUpperLipTop1UpperLipTopMid=(new re).set(we,ke,this,"face"),this.bRigthMouthCornerRigthUpperLipTop0=(new re).set(Ee,xe,this,"face"),this.bRigthUpperLipTop0RigthUpperLipTop1=(new re).set(xe,Le,this,"face"),this.bRigthUpperLipTop1UpperLipTopMid=(new re).set(Le,ke,this,"face"),this.bLeftMouthCornerLeftMiddleLip=(new re).set(be,je,this,"face"),this.bLeftMiddleLipLeftUpperLipB
1ottom1=(new re).set(je,Ce,this,"face"),this.bLeftUpperLipBottom1UpperLipBottomMid=(new re).set(Ce,Me,this,"face"),this.bRightMouthCornerRightMiddleLip=(new re).set(Ee,Se,this,"face"),this.bRightMiddleLipRightUpperLipBottom1=(new re).set(Se,Oe,this,"face"),this.bRightUpperLipBottom1UpperLipBototmMid=(new re).set(Oe,Me,this,"face"),this.bLeftMiddleLipLeftLowerLipTop0=(new re).set(je,Pe,this,"face"),this.bLeftLowerLipTop0LowerLipTopMid=(new re).set(Pe,Ne,this,"face"),this.bRightMiddleLipRightLowerLipTop0=(new re).set(Se,Te,this,"face"),this.bRightLowerLipTop0LowerLipTopMid=(new re).set(Te,Ne,this,"face"),this.bLeftMouthCornerLeftLowerLipBottom0=(new re).set(be,Fe,this,"face"),this.bLeftLowerLipBottom0LeftLowerLipBottom1=(new re).set(Fe,Be,this,"face"),this.bLeftLowerLipBottom1LowerLipBottomMid=(new re).set(Be,De,this,"face"),this.bRightMouthCornerRightLowerLipBottom0=(new re).set(Ee,Ae,this,"face"),this.bRightLowerLipBottom0RightLowerLipBottom1=(new re).set(Ae,Re,this,"face"),this.bRightLowerLipBottom1LowerLipBottomMid=(new re).set(Re,De,this,"face"),this.bNose4ShoulderMid=(new re).set(z,Ie,this,"body"),this.faceBones=[this.bTopMidRightTop0,this.bRightTop0RightTop1,this.bTopMidLeftTop0,this.bLeftTop0LeftTop1,this.bLeftTop1LeftJaw2,this.bLeftJaw2LeftJaw3,this.bLeftJaw3LeftJaw4,this.bLeftJaw4LeftJaw5,this.bLeftJaw5LeftJaw6,this.bLeftJaw6LeftJaw7,this.bLeftJaw7JawMid,this.bRightTop1RightJaw2,this.bRightJaw2RightJaw3,this.bRightJaw3RightJaw4,this.bRightJaw4RightJaw5,this.bRightJaw5RightJaw6,this.bRightJaw6RightJaw7,this.bRightJaw7JawMid,this.bLeftEye0LeftEye1,this.bLeftEye1LeftEye2,this.bLeftEye2LeftEye3,this.bLeftEye3LeftEye4,this.bLeftEye4LeftEye5,this.bLeftEye5LeftEye0,this.bRightEye0RightEye1,this.bRightEye1RightEye2,this.bRightEye2RightEye3,this.bRightEye3RightEye4,this.bRightEye4RightEye5,this.bRightEye5RightEye0,this.bLeftBrow0LeftBrow1,this.bLeftBrow1LeftBrow2,this.bLeftBrow2LeftBrow3,this.bLeftBrow3LeftBrow4,this.bRightBrow0RightBrow1,this.bRightBrow1RightBrow2,this.bRightBrow2RightBrow3,this.bRightBrow3RightBrow4,this.bNose0Nose1,this.bNose1Nose2,this.bNose2Nose3,this.bNose3Nose4,this.bLeftNose0LeftNose1,this.bLeftNose1Nose4,this.bRightNose0RightNose1,this.bRightNose1Nose4,this.bLeftMouthCornerLeftUpperLipTop0,this.bLeftUpperLipTop0LeftUpperLipTop1,this.bLeftUpperLipTop1UpperLipTopMid,this.bRigthMouthCornerRigthUpperLipTop0,this.bRigthUpperLipTop0RigthUpperLipTop1,this.bRigthUpperLipTop1UpperLipTopMid,this.bLeftMouthCornerLeftMiddleLip,this.bLeftMiddleLipLeftUpperLipBottom1,this.bLeftUpperLipBottom1UpperLipBottomMid,this.bRightMouthCornerRightMiddleLip,this.bRightMiddleLipRightUpperLipBottom1,this.bRightUpperLipBottom1UpperLipBototmMid,this.bLeftMiddleLipLeftLowerLipTop0,this.bLeftLowerLipTop0LowerLipTopMid,this.bRightMiddleLipRightLowerLipTop0,this.bRightLowerLipTop0LowerLipTopMid,this.bLeftMouthCornerLeftLowerLipBottom0,this.bLeftLowerLipBottom0LeftLowerLipBottom1,this.bLeftLowerLipBottom1LowerLipBottomMid,this.bRightMouthCornerRightLowerLipBottom0,this.bRightLowerLipBottom0RightLowerLipBottom1,this.bRightLowerLipBottom1LowerLipBottomMid],this.bodyBones=[this.bLeftShoulderRightShoulder,this.bRightShoulderRightHip,this.bLeftHipRightHip,this.bLeftShoulderLeftHip,this.bLeftShoulderLeftElbow,this.bLeftElbowLeftWrist,this.bRightShoulderRightElbow,this.bRightElbowRightWrist,this.bLeftHipLeftKnee,this.bLeftKneeLeftAnkle,this.bRightHipRightKnee,this.bRightKneeRightAnkle,this.bNose4ShoulderMid],this.bones=this.faceBones.concat(this.bodyBones),this.secondaryBones=[],this.parts={},this.bodyLen0=this.getTotalBoneLength(this.bodyBones),this.faceLen0=this.getTotalBoneLength(this.faceBones),this.boneGroups={torso:[this.bNose4ShoulderMid,this.bLeftShoulderRightShoulder,this.bRightShoulderRightHip,this.bLeftHipRightHip,this.bLeftShoulderLeftHip,this.bLeftHipLeftKnee,this.bRightHipRightKnee,this.bLeftShoulderLeftElbow,this.bRightShoulderRightElbow],leftLeg:[this.bLeftHipLeftKnee,this.bLeftKneeLeftAnkle],rightLeg:[this.bRightHipRightKnee,this.bRightKneeRightAnkle],leftArm:[this.bLeftShoulderLeftElbow,this.bLeftElbowLeftWrist,this.bLeftShoulderLeftHip,this.bLeftShoulderRightShoulder],rightArm:[this.bRightElbowRightWrist,this.bRightShoulderRightElbow,this.bRightShoulderRightHip,this.bLeftShoulderRightShoulder],face:this.faceBones}
1,this.faceBones.forEach((function(e){[e.kp0,e.kp1].forEach((function(e){e.baseTransFunc=Z.getTransformFunc(n.bLeftJaw2LeftJaw3.kp0.position,n.bRightJaw2RightJaw3.kp0.position,e.position)}))}))}return Object(v.a)(e,[{key:"reset",value:function(){this.parts=[]}},{key:"update",value:function(e,t){var n=this;if(!e||e.score<.1)this.isValid=!1;else{var a=this.updatePoseParts(e),r=this.updateFaceParts(t);if(this.isValid=a&&r,this.isValid){this.updateSecondaryParts(),this.bones.forEach((function(e){var t=n.parts[e.kp0.name],a=n.parts[e.kp1.name];e.kp0.currentPosition=t.position,e.kp1.currentPosition=a.position,e.score=(t.score+a.score)/2}));var i=this.bNose3Nose4.kp1.currentPosition;this.secondaryBones.forEach((function(e){e.kp0.currentPosition=e.kp0.transformFunc(e.parent.kp0.currentPosition,i),e.kp1.currentPosition=e.kp1.transformFunc(e.parent.kp1.currentPosition,i),e.score=e.parent.score})),this.currentFaceScale=this.getTotalBoneLength(this.faceBones)/this.faceLen0,this.currentBodyScale=this.getTotalBoneLength(this.bodyBones)/this.bodyLen0,this.isValid=!0}}}},{key:"updatePoseParts",value:function(e){var t=this;return $.forEach((function(n){var a=function(e,t){if(!e||!e.keypoints)return null;var n=e.keypoints.find((function(e){return e.part===t}));return{position:new V(n.position.x,n.position.y),score:n.score}}(e,n),r=t.parts[n]||a,i=r.score*r.score*Z.lerp(3,1,a.score),o=Math.max(a.score*a.score,.1*i),c=i/(i+o),s=o/(i+o),l=(new V).addScaledVector(r.position,c).addScaledVector(a.position,s);t.parts[n]={position:l,score:r.score*c+a.score*s}})),!(!this.parts.rightEar||!this.parts.leftEar)}},{key:"updateFaceParts",value:function(e){var t=this,n=this.parts.leftEar.position,a=this.parts.rightEar.position;if(e&&e.positions&&e.positions.length&&e.faceInViewConfidence>.8){for(var r=0;r<te.length;r++){var i=te[r],o=ie(e,r);o&&(this.parts[i]={position:o,score:e.faceInViewConfidence})}this.leftEarP2FFunc=Z.getTransformFunc(n,a,this.parts.leftJaw2.position),this.rightEarP2FFunc=Z.getTransformFunc(n,a,this.parts.rightJaw2.position)}else{var c=this.leftEarP2FFunc?this.leftEarP2FFunc(n,a):n,s=this.rightEarP2FFunc?this.rightEarP2FFunc(n,a):a;this.currentFaceScale=this.currentBodyScale,this.faceBones.forEach((function(e){[e.kp0,e.kp1].forEach((function(e){t.parts[e.name]={position:e.baseTransFunc(c,s),score:1}}))}))}return!0}},{key:"updateSecondaryParts",value:function(){var e=this;Object.keys(ne).forEach((function(t){var n=new V,a=ne[t],r=0;Object.keys(a).forEach((function(t){var i=a[t];r+=e.parts[t].score*i,n.addScaledVector(e.parts[t].position,i)})),e.parts[t]={position:n,score:r}}))}},{key:"findBoneGroup",value:function(e){var t=this,n={};Object.keys(this.boneGroups).forEach((function(a){var r=1/0;t.boneGroups[a].forEach((function(t){var n=Z.getClosestPointOnSegment(t.kp0.position,t.kp1.position,e).distanceTo(e);r=Math.min(r,n)})),n[a]=r}));var a=Math.min.apply(Math,Object(L.a)(Object.values(n))),r=[];return Object.keys(n).forEach((function(e){n[e]<=a&&r.push(t.boneGroups[e])})),r.flat()}},{key:"getTotalBoneLength",value:function(e){var t=0;return e.forEach((function(e){var n=(new V).subVectors(e.kp0.currentPosition||e.kp0.position,e.kp1.currentPosition||e.kp1.position);t+=n.length()})),t}}],[{key:"getCurrentPosition",value:function(e){var t=new V;return Object.keys(e.boneTransform).forEach((function(n){var a=e.boneTransform[n];t=t.add(a.bone.transform(a.transform).multiply(a.weight))})),t}},{key:"flipFace",value:function(e){Object.keys(ee).forEach((function(t){if(t.startsWith("left")){var n="right"+t.substr("left".length,t.length),a=e.scaledMesh[ee[t]];e.scaledMesh[ee[t]]=e.scaledMesh[ee[n]],e.scaledMesh[ee[n]]=a}}))}},{key:"getBoundingBox",value:function(e){var t=1e5,n=-1e5,a=1e5,r=-1e5,i=function(e,i){t=Math.min(e,t),n=Math.max(e,n),a=Math.min(i,a),r=Math.max(i,r)};return e.frames.forEach((function(e){e.pose.keypoints.forEach((function(e){i(e.position.x,e.position.y)}));for(var t=e.face.positions,n=0;n<t.length;n+=2)i(t[n],t[n+1])})),[t,n,a,r]}},{key:"translatePose",value:function(e,t){e.frames.forEach((function(e){e.pose.keypoints.forEac
1h((function(e){e.position.x+=t.x,e.position.y+=t.y}));for(var n=e.face.positions,a=0;a<n.length;a+=2)n[a]+=t.x,n[a+1]+=t.y}))}},{key:"resizePose",value:function(e,t,n){e.frames.forEach((function(e){e.pose.keypoints.forEach((function(e){e.position.x=t.x+(e.position.x-t.x)*n.x,e.position.y=t.y+(e.position.y-t.y)*n.y}));for(var a=e.face.positions,r=0;r<a.length;r+=2)a[r]=t.x+(a[r]-t.x)*n.x,a[r+1]=t.y+(a[r+1]-t.y)*n.y}))}},{key:"toFaceFrame",value:function(e){for(var t={positions:[],faceInViewConfidence:e.faceInViewConfidence},n=0;n<te.length;n++){var a=te[n],r=e.scaledMesh[ee[a]];t.positions.push(r[0]),t.positions.push(r[1])}return t}},{key:"findSkeletonPaths",value:function(e){return e.filter((function(e){var t=e.userData.node;return t.parentNode&&t.parentNode.id&&t.parentNode.id.startsWith("skeleton")}))}},{key:"getBoundingBoxFromPaths",value:function(e){var t=[];return e.forEach((function(e){e.subPaths.forEach((function(e){e.curves.forEach((function(e){t.push(e.getPointAt(0)),t.push(e.getPointAt(1))}))}))})),(new q).setFromPoints(t)}}]),e}(),ce=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"removeAllChildren",value:function(e){for(var t=e.firstElementChild;t;)e.removeChild(t),t=e.firstElementChild}},{key:"setFeatureLayer",value:function(e,t){return new Promise((function(n,a){t.querySelector("svg").childNodes.forEach((function(t){var n=t.cloneNode(!0);e.appendChild(n)})),n()}))}},{key:"setCustomChoices",value:function(e,t,n){var a=this,r=[];if(e.bodyShape){var i=n.getElementById("body");this.removeAllChildren(i);var o=t.bodyShape[e.bodyShape];r.push(this.fetchXML(o).then((function(e){return a.setFeatureLayer(i,e)})).then((function(){i.setAttribute("fill",e.bodyColor)})))}var c=n.getElementById("strokes");if(this.removeAllChildren(c),e.strokesURL){var s=e.strokesURL;r.push(this.fetchXML(s).then((function(e){return a.setFeatureLayer(c,e)})))}else if(e.strokes){var l=(new DOMParser).parseFromString(e.strokes,"text/xml");r.push(this.setFeatureLayer(c,l))}return Promise.all(r).then((function(){return n}))}},{key:"buildPreviewBody",value:function(e,t){return this.buildForPreview(e,t,"0 0 1200 1200")}},{key:"buildPreviewFace",value:function(e,t){return this.buildForPreview(e,t,"400 100 400 400")}},{key:"buildForPreview",value:function(e,t,n){var a=this;return new Promise((function(r,i){a.fetchXML("resources/template.svg").then((function(r){var i=r.querySelector("svg");return a.changeDimensions(i,n),r.querySelector('[id^="skeleton"]').remove(),a.setCustomChoices(e,t,r)})).then((function(e){a.removeJoints(e),r((new XMLSerializer).serializeToString(e))}))}))}},{key:"buildForAnimation",value:function(e,t){var n=this;return new Promise((function(a,r){n.fetchXML("resources/template.svg").then((function(a){return n.setCustomChoices(e,t,a)})).then((function(e){a(e)}))}))}},{key:"changeDimensions",value:function(e,t){e.setAttribute("viewBox",t),e.setAttribute("style","enable-background:new "+t+";")}},{key:"removeJoints",value:function(e){for(var t=e.getElementsByTagName("g"),n=0;n<t.length;n++)t[n].id.startsWith("skeleton")&&t[n].remove();var a,r=e.getElementsByTagName("*"),i=[],o=Object(x.a)(r);try{for(o.s();!(a=o.n()).done;){var c,s=a.value,l=!1,u=Object(x.a)(ae);try{for(u.s();!(c=u.n()).done;){var h=c.value;if(s.id.startsWith(h)){l=!0;break}}}catch(d){u.e(d)}finally{u.f()}l&&i.push(s.id)}}catch(d){o.e(d)}finally{o.f()}i.forEach((function(t){return e.getElementById(t).remove()}))}},{key:"fetchXML",value:function(e){return fetch(e).then((function(e){return e.text()})).then((function(e){return(new DOMParser).parseFromString(e,"text/xml")}))}},{key:"fetchAllAsString",value:function(e){var t=new Array(e.length),n=e.map((function(e,n){return fetch(e).then((function(e){return e.text()})).then((function(e){return t[n]=e}))}));return Promise.all(n).then((function(){return t}))}}]),e}(),se=[{charFeatures:{useCameraBg:!0,strokesURL:"resources/assets/bodyShape/strokes7.svg"}},{charFeatures:{bodyShape:"shape1",strokesURL:"resources/assets/bodyShape/strokes1.svg",bodyColor:"#FF0000"}},{charFeatures:{bodyShape:"shape3",strokesURL:"resources/assets/bodyShape/strokes3.svg",bodyColor:"#ACA6E2"}},{charFeatures:{bodyShape:"shape2",strokesURL:"resources/assets/bodyShape/strokes2.svg",bodyColor:"#F4DD09"}},{charFeatures:{useCameraBg:!0,strokesURL:"resources/assets/bodyShape/strokes4.svg"}},{charFeatures:{useCameraBg:!0,strokesURL:"resources/assets/bodyShape/strokes8.svg"}},{charFeatures:{useCameraBg:!0,strokesURL:"resources/assets/bodyShape/strokes6.svg"}}],le=function e(){var t=this;Object(m.a)(this,e),this.load=function(e){var n=[];
1t.characterCollection.forEach((function(a){if(Object.keys(a.charFeatures).length&&!a.thumbnail){var r=t.getThumbnailURL(a.charFeatures,e).then((function(e){a.thumbnail=e}));n.push(r)}}));var a=ce.fetchAllAsString(Object.values(e.bodyShapePresets)).then((function(e){t.bodyShapeSVGStrings=e,t.bodyShapePreviewBase64Urls=e.map((function(e){var t=(new DOMParser).parseFromString(e,"text/xml");return ce.removeJoints(t),"data:image/svg+xml;base64,"+window.btoa((new XMLSerializer).serializeToString(t))}))}));return n.push(a),Promise.all(n)},this.getThumbnailURL=function(e,t){return ce.buildPreviewFace(e,t).then((function(e){return Q.getImgUrlFromSVG(e)}))},this.addCharacter=function(e,n){t.getThumbnailURL(e,n).then((function(n){t.characterCollection.unshift({charFeatures:e,thumbnail:n});var a=t.characterCollection.length;0===t.characterCollection[a-1].thumbnail.length&&t.characterCollection.pop()}))},this.getFeaturesOfCharAtIndex=function(e){return t.characterCollection[e].charFeatures},this.setFeaturesOfCharAtIndex=function(e,n){t.characterCollection[e].charFeatures=n},this.getThumbnails=function(){var e=[];return t.characterCollection.forEach((function(t,n){e.push(t.thumbnail)})),e},this.setThumbnailOfCharAtIndex=function(e,n){t.characterCollection[e].thumbnail=n},this.characterCollection=se;for(var n=1;n<=7-se.length;n++)this.characterCollection.push({charFeatures:{},thumbnail:""})},ue=function e(t){var n=this;Object(m.a)(this,e),this.getAssets=function(){return n.assets},this.setAssets=function(e){n.assets=Object(s.a)({},e)},this.assets={}},he=function(e){return{type:"SET_PLAY_STATE",playState:e}},de=function(e){return{type:"SET_ACTIVE_PAGE",activePage:e}},pe=function(e){return{type:"SET_DOODLE_SVG",doodleShapeSvg:e}},fe=function(e){return{type:"SET_DOODLE_PAGE",doodlePage:e}},me=function(e){return{type:"SET_DOODLE_LINE_HISTORY",doodleLineHistory:e}},ve=function(e){return{type:"SET_MODAL_DIALOG",dialogParams:Object(s.a)({isOpen:!0},e)}},ge=function(){return{type:"SET_MODAL_DIALOG",dialogParams:{isOpen:!1}}},be={doodleStrokes:{0:[]},doodleNumline:1,doodleColor:["black"],doodleWeight:["10"],doodleScaling:1.3,doodlePivot:{x:.5,y:.5},doodleTranslateX:0,doodleTranslateY:function(){var e=window.innerWidth>800?800:window.innerWidth;return(window.innerHeight/e-1)/2*100}()},ye=Object(f.b)({playState:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{state:"detecting",showFeed:!0,loaderStatus:"Loading..."},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_PLAY_STATE":var n=Object.assign({},e);return Object.assign(n,t.playState);default:return e}},poseDetection:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new E,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_POSEDETECTION":return t.poseDetection;default:return e}},timestamp:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:+new Date,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"UPDATE_TIMESTAMP":return+new Date;default:return e}},activePage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"home",t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_ACTIVE_PAGE":return t.activePage;default:return e}},appInitialized:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_APP_INITIALIZED":return t.appInitialized;default:return e}},appPrivacyok:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_APP_PRIVACYOK":return t.appPrivacyok;default:return e}},characterCollection:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new le,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_CHARCOLLECTION":return t.characterCollection;default:return e}},doodleShapeSvg:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"svg tag",t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_DOODLE_SVG":return t.doodleShapeSvg;default:return e}},doodlePage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"bodySelection",t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_DOODLE_PAGE":return t.doodlePage;default:return e}},doodleLineHistory:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:be,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_DOODLE_LINE_HISTORY":var n=Object.assign({},e);return Object.assign(n,t.doodleLineHistory);default:return e}},assetsDB:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ue,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_ASSETSDB":return t.assetsDB;default:return e}},dialogModalState:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isOpen:!1,title:"dialogTitle",content:"dialogContent",onCancel:function(){},cancelText:"Cancel",onConfirm:function(){},confirmText:"Done"},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_MODAL_DIALOG":return t.dialogParams;default:return e}}});var we=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object(f.c)(ye,e);return t}();var ke={closeDialogModal:ge},Ee=Object(c.b)((function(e){return{modalState:e.dialogModalState}}),ke)((function(e){return r.a.createElement(r.a.Fragment,null,e.modalState.isOpen?r.a.createElement("div",{className:"dialog-modal-container"}
1,r.a.createElement("div",{className:"dialog-modal-card"},r.a.createElement("p",{className:"title"},e.modalState.title),r.a.createElement("p",{className:"content"},e.modalState.content),r.a.createElement("div",{className:"dialog-modal-buttons"},e.modalState.onCancel?r.a.createElement(p.a,{className:"cancel-button",color:"primary",onClick:function(){e.modalState.onCancel&&e.modalState.onCancel(),e.closeDialogModal()}},e.modalState.cancelText||"Cancel"):null,e.modalState.onConfirm?r.a.createElement(p.a,{className:"confirm-button",color:"primary",onClick:function(){e.modalState.onConfirm&&e.modalState.onConfirm(),e.closeDialogModal()}},e.modalState.confirmText||"Confirm"):null))):null)})),xe=n(37),Le=n(38);function Se(){var e=Object(xe.a)(["\n    margin: 0;\n\n    touch-action: manipulation;\n    user-select: none;\n"]);return Se=function(){return e},e}function Oe(){var e=Object(xe.a)(["\n    display: flex;\n    flex-direction: column;\n    align-item: center;\n    text-align: center;\n    justify-content: center;\n\n    touch-action: manipulation;\n    user-select: none;\n\n    z-index: 10;\n"]);return Oe=function(){return e},e}function je(){var e=Object(xe.a)(['\n    margin: auto;\n    height: 10vw;\n    max-height: 50px;\n\n    background-image: url("resources/illustration/arrow_next.svg");\n    background-repeat: no-repeat;\n    background-size: 75%;\n    background-position: center;\n    border: none;\n\n    border-radius: 50%;\n\n    font-family: "google-sans-reg", sans-serif;\n    font-size: large;\n    outline: none;\n\n    touch-action: manipulation;\n    user-select: none;\n\n    transition: all 0.2s;\n']);return je=function(){return e},e}var Ce=Le.a.button.attrs((function(e){return{style:{backgroundColor:e.disabled?"#E5E5E5":"#FF0089",color:"black",width:"10vw",maxWidth:"50px",cursor:e.disabled?"not-allowed":"pointer"}}}))(je()),Me=Le.a.div(Oe()),Te=Le.a.p(Se());var Pe=function(e){var t=e.nextPage,n=e.handleSelectedBody,a=e.text,i=e.isDisabled,o=e.drawAreaRef,s=Object(c.c)();return r.a.createElement(Me,null,r.a.createElement(Ce,{onClick:function(){switch(t){case"preview":o.current.dispatchDoodleData(),s({type:"SET_ACTIVE_PAGE",activePage:"recording"});case"charactorDrawing":n&&n()}},disabled:i}),r.a.createElement(Te,null,a||null))},Ne=(n(363),n(52)),Ae=n(414),Re=n(228),Fe=n.n(Re),Be=n(229),De=n.n(Be);function Ie(){var e=Object(xe.a)(["\n    position: absolute;\n    bottom: -35%;\n"]);return Ie=function(){return e},e}function ze(){var e=Object(xe.a)(["\n    width: 20vw;\n    max-width: 100px;\n    height: 20vw;\n    max-height: 100px;\n    border: 1px solid #444;\n    border-radius: 10%;\n    cursor: pointer;\n\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n"]);return ze=function(){return e},e}function Je(){var e=Object(xe.a)(["\n    display: -webkit-box;\n    // overflow: auto;\n    overflow-y: hidden;\n    overflow-x: auto;\n    margin: auto;\n\n    ::-webkit-scrollbar {\n        width: 0px; /* Remove scrollbar space */\n        background: transparent; /* Optional: just make scrollbar invisible */\n    }\n"]);return Je=function(){return e},e}function Ue(){var e=Object(xe.a)(["\n    position: relative;\n    background-color: #ffffff;\n    width: 100%;\n    height: 15vh;\n    min-height: 125px;\n\n    display: flex;\n    justify-content: space-between;\n\n    ::-webkit-scrollbar {\n        width: 0px; /* Remove scrollbar space */\n        background: transparent; /* Optional: just make scrollbar invisible */\n    }\n"]);return Ue=function(){return e},e}function We(){var e=Object(xe.a)(["\n    width: 20vw;\n    max-width: 100px;\n    height: 20vw;\n    max-height: 100px;\n    border-radius: 10%;\n    cursor: pointer;\n    box-sizing: border-box;\n    background-color: white;\n    p {\n        position: absolute;\n        bottom: 0.2rem;\n        left: 0;\n        line-height: 1rem;\n        margin: auto;\n        width: 100%;\n        font-size: 0.6rem;\n    }\n\n    display: flex;\n    justify-content: center;\n    overflow: hidden;\n"]);return We=function(){return e},e}var Ve=Le.a.div.attrs((function(e){return{style:{margin:e.isMobile?"10px 5px":"15px 5px",border:e.shapeSelected===e.id?"3px solid #f789ba":"1px solid #444"}}}))(We()),He=Le.a.div(Ue()),_e=Le.a.div(Je()),Ye=Le.a.div.attrs((function(e){return{style:{margin:e.isMobile?"10px 5px 20px":"15px 5px 20px"}}}))(ze()),Ge=Le.a.p.attrs((function(e){return{style:{fontSize:e.isMobile?"0.6rem":"0.8rem"}}}))(Ie());var Xe=function(e){var t=e.selectShape,n=e.shapeSelected,i=e.handleDrawYourOwn,o=e.thumbnails.map((function(e,a){return r.a.createElement(Ve,{key:a,id:a,shapeSelected:n,onClick:function(){return e=a,console.log("selectShape from child"),void t(e);var e},isMobile:Ne.isMobile,className:"cardContainer"}
1,r.a.createElement("img",{src:e,width:"auto",height:"150%"}))})),c=Object(a.useState)(0),s=Object(w.a)(c,2),l=s[0],u=s[1],h=Object(a.useRef)(null);Object(a.useEffect)((function(){h&&console.log(h.current.offsetWidth)}),[h]);var d=function(e){var t,n=document.querySelector(".characterCardWrapper"),a=document.querySelectorAll(".cardContainer"),r=n.clientWidth,i=a[0].currentStyle||window.getComputedStyle(a[0]),o=a[0].offsetWidth+parseFloat(i.marginLeft)+parseFloat(i.marginRight),c=Math.floor(r/o);t=e>0?l+c+c*e:l-c+c*e,t=Math.min(Math.max(t,0),a.length-1),u(t),a[t].scrollIntoView({behavior:"smooth"})};return r.a.createElement(He,null,Ne.isMobile?null:r.a.createElement(Ae.a,{className:"slider-control-button clickable",style:{color:0===l?"#CCC":"#EA3788"},onClick:function(){return d(-1)}},r.a.createElement(Fe.a,null)),r.a.createElement(_e,{className:"characterCardWrapper"},r.a.createElement(Ye,{isMobile:Ne.isMobile,className:"cardContainer",onClick:function(){return i()},ref:h},r.a.createElement("img",{src:"./resources/illustration/pencil.svg"}),r.a.createElement(Ge,{className:"add-button-text",isMobile:Ne.isMobile},"Doodle your own")),o),Ne.isMobile?null:r.a.createElement(Ae.a,{className:"slider-control-button clickable",onClick:function(){return d(1)},style:{color:"#EA3788"}},r.a.createElement(De.a,null)))};function qe(){var e=Object(xe.a)(["\n    margin: 0 4%;\n\n    touch-action: manipulation;\n"]);return qe=function(){return e},e}function Ke(){var e=Object(xe.a)(["\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    text-align: center;\n\n    touch-action: manipulation;\n"]);return Ke=function(){return e},e}function Qe(){var e=Object(xe.a)(["\n    position: absolute;\n    width: 100vw;\n    max-width: 800px;\n    bottom: 0;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    text-align: center;\n\n    padding-bottom: 10px;\n\n    border-top-left-radius: 1rem;\n    border-top-right-radius: 1rem;\n    transition: all 0.2s;\n\n    touch-action: manipulation;\n"]);return Qe=function(){return e},e}function Ze(){var e=Object(xe.a)(["\n    width: 100vw;\n    max-width: 800px;\n    height: 80vh;\n    text-align: center;\n    line-height: 40vh;\n    box-sizing: border-box;\n    background-color: whitesmoke;\n\n    background-size: 175%;\n    background-repeat: no-repeat;\n    background-position-x: center;\n\n    touch-action: manipulation;\n"]);return Ze=function(){return e},e}function $e(){var e=Object(xe.a)(['\n    font-size: larger;\n    font-family: "google-sans-reg", sans-serif;\n    color: black;\n    position: absolute;\n    top: 3rem;\n    width: 100%;\n    margin: auto;\n\n    touch-action: manipulation;\n']);return $e=function(){return e},e}function et(){var e=Object(xe.a)(["\n    display: inline;\n    flex-direction: column;\n    align-item: center;\n    text-align: center;\n    justify-content: center;\n    width: 100vw;\n    max-width: 800px;\n    background-color: whitesmoke;\n\n    touch-action: manipulation;\n"]);return et=function(){return e},e}var tt=Le.a.div(et()),nt=Le.a.p($e()),at=Le.a.div.attrs((function(e){return{style:{backgroundImage:'url("'+e.imageUrl+'")'}}}))(Ze()),rt=Le.a.div.attrs((function(e){return{style:{height:e.isDrawShape?"15vh":null,backgroundColor:e.isDrawShape?"black":"white",alignItems:e.isDrawShape?"center":null}}}))(Qe()),it=Le.a.div(Ke()),ot=Le.a.div(qe());var ct=Object(c.b)((function(e){return{characterCollection:e.characterCollection}}))((function(e){var t=e.updateInitialSVG,n=e.characterCollection,i=Object(a.useState)(0),o=Object(w.a)(i,2),c=o[0],s=o[1],l=Object(a.useState)([]),u=Object(w.a)(l,2),h=u[0],d=u[1];return Object(a.useEffect)((function(){d(Object.values(n.bodyShapePreviewBase64Urls))}),[n]),r.a.createElement(tt,null,r.a.createElement(nt,null,"select body shape"),r.a.createElement(at,{imageUrl:h[c]}),r.a.createElement(rt,null,r.a.createElement(it,null,r.a.createElement(ot,null,r.a.createElement(Xe,{thumbnails:h,selectShape:function(e){console.log("select shape from body wrapper"),s(e)},shapeSelected:c,handleDrawYourOwn:function(){t({})}})),r.a.createElement(Pe,{nextPage:"charactorDrawing",text:"Next",handleSelectedBody:function(){t({importSvgString:n.bodyShapeSVGStrings[c]})},isDisabled:!1}))))})),st=n(42),lt=n(167),ut=n(320),ht=n.n(ut),dt=n(240),pt=n.n(dt);function ft(){var e=Object(xe.a)(["\n    fill: none;\n    stroke-width: 1;\n    stroke: black;\n    stroke-linejoin: round;\n    stroke-linecap: round;\n"]);return ft=function(){return e},e}var mt=Le.a.path(ft());
1var vt=function(e){var t=e.line,n=e.color,i=e.weight,o=e.numLine,c=e.numIndex,s=Object(a.useState)(""),l=Object(w.a)(s,2),u=l[0],h=l[1];function d(e){return Number.parseFloat(e).toFixed(1)}function p(e){var t=d(e);return t<0?t.toString():","+t.toString()}return Object(a.useEffect)((function(){t.length>0&&h(o===c?"M".concat(t.map((function(e){return"".concat(e[0]," ").concat(e[1])})).join(" L ")):function(){for(var e="",n=0;n<t.length;n++)0===n&&(e+="M".concat(d(t[n][0][0])).concat(p(t[n][0][1]))),e+="c".concat(d(t[n][1][0]-t[n][0][0])).concat(p(t[n][1][1]-t[n][0][1])).concat(p(t[n][2][0]-t[n][0][0])).concat(p(t[n][2][1]-t[n][0][1])).concat(p(t[n][3][0]-t[n][0][0])).concat(p(t[n][3][1]-t[n][0][1]));return e})}),[t]),r.a.createElement(mt,{style:{stroke:n,strokeWidth:i,fill:"none",strokeLinejoin:"round",strokeLinecap:"round"},d:u})};var gt=function(){return r.a.createElement("g",{id:"skeleton"},r.a.createElement("polygon",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"518.8,349.5 569.1,565.3 685.5,564.5 731.7,349.5 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"517.8,349.5 415.1,349.5 251.8,355.8 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"733.2,349.1 836.4,349.1 999.7,355.5 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"569.1,565.3 575.5,725.5 575.5,933.5 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"685.5,564.5 685.5,725.5 685.5,933.5 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"624.5,170 604.7,172.5 592.2,182 583.6,196.1  581.1,205.4 580.3,217.1 580.3,226.6 581.1,248.3 587.9,268.3 599.5,280.8 609.5,287.5 624.5,290.7 639.3,287.9 649.3,281.2  660.9,268.6 667.7,248.6 668.5,227 668.5,217.4 667.7,205.7 665.2,196.5 657,182 644.4,172.5 624.5,170 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"588.5,206.9 592.5,203.2 598.7,202.2 606,202.2  615.8,206.2 \t"}),r.a.createElement("polygon",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"594.7,215.1 599.9,211.4 606.2,211.4 611.4,215.6  606.2,216.6 599.9,217.4 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"613,233.2 618.2,233.2 623.7,234 623.7,228.7  623.7,221.6 623.7,216.1 623.7,210.3 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"660,206.5 656,203.6 649.7,202.1 642.4,202.5  632.4,205.7 \t"}),r.a.createElement("polygon",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"654.1,215.1 648.8,211.4 642.5,211.4 637.4,215.6  642.5,216.6 648.8,217.4 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"634.1,233.2 629.1,233.2 623.7,234 \t"}),r.a.createElement("polygon",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"607,255.3 613.9,251.9 620.4,250.8 624.5,251.7  628.7,250.8 635.1,251.9 642,255.3 635.6,261.6 628.5,264.4 624.5,264.9 620.4,264.4 613.4,261.6 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"607,255.3 610.6,255.6 620.6,254.8 624.5,255.3  628.5,254.8 638.4,255.6 642,255.3 \t"}),r.a.createElement("polyline",{style:{fill:"none",stroke:"#000000",strokeMiterlimit:"10"},points:"607,255.3 610.6,255.6 620.6,257.7 624.5,258.5  628.5,257.7 638.4,255.6 642,255.3 \t"}),r.a.createElement("circle",{id:"rightShoulder",cx:"518.9",cy:"349.2",r:"8.2"}),r.a.createElement("circle",{id:"rightElbow",cx:"415.4",cy:"349.3",r:"8.2"}),r.a.createElement("circle",{id:"rightWrist",cx:"252",cy:"355.7",r:"8.2"}),r.a.createElement("circle",{id:"rightHip",cx:"569.2",cy:"565",r:"8.2"}),r.a.createElement("circle",{id:"rightKnee",cx:"575.6",cy:"725.2",r:"8.2"}),r.a.createElement("circle",{id:"rightAnkle",cx:"575.6",cy:"933.2",r:"8.2"}),r.a.createElement("circle",{id:"leftElbow",cx:"836.2",cy:"348.9",r:"8.2"}),r.a.createElement("circle",{id:"leftWrist",cx:"999.6",cy:"355.2",r:"8.2"}),r.a.createElement("circle",{id:"leftHip",cx:"685.6",cy:"564.2",r:"8.2"}),r.a.createElement("circle",{id:"leftKnee",cx:"685.6",cy:"725.2",r:"8.2"}),r.a.createElement("circle",{id:"leftAnkle",cx:"685.6",cy:"933.2",r:"8.2"}
1),r.a.createElement("circle",{id:"rightEye0",cx:"594.7",cy:"215.1",r:"0.8"}),r.a.createElement("circle",{id:"rightBrow1",cx:"592.5",cy:"203.2",r:"0.8"}),r.a.createElement("circle",{id:"rightBrow4",cx:"615.8",cy:"206.2",r:"0.8"}),r.a.createElement("circle",{id:"nose1",cx:"623.7",cy:"216.1",r:"0.8"}),r.a.createElement("circle",{id:"rightBrow3",cx:"606",cy:"202.2",r:"0.8"}),r.a.createElement("circle",{id:"rightEye1",cx:"599.9",cy:"211.4",r:"0.8"}),r.a.createElement("circle",{id:"rightBrow0",cx:"588.5",cy:"206.9",r:"0.8"}),r.a.createElement("circle",{id:"rightBrow2",cx:"598.7",cy:"202.2",r:"0.8"}),r.a.createElement("circle",{id:"rightEye5",cx:"599.9",cy:"217.4",r:"0.8"}),r.a.createElement("circle",{id:"rightEye2",cx:"606.2",cy:"211.4",r:"0.8"}),r.a.createElement("circle",{id:"rightEye3",cx:"611.4",cy:"215.6",r:"0.8"}),r.a.createElement("circle",{id:"nose0",cx:"623.7",cy:"210.3",r:"0.8"}),r.a.createElement("circle",{id:"nose3",cx:"623.7",cy:"228.7",r:"0.8"}),r.a.createElement("circle",{id:"rightNose0",cx:"613",cy:"233.2",r:"0.8"}),r.a.createElement("circle",{id:"rightMouthCorner",cx:"607",cy:"255.3",r:"0.8"}),r.a.createElement("circle",{id:"rightNose1",cx:"618.2",cy:"233.2",r:"0.8"}),r.a.createElement("circle",{id:"rightUpperLipTop0",cx:"613.9",cy:"251.9",r:"0.8"}),r.a.createElement("circle",{id:"nose2",cx:"623.7",cy:"221.6",r:"0.8"}),r.a.createElement("circle",{id:"nose4",cx:"623.7",cy:"234",r:"0.8"}),r.a.createElement("circle",{id:"upperLipTopMid",cx:"624.5",cy:"251.7",r:"0.8"}),r.a.createElement("circle",{id:"rightUpperLipTop1",cx:"620.4",cy:"250.8",r:"0.8"}),r.a.createElement("path",{id:"rightMiddleLip",d:"M610.6,254.8c0.4,0,0.8,0.4,0.8,0.8c0,0.4-0.4,0.8-0.8,0.8s-0.8-0.4-0.8-0.8S610.2,254.8,610.6,254.8z "}),r.a.createElement("circle",{id:"lowerLipBottomMid",cx:"624.5",cy:"264.9",r:"0.8"}),r.a.createElement("circle",{id:"upperLipBottomMid",cx:"624.5",cy:"255.3",r:"0.8"}),r.a.createElement("circle",{id:"lowerLipTopMid",cx:"624.5",cy:"258.4",r:"0.8"}),r.a.createElement("circle",{id:"rightUpperLipBottom1",cx:"620.6",cy:"254.8",r:"0.8"}),r.a.createElement("circle",{id:"rightLowerLipTop0",cx:"620.6",cy:"257.7",r:"0.8"}),r.a.createElement("circle",{id:"rightLowerLipBottom1",cx:"620.4",cy:"264.4",r:"0.8"}),r.a.createElement("circle",{id:"rightLowerLipBottom0",cx:"613.4",cy:"261.6",r:"0.8"}),r.a.createElement("circle",{id:"rightEye4",cx:"606.2",cy:"216.6",r:"0.8"}),r.a.createElement("circle",{id:"jawMid",cx:"624.5",cy:"290.7",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw7",cx:"609.5",cy:"287.5",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw6",cx:"599.5",cy:"280.8",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw5",cx:"587.9",cy:"268.3",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw4",cx:"581.1",cy:"248.3",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw3",cx:"580.3",cy:"226.6",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw2",cx:"580.3",cy:"217.1",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw1",cx:"581.1",cy:"205.4",r:"0.8"}),r.a.createElement("circle",{id:"rightJaw0",cx:"583.6",cy:"196.1",r:"0.8"}),r.a.createElement("circle",{id:"topMid",cx:"624.7",cy:"170",r:"0.8"}),r.a.createElement("circle",{id:"leftTop0",cx:"644.4",cy:"172.5",r:"0.8"}),r.a.createElement("circle",{id:"leftTop1",cx:"657",cy:"182",r:"0.8"}),r.a.createElement("circle",{id:"leftEye0",cx:"654.3",cy:"215.1",r:"0.8"}),r.a.createElement("circle",{id:"leftBrow1",cx:"656.2",cy:"203.6",r:"0.8"}),r.a.createElement("circle",{id:"leftBrow4",cx:"632.6",cy:"205.7",r:"0.8"}),r.a.createElement("circle",{id:"leftBrow3",cx:"642.6",cy:"202.5",r:"0.8"}),r.a.createElement("circle",{id:"leftEye1",cx:"649.1",cy:"211.4",r:"0.8"}),r.a.createElement("circle",{id:"leftBrow0",cx:"660.2",cy:"206.5",r:"0.8"}),r.a.createElement("circle",{id:"leftBrow2",cx:"649.9",cy:"202.1",r:"0.8"}),r.a.createElement("circle",{id:"leftEye5",cx:"649.1",cy:"217.4",r:"0.8"}),r.a.createElement("circle",{id:"leftEye2",cx:"642.8",cy:"211.4",r:"0.8"}),r.a.createElement("circle",{id:"leftEye3",cx:"637.6",cy:"215.6",r:"0.8"}),r.a.createElement("circle",{id:"leftNose0",cx:"634.1",cy:"233.2",r:"0.8"}),r.a.createElement("circle",{id:"leftMouthCorner",cx:"642",cy:"255.3",r:"0.8"}),r.a.createElement("circle",{id:"leftNose1",cx:"629.3",cy:"233.2",r:"0.8"}),r.a.createElement("circle",{id:"leftUpperLipTop0",cx:"635.1",cy:"251.9",r:"0.8"}),r.a.createElement("circle",{id:"leftUpperLipTop1",cx:"628.7",cy:"250.8",r:"0.8"}),r.a.createElement("path",{id:"leftMiddleLip",d:"M638.4,254.8c0.4,0,0.8,0.4,0.8,0.8c0,0.4-0.4,0.8-0.8,0.8s-0.8-0.4-0.8-0.8S638,254.8,638.4,254.8z"}
1),r.a.createElement("circle",{id:"leftUpperLipBottom1",cx:"628.5",cy:"254.8",r:"0.8"}),r.a.createElement("circle",{id:"leftLowerLipTop0",cx:"628.5",cy:"257.7",r:"0.8"}),r.a.createElement("circle",{id:"leftLowerLipBottom1",cx:"628.7",cy:"264.4",r:"0.8"}),r.a.createElement("circle",{id:"leftLowerLipBottom0",cx:"635.6",cy:"261.6",r:"0.8"}),r.a.createElement("circle",{id:"leftEye4",cx:"642.8",cy:"216.6",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw7",cx:"639.3",cy:"287.9",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw6",cx:"649.3",cy:"281.2",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw5",cx:"660.9",cy:"268.6",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw4",cx:"667.7",cy:"248.6",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw3",cx:"668.5",cy:"227",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw2",cx:"668.5",cy:"217.4",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw1",cx:"667.7",cy:"205.7",r:"0.8"}),r.a.createElement("circle",{id:"leftJaw0",cx:"665.2",cy:"196.5",r:"0.8"}),r.a.createElement("circle",{id:"rightTop0",cx:"604.8",cy:"172.5",r:"0.8"}),r.a.createElement("circle",{id:"rightTop1",cx:"592.2",cy:"182",r:"0.8"}),r.a.createElement("circle",{id:"leftShoulder",cx:"731.8",cy:"349.2",r:"8.2"}))},bt=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"importIllustrationNode",value:function(t){try{var n=(new DOMParser).parseFromString(t,"image/svg+xml"),a=e.findGroupWithPrefix(n,"illustration");return a?{illustration:a,skeleton:e.findGroupWithPrefix(n,"skeleton")}:(console.log("[CharacterImporter] Unable to find illustration node"),null)}catch(r){return console.log("[CharacterImporter] Failed to import illustration.",r),null}}},{key:"findGroupWithPrefix",value:function(e,t){var n;return e.querySelectorAll("g").forEach((function(e){e&&e.id&&e.id.startsWith(t)&&(n=e)})),n}}]),e}();function yt(){var e=Object(xe.a)(["\n    border-radius: 2rem;\n    border: none;\n    margin-top: 0.8rem;\n    outline: 0;\n    background-repeat: no-repeat;\n    background-position: center;\n\n    cursor: pointer;\n    touch-action: manipulation;\n    user-select: none;\n\n    width: 10vw;\n    max-width: 44px;\n    height: 10vw;\n    max-height: 44px;\n    background-color: white;\n    box-shadow: 0px 5px 10px -5px rgba(0, 0, 0, 0.75);\n"]);return yt=function(){return e},e}function wt(){var e=Object(xe.a)(["\n    border-radius: 2rem;\n    border: none;\n    margin-top: 0.8rem;\n    outline: 0;\n    background-repeat: no-repeat;\n    background-position: center;\n\n    cursor: pointer;\n    touch-action: manipulation;\n    user-select: none;\n"]);return wt=function(){return e},e}function kt(){var e=Object(xe.a)(["\n    position: absolute;\n    right: 1rem;\n    top: ",";\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    z-index: 100;\n    align-items: center;\n\n    touch-action: none;\n"]);return kt=function(){return e},e}function Et(){var e=Object(xe.a)(["\n    width: 100vw;\n    max-width: 800px;\n    height: 100vh;\n    float: left;\n    cursor: crosshair;\n    box-sizing: border-box;\n    position: absolute;\n    top: 0;\n    left: 0;\n    overflow: hidden;\n\n    touch-action: manipulation;\n"]);return Et=function(){return e},e}function xt(){var e=Object(xe.a)(['\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: auto;\n    // background-image: url("./resources/illustration/paper-Square25.svg");\n    -o-background-size: contain;\n    -moz-background-size: contain;\n    -webkit-background-size: contain;\n\n    touch-action: manipulation;\n']);return xt=function(){return e},e}function Lt(){var e=Object(xe.a)(["\n    margin: 0;\n    margin-top: 1.4rem;\n    position: absolute;\n    left: 50%;\n    transform: translate(-50%, 50%);\n    z-index: -1000;\n    font-size: 1rem;\n\n    user-select: none;\n"]);return Lt=function(){return e},e}function St(){var e=Object(xe.a)(["\n    touch-action: manipulation;\n"]);return St=function(){return e},e}var Ot=Le.a.div(St()),jt=Le.a.p(Lt()),Ct=Le.a.svg.attrs((function(e){return{style:{width:"100%",transformOrigin:100*e.pivot.x+"% "+100*e.pivot.y+"%",transform:"translate("+e.translateX+"%,"+e.translateY+"%) scale("+e.scaling+")",backgroundImage:'url("./resources/illustration/paper-Square25.svg")'}}}))(xt()),Mt=Le.a.div.attrs((function(e){var t=Math.min(Math.max(.6*e.lineWeight,2),100),n=new M(e.lineColor),a=Math.floor(255*n.r),r=Math.floor(255*n.g),i=Math.floor(255*n.b),o=(a+r+i)/3<220?"white":"black";return{style:{cursor:e.isGesture?"grabbing":"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-100 -100 200 200' height='120' width='120'%3E%3Ccircle r='"+t+"' cx='0' cy='0' stroke='"+o+"' stroke-width='8' fill='transparent' /%3E%3Ccircle r='"+t+"' cx='0' cy='0' stroke='rgb("+a+","+r+","+i+")' stroke-width='4' fill='transparent' /%3E%3C/svg%3E\") 60 60, crosshair"}}}))(Et()),Tt=Le.a.div(kt(),Ne.isMobile?"1.8rem":"1.6rem"),Pt=Le.a.button.attrs((function(e){return{style:{backgroundImage:"redo"===e.type?'url("./resources/illustration/redo.svg")':"picker"===e.type?'url("./resources/illustration/colorPicker.svg")':"file-open"===e.type?'url("./resources/illustration/file-open.svg")':"file-download"===e.type?'url("./resources/illustration/file-download.svg")':'url("./resources/illustration/weightPicker.svg")',backgroundSize:"redo"===e.type?"50%":"cover",boxShadow:"redo"===e.type?"0px 5px 10px -5px rgba(0, 0, 0, 0.75)":null,width:"redo"===e.type?"10vw":"12vw",maxWidth:"redo"===e.type?"44px":"50px",height:"redo"===e.type?"10vw":"12vw",maxHeight:"redo"===e.type?"44px":"50px",backgroundColor:"redo"===e.type?"white":null,marginTop:"file-open"===e.type?"150px":null}}}))(wt()),Nt=Le.a.button.attrs((function(e){return{style:{backgroundImage:"redo"===e.type?e.enabled?'url("./resources/illustration/redo.svg")':'url("./resources/illustration/redo-disabled.svg")':'url("./resources/illustration/penPicker.svg")',cursor:e.enabled?"pointer":"initial",backgroundSize:"redo"===e.type?"50%":"75%"}}}))(yt()),At=Object(a.forwardRef)((function(e,t){var n=Object(a.useState)("black"),i=Object(w.a)(n,2),o=i[0],l=i[1],u=Object(a.useState)("10"),h=Object(w.a)(u,2),d=h[0],p=h[1],f=Object(a.useState)(e.shapeStroke||[]),m=Object(w.a)(f,2),v=m[0],g=m[1],b=Object(a.useState)(e.doodleColor),y=Object(w.a)(b,2),k=y[0],E=y[1],x=Object(a.useState)(e.doodleWeight),S=Object(w.a)(x,2),O=S[0],j=S[1],C=Object(a.useState)(e.doodleNumline),M=Object(w.a)(C,2),T=M[0],P=M[1],N=Object(a.useState)([]),A=Object(w.a)(N,2),R=A[0],F=A[1],B=Object(a.useState)(!1),D=Object(w.a)(B,2),I=D[0],z=D[1],J=Object(a.useState)(1200),U=Object(w.a)(J,1)[0],W=Object(a.useState)(1e3),V=Object(w.a)(W,1)[0],H=Object(a.useState)(1),_=Object(w.a)(H,1)[0],Y=Object(a.useState)(5),G=Object(w.a)(Y,1)[0],X=Object(a.useState)((function(){return window.innerWidth>
1800?800:window.innerWidth})),q=Object(w.a)(X,1)[0],K=Object(a.useState)(window.innerHeight),Q=Object(w.a)(K,1)[0],Z=Object(a.useState)((function(){var e=window.innerWidth>800?800:window.innerWidth,t=window.innerHeight,n=Math.min(.1*window.innerWidth,50);return e/(t-.05*Q-n)})),$=Object(w.a)(Z,1)[0],ee=Object(a.useState)(window.innerWidth),te=Object(w.a)(ee,1)[0],ne=Object(a.useState)(e.doodleScaling||1),ae=Object(w.a)(ne,2),re=ae[0],ie=ae[1],oe=Object(a.useState)(e.doodlePivot||{x:.5,y:.5}),ce=Object(w.a)(oe,2),se=ce[0],le=ce[1],ue=Object(a.useState)(e.doodleTranslateX),he=Object(w.a)(ue,2),de=he[0],pe=he[1],fe=Object(a.useState)(e.doodleTranslateY),me=Object(w.a)(fe,2),ge=me[0],be=me[1],ye=Object(a.useState)("none"),we=Object(w.a)(ye,2),ke=we[0],Ee=we[1],xe=Object(a.useState)([0,0]),Le=Object(w.a)(xe,2),Se=Le[0],Oe=Le[1],je=Object(a.useState)(!1),Ce=Object(w.a)(je,2),Me=Ce[0],Te=Ce[1],Pe=Object(a.useState)(0),Ae=Object(w.a)(Pe,2),Re=(Ae[0],Ae[1]),Fe=Object(a.useRef)(null),Be=Object(a.useRef)(null),De=Object(a.useRef)(null),Ie=Object(a.useRef)(null),ze=Object(a.useRef)(null),Je=Object(a.useState)(e.doodleImportSVGString),Ue=Object(w.a)(Je,2),We=Ue[0],Ve=Ue[1],He=Object(a.useState)(!1),_e=Object(w.a)(He,2),Ye=_e[0],Ge=_e[1],Xe=Object(c.c)();Object(a.useEffect)((function(){if(document.addEventListener("mouseup",At),document.addEventListener("touchend",At),window.addEventListener("mousewheel",qe,{passive:!1}),Object(lt.a)(document),F(Fe.current.getBoundingClientRect()),Ne.isMobile){var t=new pt.a(Fe.current);t.get("pan").set({direction:pt.a.DIRECTION_ALL}),t.get("pinch").set({enable:!0}),t.on("pan panstart pinch pinchstart",(function(e){return Qe(e)}))}return Xt(e.doodleImportSVGString),Gt(v),function(){document.removeEventListener("mouseup",At),document.removeEventListener("touchend",At),window.removeEventListener("mousewheel",qe,{passive:!1}),Object(lt.b)(document)}}),[]);var qe=function(e){e.ctrlKey&&e.preventDefault()},Ke=function(){Xe({type:"SET_DOODLE_LINE_HISTORY",doodleLineHistory:{doodleStrokes:v,doodleNumline:T,doodleColor:k,doodleWeight:O,doodleImportSVGString:We,doodleScaling:re,doodlePivot:se,doodleTranslateX:de,doodleTranslateY:ge}}),Xe({type:"SET_DOODLE_SVG",doodleShapeSvg:Be.current})},Qe=function(e){/pinchstart/.test(e.type)?(Te(!0),dt({scale:e.scale,center:e.center}),kt([e.deltaX,e.deltaY])):/pinch/.test(e.type)&&(Te(!0),console.log(e.type,{scale:e.scale,center:e.center}),it({scale:e.scale,center:e.center}),St([e.deltaX,e.deltaY])),Ee(e.type),/pan/.test(e.type)&&tt([e.center.x,e.center.y])},Ze=Object(a.useState)([0,0]),$e=Object(w.a)(Ze,2),et=$e[0],tt=$e[1];Object(a.useEffect)((function(){if(/panstart/.test(ke)&&!Me&&!I)return Te(!1),z(!0),Object(lt.a)(Fe.current),g(Object(s.a)(Object(s.a)({},v),{},Object(st.a)({},T,[]))),E([].concat(Object(L.a)(k),[o])),void j([].concat(Object(L.a)(O),[d]));/pan/.test(ke)&&!Me&&I&&v[T]&&Ut(et[0]-(te-q)/2,et[1])}),[et]);var nt=Object(a.useState)({scale:1,center:{x:0,y:0}}),at=Object(w.a)(nt,2),rt=at[0],it=at[1],ot=Object(a.useState)({scale:1,center:{x:0,y:0}}),ct=Object(w.a)(ot,2),ut=ct[0],dt=ct[1];Object(a.useEffect)((function(){if(!0===/pinch/.test(ke)&&!1===/pinchstart/.test(ke)&&Me){var e=Jt(rt.center.x-(te-q)/2,rt.center.y);if(e.x<0||e.x>1200||e.y<0||e.y>1200)return;var t=Rt(re*(rt.scale-ut.scale+1),_,G);Yt({x:e.x/U,y:e.y/U}),ie(t)}dt(rt)}),[rt]);var ft=function(){var e=(Lt[0]-wt[0])/q,t=e*It.width,n=(Lt[1]-wt[1])/q,a=n*It.height,r=It.width*(1/$-1);It.left-t>U-V/re?pe(100*(se.x*(re-1)-re+V/U)):It.right-t<V/re?pe(100*(se.x*(re-1)+1-V/U)):pe(de+100*e),It.top-a>U-V/re?be(100*(se.y*(re-1)-re+V/U)):It.bottom-a<V/re-r?be(100*(se.y*(re-1)+1-V/U+r/It.width)):be(ge+100*n)},mt=Object(a.useState)([0,0]),yt=Object(w.a)(mt,2),wt=yt[0],kt=yt[1],Et=Object(a.useState)([0,0]),xt=Object(w.a)(Et,2),Lt=xt[0],St=xt[1];Object(a.useEffect)((function(){Ne.isMobile?(!0===/pinch/.test(ke)&&!1===/pinchstart/.test(ke)&&Me&&ft(),kt(Lt)):(Ht&&Me&&ft(),kt(Lt))}),[Lt,wt]),Object(a.useEffect)((function(){if(!I&&(Object(lt.b)(Fe.current),v[T])){if(v[T].length>0&&k.length===T+(e.doodleNumline>0?1:0)){var t=ht()(v[T],20);g(Object(s.a)(Object(s.a)({},v),{},Object(st.a)({},T,t))),P(T+1)}Re(0)}}),[I]),Object(a.useEffect)((function(){T>1||Ie.current.firstChild?e.handleUpdateIsPreviewDisable(!1):e.handleUpdateIsPreviewDisable(!0)}),[T]);var At=function(){_t(!1),Te(!1),z(!1),Re(0)},Rt=function(e,t,n){return Math.max(Math.min(e,n),t)}
1,Ft=function(e,t,n,a,r){return a+(e-t)*(r-a)/(n-t)},Bt=Object(a.useState)({width:1200,height:1200,left:0,right:1200,top:0,bottom:1200,normalizedPivotX:.5,normalizedPivotY:.5}),Dt=Object(w.a)(Bt,2),It=Dt[0],zt=Dt[1];Object(a.useEffect)((function(){var e=U/re,t=U/re,n=de/100*e,a=ge/100*t,r=se.x*e,i=se.y*t,o=se.x*U-n-r,c=se.y*U-a-i,s={width:e,height:t,left:o,right:o+e,top:c,bottom:c+t,normalizedPivotX:se.x,normalizedPivotY:se.y};zt(s)}),[U,re,de,ge,se]);var Jt=function(e,t){var n=t/q;return{x:Ft(e/q,0,1,It.left,It.right),y:Ft(n,0,1,It.top,It.bottom)}},Ut=function(e,t){var n=Jt(e,t);g(Object(s.a)(Object(s.a)({},v),{},Object(st.a)({},T,[].concat(Object(L.a)(v[T]),[[n.x,n.y]]))))},Wt=Object(a.useState)(!1),Vt=Object(w.a)(Wt,2),Ht=Vt[0],_t=Vt[1];Object(a.useEffect)((function(){_t(!0)}),[Se]);var Yt=function(e){var t=e.x-se.x,n=e.y-se.y;le({x:e.x,y:e.y}),pe(de+100*t*(re-1)),be(ge+100*n*(re-1))},Gt=function(){var e=T-1;e>=0&&(qt(k[e]),Kt(O[e]))},Xt=function(t){if(t){var n=function(e,t){for(;t.firstChild;)t.removeChild(t.lastChild);for(;e.firstChild;)t.appendChild(e.firstChild)},a=bt.importIllustrationNode(t);a&&a.illustration?(n(a.illustration,Ie.current),Ve(t),a.skeleton?(Ge(!0),setTimeout((function(){n(a.skeleton,ze.current)}))):Ge(!1),e.handleUpdateIsPreviewDisable(!1)):Xe(ve({title:"Invalid doodle",content:"Cannot parse the input doodle.",onConfirm:function(){}}))}},qt=function(e){l(e)},Kt=function(e){p(e)};return Object(a.useImperativeHandle)(t,(function(){return{selectColor:qt,selectWeight:Kt,dispatchDoodleData:Ke}})),r.a.createElement(Ot,null,Ne.isMobile?r.a.createElement(jt,null,"Pan with two fingers ",r.a.createElement("br",null)," Pinch to zoom"):r.a.createElement(jt,null,"Right click and hold to pan ",r.a.createElement("br",null)," Scroll to zoom"),r.a.createElement(Tt,{className:"floating"},r.a.createElement(Nt,{onClick:function(){e.penSelectionRef.current.handleSelectPenSelection()},type:"weight",className:"tooltip-button",onMouseDown:function(){return!1},onMouseUp:function(){return!1},onDrag:function(){return!1}},Ne.isMobile?null:r.a.createElement("span",{class:"tooltip"},"Stroke style")),r.a.createElement(Nt,{onClick:function(){T>1&&(delete v[T-1],k.pop(),O.pop(),P(T-1))},type:"redo",className:"tooltip-button",enabled:T>1,onMouseDown:function(){return!1},onMouseUp:function(){return!1},onDrag:function(){return!1}},Ne.isMobile?null:r.a.createElement("span",{class:"tooltip"},"Undo")),Ne.isMobile?null:r.a.createElement(r.a.Fragment,null,r.a.createElement(Pt,{onClick:function(){De.current.click()},className:"tooltip-button",type:"file-open",onMouseDown:function(){return!1},onMouseUp:function(){return!1},onDrag:function(){return!1}},r.a.createElement("span",{class:"tooltip"},"Import doodle")),r.a.createElement(Pt,{onClick:function(){var e=new Blob([JSON.stringify({data:window.btoa((new XMLSerializer).serializeToString(Be.current))})],{type:"application/json"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download="scroobly-doodle.json",n.click(),Xe(ve({title:"Doodle downloaded!",content:"The current doodle file has been downloaded. You can share it or import it later to do more editing.",onConfirm:function(){},confirmText:"Ok"}))},className:"tooltip-button",type:"file-download",onMouseDown:function(){return!1},onMouseUp:function(){return!1},onDrag:function(){return!1}},r.a.createElement("span",{class:"tooltip"},"Export doodle")))),r.a.createElement(Mt,{ref:Fe,onMouseDown:function(e){var t,n,a=e||window.event;if("which"in a?(t=3===a.which,n=0===a.which):"button"in a&&(t=2===a.button,n=0===a.button),t)return Te(!0),Oe([e.clientX-R.left,e.clientY-R.top]),void St([0,0]);!n||Ne.isMobile||Me||I||z(!0)},onMouseMove:function(e){if(!Me)return Me||Ne.isMobile||!I||k.length!==T?void(v[T]&&!Me&&I&&!Ne.isMobile&&v[T]&&Ut(e.clientX-(te-q)/2,e.clientY)):(Object(lt.a)(Fe.current),g(Object(s.a)(Object(s.a)({},v),{},Object(st.a)({},T,[]))),E([].concat(Object(L.a)(k),[o])),void j([].concat(Object(L.a)(O),[d])));Ht&&St([e.clientX-R.left-Se[0],e.clientY-R.top-Se[1]])},onWheel:function(e){var t=e.clientX-(te-q)/2,n=e.clientY,a=Jt(t,n);if(!(a.x<0||a.x>1200||a.y<0||a.y>1200)){var r=Rt(re*(1-e.deltaY/q),_,G);Yt({x:a.x/U,y:a.y/U}),ie(r)}},lineWeight:d*re,lineColor:o,isGesture:Me,onContextMenu:function(){window.event.returnValue=!1}},r.a.createElement(Ct,{ref:Be,x:"0px",y:"0px",width:"1200px",height:"1200px",viewBox:"0 0 1200 1200",translateX:de,translateY:ge,scaling:re,pivot:se,style:{enableBackgroun
1d:"new 0 0 1200 1200"}},r.a.createElement("g",{id:"illustration"},r.a.createElement("g",{id:"imported-illustration",ref:Ie}),Object.keys(v).map((function(e,t){return r.a.createElement(vt,{key:t,line:v[e],color:k[t],weight:O[t],numLine:T,numIndex:t})}))),Ye?r.a.createElement("g",{id:"skeleton",ref:ze}):r.a.createElement(gt,null))),r.a.createElement("input",{style:{display:"none"},type:"file",ref:De,onChange:function(e){return function(e){var t=new FileReader;t.onload=function(e){Xe(ve({title:"Import doodle?",content:"You\u2019ll lose all your scribbles and need to start again from scratch.",onConfirm:function(){try{for(var t=JSON.parse(e.target.result),n=atob(t.data),a=T;a>1;)delete v[a-1],k.pop(),O.pop(),a-=1;P(a),Xt(n)}catch(e){console.log("Invalid Import",e)}},onCancel:function(){}}))},e.target.files.length&&t.readAsText(e.target.files[0])}(e)},accept:".json"}))}));function Rt(){var e=Object(xe.a)(["\n    -webkit-appearance: none;\n    appearance: none;\n    height: 6px;\n    outline: none;\n    margin: auto;\n    width: 100%;\n    border-radius: 5px;\n    box-sizing: border-box;\n\n    touch-action: manipulation;\n\n    ::-webkit-slider-runnable-track {\n        // -webkit-appearance: none;\n        color: #13bba4;\n    }\n    ::range-thumb {\n        appearance: none;\n        width: 1.2rem;\n        height: 1.2rem;\n        border-radius: 50%;\n        cursor: pointer;\n\n        background-color: white;\n        border: 4px solid\n            ",";\n        box-sizing: border-box;\n        -moz-box-sizing: border-box;\n        -webkit-box-sizing: border-box;\n    }\n\n    ::-webkit-slider-thumb {\n        -webkit-appearance: none;\n        width: 1.2rem;\n        height: 1.2rem;\n        border-radius: 50%;\n        cursor: pointer;\n\n        background-color: white;\n        border: 4px solid\n            ",';\n        box-sizing: border-box;\n        -moz-box-sizing: border-box;\n        -webkit-box-sizing: border-box;\n\n        // background-image: url("resources/illustration/circleSliderPink.svg");\n        // background-repeat: no-repeat;\n        // background-size: contain;\n        // background-position-x: center;\n        // background-position-y: 40%;\n    }\n\n    ::-moz-range-thumb {\n        -moz-appearance: none;\n        width: 1.2rem;\n        height: 1.2rem;\n        border-radius: 50%;\n        cursor: pointer;\n\n        background-color: white;\n        border: 4px solid\n            ',';\n        box-sizing: border-box;\n        -moz-box-sizing: border-box;\n        -webkit-box-sizing: border-box;\n\n        // background-image: url("resources/illustration/circleSliderPink.svg");\n        // background-repeat: no-repeat;\n        // background-size: contain;\n        // background-position-x: center;\n        // background-position-y: 40%;\n    }\n']);return Rt=function(){return e},e}function Ft(){var e=Object(xe.a)(["\n    // width: calc(var(--vw, 1vw) * 16);\n    max-width: 60px;\n    // height: calc(var(--vw, 1vw) * 16);\n    max-height: 60px;\n    border-radius: 50%;\n    margin: 0 5%;\n    touch-action: manipulation;\n"]);return Ft=function(){return e},e}function Bt(){var e=Object(xe.a)(["\n    display: flex;\n    align-item: center;\n    justify-content: center;\n"]);return Bt=function(){return e},e}function Dt(){var e=Object(xe.a)(['\n    display: "flex";\n    align-item: center;\n    justify-content: center;\n    flex-direction: column;\n    margin: 0 2rem;\n']);return Dt=function(){return e},e}function It(){var e=Object(xe.a)(["\n    width: 20vw;\n    margin: 1rem 1rem 0 1rem;\n    border: none;\n    font-weight: 500;\n    font-family: google-sans-reg;\n    font-size: 1rem;\n    background-color: white;\n    outline: 0;\n\n    cursor: pointer;\n"]);return It=function(){return e},e}function zt(){var e=Object(xe.a)(["\n    display: flex;\n    align-item: center;\n    justify-content: center;\n    touch-action: manipulation;\n"]);return zt=function(){return e},e}function Jt(){var e=Object(xe.a)(["\n    display: flex;\n    flex-wrap: wrap;\n    align-item: center;\n    justify-content: center;\n\n    touch-action: manipulation;\n"]);return Jt=function(){return e},e}function Ut(){var e=Object(xe.a)(["\n    width: 10vw;\n    max-width: 50px;\n    height: 10vw;\n    max-height: 50px;\n    border-radius: 10vw;\n    margin: 0.2rem;\n\n    background-repeat: no-repeat;\n    background-size: 60%;\n    background-position: center;\n\n    cursor: pointer;\n    touch-action: manipulation;\n"]);return Ut=function(){return e},e}function Wt(){var e=Object(xe.a)(["\n    display: flex;\n    position: absolute;
1\n    align-items: stretch;\n    justify-content: center;\n    flex-direction: column;\n    margin: 0 1rem;\n\n    touch-action: manipulation;\n"]);return Wt=function(){return e},e}function Vt(){var e=Object(xe.a)(["\n    position: absolute;\n    top: 0.8rem;\n    right: 0.8rem;\n\n    background-color: white;\n\n    border: none;\n    width: 18px;\n    height: 17px;\n\n    cursor: pointer;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    z-index: 1000;\n\n    touch-action: manipulation;\n"]);return Vt=function(){return e},e}function Ht(){var e=Object(xe.a)(["\n    position: absolute;\n    width: 100vw;\n    max-width: 800px;\n    bottom: 0;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-evenly;\n    text-align: center;\n    border-top-left-radius: 1rem;\n    border-top-right-radius: 1rem;\n    background-color: white;\n    transition: height 0.2s;\n    z-index: 100;\n\n    touch-action: none;\n"]);return Ht=function(){return e},e}var _t=Le.a.div.attrs((function(e){return{style:{height:e.isSelected?e.isSelectPickColor?"30vh":"16vh":"0vh",maxHeight:"280px"}}}))(Ht()),Yt=Le.a.button.attrs((function(e){return{style:{visibility:e.isSelected?"visible":"hidden",display:e.isSelected?"flex":"none"}}}))(Vt()),Gt=Le.a.div.attrs((function(e){return{style:{visibility:e.isSelected?"visible":"hidden"}}}))(Wt()),Xt=Le.a.div.attrs((function(e){return{style:{backgroundColor:e.bgColor,border:e.border,backgroundImage:e.isPicked?e.backgroundImage:null}}}))(Ut()),qt=Le.a.div(Jt()),Kt=Le.a.div(zt()),Qt=(Le.a.button.attrs((function(e){return{style:{color:e.isActive?"black":"grey"}}}))(It()),Le.a.div.attrs((function(e){return{style:{visibility:e.isSelected?"visible":"hidden"}}}))(Dt()),Le.a.div(Bt()),Le.a.img(Ft())),Zt=Le.a.input.attrs((function(e){return{style:{background:"linear-gradient(to right, "+e.penColorPicked+" 0%, "+e.penColorPicked+" "+e.value/e.max*100+"%, #C4C4C4 "+e.value/e.max*100+"%, #C4C4C4 100%)",border:"#FFFFFF"===e.penColorPicked?"1px solid #444":null}}}))(Rt(),(function(e){return"#FFFFFF"===e.penColorPicked?"#444":e.penColorPicked}),(function(e){return"#FFFFFF"===e.penColorPicked?"#444":e.penColorPicked}),(function(e){return"#FFFFFF"===e.penColorPicked?"#444":e.penColorPicked})),$t=Object(a.forwardRef)((function(e,t){var n=Object(a.useState)(!1),i=Object(w.a)(n,2),o=i[0],c=i[1],s=Object(a.useState)("pencil"),l=Object(w.a)(s,2),u=l[0],h=(l[1],Object(a.useState)(["#FFFFFF","#FBEBDB","#FBBC04","#FB04E2","#FC7C34","#FF480E","#E11100","#000000","#F4DD09","#91FF3A","#00FFE0","#73CDFF","#2DBA00","#007D94","#FED6E7","#E290B4","#D95885","#A55185","#ACA6E2","#8B3FF8","#006EFF"])),d=Object(w.a)(h,1)[0],p=Object(a.useState)(e.doodleNumline-1===0?"#000000":e.doodleColor[e.doodleNumline-1]),f=Object(w.a)(p,2),m=f[0],v=f[1],g=Object(a.useState)(e.doodleNumline-1===0?10:e.doodleWeight[e.doodleNumline-1]),b=Object(w.a)(g,2),y=b[0],k=b[1],E=Object(a.useState)(!1),x=Object(w.a)(E,2),L=x[0],S=x[1],O=Object(a.useState)(.01*window.innerWidth),j=(Object(w.a)(O,1)[0],Object(a.useState)(.01*window.innerHeight)),C=(Object(w.a)(j,1)[0],Object(a.useRef)(null));function M(t){var n=(t.pageX-C.current.getBoundingClientRect().left)/(C.current.getBoundingClientRect().right-C.current.getBoundingClientRect().left),a=C.current.getAttribute("max"),r=1/(a-1),i=[];a++;for(var o=0;o<a;o++)i.push(r*o);var c=i.slice(),s=i.sort((function(e,t){return Math.abs(n-e)-Math.abs(n-t)}))[0];k(c.indexOf(s)+1),e.drawAreaRef.current.selectWeight(c.indexOf(s)+1)}Object(a.useEffect)((function(){return navigator.platform.match(/iPhone|iPod|iPad/)&&C&&C.current.addEventListener("touchmove",M,{passive:!0}),function(){C.current.removeEventListener("touchmove",M,{passive:!0})}}),[C]);var T=function(){c(!o),L&&S(!L)},P=function(){S(!L),o&&c(!o)},N=function(){c(!o),L&&S(!L)};Object(a.useImperativeHandle)(t,(function(){return{handleSelectPenColor:T,handleSelectPenWeight:P,handleSelectPenSelection:N}}));var A=d.map((function(t,n){return r.a.createElement(Xt,{key:n,onClick:function(){return function(t){switch(console.log(u),u){case"pencil":return v(t),void e.drawAreaRef.current.selectColor(t)}}(t)},bgColor:t,isPicked:m===t,backgroundImage:"#FFFFFF"===t?'url("./resources/illustration/check_24px_black.svg")':'url("./resources/illustration/check_24px.svg")',border:"#FFFFFF"===t?"1px solid #444":null})}));return r.a.createElement(_t,{isSelected:o||L,isSelectPickColor:o},r.a.createElement(Yt,{onClick:function(){o?c(!o):L&&S(!L)},isSelected:o||L},r.a.createElement("img",{src:"./resources/illustration/x_icon.svg"})),r.a.createElement(Gt,{isSelected:o},r.a.createElement(qt,null,A),r.a.createElement(Kt,null,r.a.createElement(Qt,{src:"resources/illustration/smallWeight.svg"}),r.a.createElement(Zt,{type:"range",min:1,max:31,step:1,value:y,onChange:function(t){k(t.target.value),e.drawAreaRef.current.selectWeight(t.target.value)},penColorPicked:m,ref:C}),r.a.createElement(Qt,{src:"resources/illustration/bigWeight.svg"}))))}));function en(){var e=Object(xe.a)(["\n    position: absolute;\n    bottom: 5vh;\n    left: 50%;\n    transform: translate(-50%, 0);\n\n    touch-action: manipulation;\n"]);return en=function(){return e},e}function tn(){var e=Object(xe.a)(["\n    display: inline;\n    flex-direction: column;
1\n    align-item: center;\n    text-align: center;\n    justify-content: center;\n    width: 100vw;\n    max-width: 800px;\n"]);return tn=function(){return e},e}var nn=Le.a.div(tn()),an=Le.a.div(en());var rn=function(e){var t=e.doodleStrokes,n=e.doodleNumline,i=e.doodleColor,o=e.doodleImportSVGString,c=e.doodleWeight,s=e.doodlePivot,l=e.doodleTranslateX,u=e.doodleTranslateY,h=e.doodleScaling,d=Object(a.useRef)(null),p=Object(a.useRef)(null),f=Object(a.useState)(!0),m=Object(w.a)(f,2),v=m[0],g=m[1];return r.a.createElement(nn,null,r.a.createElement(At,{ref:d,penSelectionRef:p,shapeStroke:t,doodleImportSVGString:o,doodleNumline:n,doodleColor:i,doodleWeight:c,doodlePivot:s,doodleTranslateX:l,doodleTranslateY:u,doodleScaling:h,handleUpdateIsPreviewDisable:function(e){g(e)}}),r.a.createElement($t,{ref:p,drawAreaRef:d,doodleNumline:n,doodleColor:i,doodleWeight:c}),r.a.createElement(an,null,r.a.createElement(Pe,{nextPage:"preview",text:"Preview",handleSelectedBody:null,isDisabled:v,drawAreaRef:d})))};function on(){var e=Object(xe.a)(["\n    width: calc(var(--vw, 1vw) * 10);\n    height: calc(var(--vw, 1vw) * 10);\n    max-width: 50px;\n    max-height: 50px;\n    position: absolute;\n    left: 1rem;\n\n    background-color: Transparent;\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 75%;\n\n    z-index: 100;\n\n    border: none;\n    outline: none;\n\n    cursor: pointer;\n    touch-action: manipulation;\n    user-select: none;\n\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n\n    img {\n        cursor: pointer;\n        touch-action: manipulation;\n        user-select: none;\n    }\n"]);return on=function(){return e},e}var cn=Le.a.button.attrs((function(e){return{style:{backgroundImage:"url("+e.bgIcon+")",top:Ne.isMobile?"2.6rem":"2.2rem"}}}))(on());var sn=function(e){var t=e.page,n=e.clearModalRef,a=Object(c.c)();return r.a.createElement(cn,{onClick:function(){switch(t){case"bodySelection":a({type:"SET_ACTIVE_PAGE",activePage:"character-selection"}),a(me(be));case"charactorDrawing":n.current.handleUpdateIsModalHidden(!1)}},onMouseDown:function(){return!1},onMouseUp:function(){return!1},onDrag:function(){return!1},bgIcon:"./resources/illustration/arrow_back_pink.svg"})};function ln(){var e=Object(xe.a)(['\n    margin: 0 6vw;\n\n    outline: 0;\n    border: none;\n    background-color: transparent;\n    color: #2889e2;\n    font-family: "google-sans-reg", sans-serif;\n    font-size: medium;\n\n    cursor: pointer;\n    touch-action: manipulation;\n']);return ln=function(){return e},e}function un(){var e=Object(xe.a)(["\n    display: flex;\n    margin: 2vh 0;\n    justify-content: flex-end;\n    touch-action: manipulation;\n"]);return un=function(){return e},e}function hn(){var e=Object(xe.a)(["\n    display: flex;\n    flex-direction: column;\n    text-align: left;\n    margin-left: 4vw;\n    margin-right: 4vw;\n\n    p {\n        margin: 0;\n    }\n    touch-action: manipulation;\n"]);return hn=function(){return e},e}function dn(){var e=Object(xe.a)(["\n    width: 75vw;\n    max-width: 800px;\n    height: 25vh;\n\n    display: flex;\n    flex-direction: column;\n    justify-content: space-evenly;\n\n    border-radius: 2vw;\n    background-color: white;\n    touch-action: manipulation;\n"]);return dn=function(){return e},e}function pn(){var e=Object(xe.a)(["\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n\n    width: 100vw;\n    height: 100vh;\n\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n\n    background-color: rgba(0, 0, 0, 0.4);\n    z-index: 1000;\n    touch-action: manipulation;\n"]);return pn=function(){return e},e}var fn=Le.a.div.attrs((function(e){return{style:{visibility:e.isHidden?"hidden":"visible"}}}))(pn()),mn=Le.a.div.attrs((function(e){return{style:{fontSize:e.isMobile?"1rem":"1.2rem"}}}))(dn()),vn=Le.a.div(hn()),gn=Le.a.div(un()),bn=Le.a.button.attrs((function(e){return{style:{fontSize:e.isMobile?"1rem":"1.2rem"}}}))(ln()),yn=Object(a.forwardRef)((function(e,t){var n=Object(a.useState)(!0),i=Object(w.a)(n,2),o=i[0],s=i[1],l=Object(c.c)(),u=function(e){console.log("update from modal component!"),s(e)};return Object(a.useImperativeHandle)(t,(function(){return{handleUpdateIsModalHidden:u}})),r.a.createElement(fn,{isHidden:o},r.a.createElement(mn,{isMobile:Ne.isMobile},r.a.createElement(vn,null,r.a.createElement("h3",null,"Are you sure?"),r.a.createElement("p",null,"You\u2019ll lose all your scribbles and need to start again from scratch.")),r.a.createElement(gn,null,r.a.createElement(bn,{isMobile:Ne.isMobile,onClick:function(){return s(!0)}},"Cancel"),r.a.createElement(bn,{isMobile:Ne.isMobile,onClick:function(){s(!0),l({type:"SET_DOODLE_PAGE",doodlePage:"bodySelection"})}},"Sure"))))}));function wn(){var e=Object(xe.a)(["\n    --vh: ","px;\n    --vw: ","px;\n    margin: 0;\n    min-height: 100vh;\n    min-height: -webkit-fill-available;\n\n    touch-action: manipulation;\n"]);return wn=function(){return e},e}var kn=Le.a.div(wn(),(function(e){return e.vh}),(function(e){return e.vw}));var En=function(){var e=Object(a.useState)(.01*window.innerWidth),t=Object(w.a)(e,1)[0],n=Object(a.useState)(.01*window.innerHeight),i=Object(w.a)(n,1)[0],o=Object(c.d)((function(e){return e.doodlePage})),l=Object(c.d)((function(e){return e.doodleLineHistory})),u=Object(a.useRef)(null),h=Object(c.c)(),d=function(e){var t=e.importSvgString;h(me(Object(s.a)(Object(s.a)({},be),{},{doodleImportSVGString:t}))),h({type:"SET_DOODLE_PAGE",doodlePage:"charactorDrawing"})},p=function(){switch(o){case"bodySelection":return r.a.createElement(ct,{updateInitialSVG:d});case"charactorDrawing":return r.a.createElement(rn,{doodleStrokes:l.doodleStrokes,doodleNumline:l.doodleNumline,doodleColor:l.doodleColor,doodleWeight:l.doodleWeight,doodleImportSVGString:l.doodleImportSVGString,doodlePivot:l.doodlePivot,doodleTranslateX:l.doodleTranslateX,doodleTranslateY:l.doodleTranslateY,doodleScaling:l.doodleScaling})}};return r.a.createElement(kn,{vw:t,vh:i},r.a.createElement(sn,{page:o,clearModalRef:u,doodleNumLine:l.doodleNumline}),r.a.createElement(yn,{page:o,ref:u}),r.a.createElement(p,null))},xn=n(174),Ln=n.n(xn),Sn=n(232),On=n.n(Sn),jn=n(242),Cn=n.n(jn),Mn=n(241),Tn=n.n(Mn),Pn=n(327),Nn=n.n(Pn),An=n(243),Rn=n.n(An),Fn=n(321),Bn=n.n(Fn),Dn=n(53),In=n(416),zn=n(415),Jn=n(322),Un=n.n(Jn),Wn={showFPS:!0},Vn={showFPS:!1};var Hn,_n=function(){function e(t,n,a,r){Object(m.a)(this,e),this.width=n,this.height=a,t.width=n,t.height=a,this.canvas=t,this.videoCtx=t.getContext("2d"),this.videoPlayer=document.createElement("video"),this.videoPlayer.playsInline=!0,this.camList=[],this.switching=!1,this.camId=r||0,this.currentDeviceName="",this.initialCameraId=r,this.facingBack=!1}return Object(v.a)(e,[{key:"initialize",value:function(){var e=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){e.next=3;break}throw new Error("Browser API navigator.mediaDevices.getUserMedia not available");case 3:return e.next=5,this.loadCamList();case 5:return e.next=7,this.loadCurrentCamera();case 7:this.stream=e.sent,e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(0),console.log("this browser does not support video capture,or this device does not have a camera",e.t0),e.t0;case 14:case"end":return e.stop()}}),e,this,[[0,10]])})));return function(){return e.apply(this,arguments)}}()},{key:"stop",value:function(){var e=this.videoPlayer;e&&e.srcObject&&e.srcObject.getTracks().forEach((function(e){e.stop()}))}},{key:"createNewCamera",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t,n,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(t=this.videoPlayer).width=this.width,t.height=this.height,t.srcObject&&t.srcObject.getTracks().forEac
1h((function(e){e.stop()})),console.log("Requesting camera....",this.width,this.height),n={audio:!1},Ne.isMobile?n.video={facingMode:this.camId%2===0?"user":"environment",aspectRatio:1}:n.video={deviceId:this.camList[this.camId].deviceId,width:this.width,height:this.height},e.next=9,navigator.mediaDevices.getUserMedia(n);case 9:return a=e.sent,t.srcObject=a,e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"loadCurrentCamera",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.facingBack=this.deviceHasTag(this.camList[this.camId],"back"),this.currentDeviceName=this.camList[this.camId].label,e.prev=2,e.next=5,this.createNewCamera();case 5:t=e.sent,e.next=13;break;case 8:return e.prev=8,e.t0=e.catch(2),alert("Could not start video camera. "+e.t0),console.log("Start video camera error: ",e.t0),e.abrupt("return",null);case 13:return e.next=15,new Promise((function(e){t.onloadedmetadata=function(){e()}}));case 15:return t.play(),e.abrupt("return",t);case 17:case"end":return e.stop()}}),e,this,[[2,8]])})));return function(){return e.apply(this,arguments)}}()},{key:"draw",value:function(){var e=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.videoCtx.clearRect(0,0,this.width,this.height),this.videoCtx.save(),this.facingBack||(this.videoCtx.scale(-1,1),this.videoCtx.translate(-this.width,0)),this.videoCtx.drawImage(this.stream,0,0,this.width,this.height),this.videoCtx.restore();case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"loadCamList",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({audio:!1,video:{}});case 2:return e.next=4,navigator.mediaDevices.enumerateDevices();case 4:e.sent.forEach((function(e){"videoinput"!==e.kind||t.deviceHasTag(e,"infrared")||(t.camList.push(e),t.deviceHasTag(e,"front")&&void 0===t.initialCameraId&&(t.camId=t.camList.length-1))}));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"switch",value:function(){var e=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(this.camList.length<2)){e.next=2;break}return e.abrupt("return");case 2:return this.camId=(this.camId+1)%this.camList.length,e.next=5,this.loadCurrentCamera();case 5:return this.stream=e.sent,e.abrupt("return",!!this.stream);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"deviceHasTag",value:function(e,t){return!(!e.label||"string"!==typeof e.label)&&e.label.toLowerCase().includes(t)}}]),e}(),Yn=n(234),Gn=n(57),Xn=function(){function e(){Object(m.a)(this,e),Hn&&console.log("[ShaderManager] WARNING: Duplicate ShaderManager instance. Replacing..."),this.shaders={},this.initialized=!1,Hn=this}return Object(v.a)(e,[{key:"addShaders",value:function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)this.shaders[t[n]]=e[t[n]]}},{key:"get",value:function(e){return this.shaders[e]}}],[{key:"isInitialized",value:function(){return this.initialized}},{key:"init",value:function(){this.initialized||(Hn=new e,this.initialized=!0,console.log("[ShaderManager] initialized."))}},{key:"getInstance",value:function(){return Hn}}]),e}(),qn={};ae.forEach((function(e){return qn[e]=1}));var Kn,Qn=function(){function e(t){Object(m.a)(this,e),this.root=new X,this.pathsGroup=new X,this.debugGroup=new X,this.skeletonDebugGroup=new X,this.skeletonLableGroup=new X,this.root.addChild(this.pathsGroup),this.root.addChild(this.debugGroup),this.root.addChild(this.skeletonLableGroup),this.root.addChild(this.skeletonDebugGroup),this.paths=[],this.scope=t}return Object(v.a)(e,[{key:"initResources",value:function(){Xn.isInitialized()||Xn.init();var e={"bezier-skinning-frag":"uniform vec3 u_color;\n\nvarying float v_confidenceScore;\n\nvoid main( void ) {\n    float alpha = smoothstep(0., 0.3, v_confidenceScore);\n    gl_FragColor = vec4(u_color, alpha);\n}\n","bezier-skinning-vert":"attribute vec3 v1;\nattribute vec3 vOut;\nattribute vec3 vIn;\nattribute float curveT;\nattribute vec2 confidenceScores;\n\nvarying float v_confidenceScore;\n\nvoid main()\t{\n    vec3 v0 = position;\n    vec3 pos = (1. - curveT) * (1. - curveT) * (1. - curveT) * v0 +\n        3. * (1. - curveT) * (1. - curveT) * curveT * vOut +\n        3. * (1. - curveT) * curveT * curveT * vIn +\n        curveT * curveT * curveT * v1;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( pos, 1.0 );\n    v_confidenceScore = confidenceScores.x * (1. - curveT) + confidenceScores.y * curveT;\n}\n","bezier-stroke-skinning-vert":"attribute vec3 v1;\nattribute vec3 vOut;\nattribute vec3 vIn;\nattribute float curveT;\nattribute float angleT;\nattribute vec2 confidenceScores;\n\nuniform float u_strokeWidth;\nuniform float u_strokeScale;\n\nvarying float v_confidenceScore;\n\nvoid main()\t{\n    vec3 v0 = position;\n    vec3 pos = (1. - curveT) * (1. - curveT) * (1. - curveT) * v0 +\n        3. * (1. - curveT) * (1. - curveT) * curveT * vOut +\n        3. * (1. - curveT) * curveT * curveT * vIn +\n        curveT * curveT * curveT * v1;\n    vec3 t = 3. * (1. - curveT) * (1. - curveT) * (vOut - v0) +\n        6. * (1. - curveT) * curveT * (vIn - vOut) +\n        3. * curveT * curveT * (v1 - vIn);\n    t = normalize(t);\n    float cosT = cos(angleT);\n    float sinT = sin(angleT);\n    vec3 n0 = vec3(t.x * cosT - t.y * sinT, t.x * sinT + t.y * cosT, 0.);\n    pos = pos + n0 * u_strokeWidth * u_strokeScale;\n\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( pos, 1.0 );\n    v_confidenceScore = confidenceScores.x * (1. - curveT) + confidenceScores.y * curveT;\n}\n"};Xn.getInstance().addShaders(e)}},{key:"updateSkeleton",value:function(e,t){var n=this;if(this.pose=e,this.face=t,this.skeleton.update(e,t),this.skeleton.isValid){var a=function(e){e&&(e.currentPosition.set(0,0),Object.keys(e.skinning).forEach((function(t){var n=e.skinning[t],a=n.bone.transform(n.transform);e.currentPosition.addScaledVector(a,n.weight)})))};this.skinnedPaths.forEach((function(e){var t=e.mesh,r=t.geometry.getAttribute("position").array,i=t.geometry.getAttribute("v1").array,o=t.geometry.getAttribute("vOut").array,c=t.geometry.getAttribute("vIn").array,s=t.geometry.getAttribute("confidenceScores").array,l=0,u=0,h=0;
1e.curves.forEach((function(t,n){var d=function(e){for(var t=Object.keys(e),n=0,a=0;a<t.length;a++){var r=e[t[a]];n+=r.bone.score*r.weight}return n};l=d(t.v0.skinning),u=d(t.v1.skinning),a(t.v0),a(t.v1),a(t.handleOut),a(t.handleIn);for(var p=t.v0.currentPosition,f=t.v1.currentPosition,m=t.handleOut?t.handleOut.currentPosition:f,v=t.handleIn?t.handleIn.currentPosition:p,g=e.segCounts[n],b=0;b<g;b++){var y=h+b;r[3*y]=p.x,r[3*y+1]=p.y,i[3*y]=f.x,i[3*y+1]=f.y,o[3*y]=m.x,o[3*y+1]=m.y,c[3*y]=v.x,c[3*y+1]=v.y,s[2*y]=l,s[2*y+1]=u}h+=g})),t.geometry.getAttribute("position").needsUpdate=!0,t.geometry.getAttribute("v1").needsUpdate=!0,t.geometry.getAttribute("vOut").needsUpdate=!0,t.geometry.getAttribute("vIn").needsUpdate=!0,t.geometry.getAttribute("confidenceScores").needsUpdate=!0,t.geometry.computeBoundingBox(),t.material.uniforms.u_strokeScale.value=n.skeleton.currentBodyScale}))}else this.fadePaths()}},{key:"fadePaths",value:function(){this.skinnedPaths.forEach((function(e){for(var t=e.mesh,n=t.geometry.getAttribute("confidenceScores").array,a=0;a<n.length;a++)n[a]=Math.max(n[a]-.1,0);t.geometry.getAttribute("confidenceScores").needsUpdate=!0}))}},{key:"bindSkeleton",value:function(){var t=Object(h.a)(u.a.mark((function t(n,a){var r,i,o,c=this;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=e.parseIllustrationTree(a),this.skeleton=n,this.skinnedPaths=[],i=u.a.mark((function e(t){var a,i,o,s,l;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=r[t]).drawOrder=t,i=[],o={},a.userData.node.parentNode.skinningJoints&&(o=a.userData.node.parentNode.skinningJoints,i=n.bones.filter((function(e){return o[e.kp0.name]&&o[e.kp1.name]}))),s=n.bNose3Nose4.kp1.position,l=[],i.forEach((function(e){var t=o[e.kp0.name],n=o[e.kp1.name],a=(new re).set(t,n,e.skeleton,e.type);t.transformFunc=Z.getTransformFunc(e.kp0.position,s,t.position),n.transformFunc=Z.getTransformFunc(e.kp1.position,s,n.position),a.parent=e,l.push(a)})),n.secondaryBones=n.secondaryBones.concat(l),e.next=11,c.bindPathToBones(a,i);case 11:case"end":return e.stop()}}),e)})),o=0;case 5:if(!(o<r.length)){t.next=10;break}return t.delegateYield(i(o),"t0",7);case 7:o++,t.next=5;break;case 10:this.scope.renderer.render(this.scope.scene,this.scope.camera);case 11:case"end":return t.stop()}}),t,this)})));return function(e,n){return t.apply(this,arguments)}}()},{key:"pad",value:function(e,t){for(var n=e+"";n.length<t;)n="0"+n;return n}},{key:"bindGroup",value:function(e,t){var n=this,a=[],r={},i=e.getItems({recursive:!0}),o=0;i.forEach((function(t){t.name||(t.name=e.name+"_sub_item_"+n.pad(o,3));var i=t.name?ae.find((function(e){return t.name.startsWith(e)})):null;i?r[i]={position:t.bounds.center,name:i}:Q.isPath(t)?a.push(t):Q.isShape(t)&&a.push(t.toPath()),o++}));var c=[],s=t.bones.filter((function(e){return r[e.kp0.name]&&r[e.kp1.name]})),l=t.bNose3Nose4.kp1.position;s.forEach((function(e){var t=r[e.kp0.name],n=r[e.kp1.name],a=new re(t,n,e.skeleton,e.type);t.transformFunc=Z.getTransformFunc(e.kp0.position,l,t.position),n.transformFunc=Z.getTransformFunc(e.kp1.position,l,n.position),a.parent=e,c.push(a)})),a.forEach((function(e){n.bindPathToBones(e,c)})),t.secondaryBones=t.secondaryBones.concat(c)}},{key:"getWeights",value:function(e,t){var n=0,a={};t.forEach((function(t){var n=Z.getClosestPointOnSegment(t.kp0.position,t.kp1.position,e).distanceTo(e),r=1/(n*n*n*n);a[t.name]={value:r,bone:t}}));var r=Object.values(a).sort((function(e,t){return t.value-e.value}));return r=r.splice(0,4),a={},n=0,r.forEach((function(e){a[e.bone.name]=e,n+=e.value})),0===n?{}:(Object.values(a).forEach((function(e){e.value/=n})),a)}},{key:"getSkinning",value:function(e,t){var n={};return Object.keys(t).forEach((function(a){n[a]={bone:t[a].bone,weight:t[a].value,transform:t[a].bone.getPointTransform(e)}})),{boneTransform:n,currentPosition:new V(0,0)}}},{key:"bindPathToBones",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n){var a,r,i,o,c,s,l,h,d,p,f,m,v,g=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.userData.style&&t.userData.style.stroke&&t.userData.style.strokeWidth,r=t.userData.style&&t.userData.style.fill&&"none"!==t.userData.style.fill,i=function(e,t,n){var a=n||e,r=t&&t.length?t:g.skeleton.findBoneGroup(a),i=g.getWeights(a,r),o={};
1return Object.keys(i).forEach((function(t){o[t]={bone:i[t].bone,weight:i[t].value,transform:i[t].bone.getPointTransform(e)}})),{skinning:o,position:e,currentPosition:e.clone()}},o=function(e,t,a){return{v0:i(e.v0,n),handleOut:i(e.v1,n,t?e.v0:null),handleIn:i(e.v2,n,a?e.v3:null),v1:i(e.v3,n),curve:e}},c=function(e){return{v0:i(e.v1,n),v1:i(e.v2,n),curve:e}},s=[],l=t.subPaths[0],t.currentPath&&t.currentPath.autoClose&&(h=l.curves[0],d=l.curves[l.curves.length-1],p=Q.isLineCurve(h)?h.v1:h.v0,f=Q.isLineCurve(d)?d.v2:d.v3,p.distanceTo(f)>Number.EPSILON&&l.curves.push(new T(f,p))),l.curves.forEach((function(e,t){if(Q.isLineCurve(e))s.push(c(e));else if(Q.isCubicBezierCurve(e)){var n=l.curves[(t+1)%l.curves.length],a=l.curves[(t-1+l.curves.length)%l.curves.length],r=Q.isCubicBezierCurve(a)&&Z.isCollinear(a.v2,e.v0,e.v1),i=Q.isCubicBezierCurve(n)&&Z.isCollinear(n.v1,e.v3,e.v2),u=o(e,r,i);s.push(u)}else{if(!Q.isEllipseCurve(e))return void console.log("Unsupported curve type: ",e.type,e);var h=Q.ellipseCurveToBezier(e);s=h.map((function(e){return o(e,!0,!0)}))}})),!r){e.next=16;break}if(m={drawOrder:t.drawOrder,curves:s,fillColor:t.color},!t.userData||!t.userData.node||"image"!==t.userData.node.nodeName){e.next=14;break}return e.next=14,new Promise((function(e,n){var a=t.userData.node.href.baseVal;(new B).load(a,(function(t){m.texture=t,e()}))}));case 14:this.skinnedPaths.push(m),this.pathsGroup.add(this.createPathGeometry(m));case 16:a&&(v={drawOrder:t.drawOrder,curves:s,strokeColor:new M(t.userData.style.stroke),strokeWidth:t.userData.style.strokeWidth},this.skinnedPaths.push(v),this.pathsGroup.add(this.createStrokeGeometry(v)));case 17:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"createPathGeometry",value:function(e){var t=[],n=[];e.segCounts=[];for(var a=function(e,a){t.push(e),n.push(a)},r=function(e,t){return 0===e?new V(t,1):1===e?new V(1,1-t):2===e?new V(1-t,0):new V(0,t)},i=0;i<e.curves.length;i++){var o=e.curves[i],c=n.length;if(Q.isLineCurve(o.curve))a(0,o.v0.currentPosition,r(1,0)),i===e.curves.length-1&&a(1,o.v1.currentPosition,r(i,1));else if(Q.isCubicBezierCurve(o.curve))for(var s=Math.max(Math.ceil(o.curve.getLength()/2),1),l=0;l<s;l++){var u=l/s;a(u,o.curve.getPointAt(u),r(i,u))}e.segCounts.push(n.length-c)}var h=J.triangulateShape(n,[]).flat(),d=new N,p=function(e){return new R(new Float32Array(n.length*e),e)};d.setAttribute("position",p(3)),d.setAttribute("v1",p(3)),d.setAttribute("vOut",p(3)),d.setAttribute("vIn",p(3)),d.setAttribute("confidenceScores",p(2)),d.setAttribute("curveT",new R(new Float32Array(t),1)),d.setIndex(h);var f=e.fillColor,m={u_color:new F(new H(f.r,f.g,f.b)),u_useTex:new F(!!e.texture),u_strokeScale:new F(1)};e.texture&&(m.u_tex=new F(e.texture));var v=new I({vertexShader:Xn.getInstance().get("bezier-skinning-vert"),fragmentShader:Xn.getInstance().get("bezier-skinning-frag"),uniforms:m,transparent:!0}),g=new P(d,v);return g.frustumCulled=!1,e.mesh=g,g}},{key:"createStrokeGeometry",value:function(e){var t=[],n=[],a=[];e.segCounts=[];for(var r=function(e,r,i){var o=function(r,i){t.push(e,e),t.length>=4&&(n.push(t.length-1,t.length-2,t.length-3),n.push(t.length-2,t.length-3,t.length-4)),a.push(r,i)};if(r||i)for(var c=0;c<6;c++){var s=c/5;r?o(Math.PI*(1-s/2),-Math.PI*(1-s/2)):o(Math.PI/2*(1-s),-Math.PI/2*(1-s))}else o(Math.PI/2,-Math.PI/2)},i=0;i<e.curves.length;i++){var o=e.curves[i],c=t.length;if(Q.isLineCurve(o.curve))r(0,!0,!1),i===e.curves.length-1&&r(1,!1,!0);else if(Q.isCubicBezierCurve(o.curve))for(var s=Math.max(Math.ceil(o.curve.getLength()/2),1),l=0;l<s;l++){r(l/s,0===i&&0===l,i===e.curves.length-1&&l===s-1)}e.segCounts.push(t.length-c)}var u=new N,h=function(e){return new R(new Float32Array(t.length*e),e)};u.setAttribute("position",h(3)),u.setAttribute("v1",h(3)),u.setAttribute("vOut",h(3)),u.setAttribute("vIn",h(3)),u.setAttribute("confidenceScores",h(2)),u.setAttribute("curveT",new R(new Float32Array(t),1)),u.setAttribute("angleT",new R(new Float32Array(a),1)),u.setIndex(n);var d=new I({vertexShader:Xn.getInstance().get("bezier-stroke-skinning-vert"),fragmentShader:Xn.getInstance().get("bezier-skinning-frag"),uniforms:{u_strokeWidth:new F(e.strokeWidth),u_color:new F(new H(e.strokeColor.r,e.strokeColor.g,e.strokeColor.b)),u_strokeScale:new F(1)},transparent:!0,side:U}),p=new P(u,d);return p.frustumCulled=!1,e.mesh=p,p}}],[{key:"parseIllustrationTree",value:function(e){for(var t=[],n=0;n<e.length;n++)for(var a=e[n],r=a.userData.node;r;){if(r.parentNode&&r.parentNode.id&&r.parentNode.id.startsWith("illustration"))if("break"===function(){var e=a.userData.node.id;if(e&&""!==e){var n=ae.findIndex((function(t){return e.startsWith(t)}));if(n<0)t.push(a);else{a.userData.node.parentNode.skinningJoints||(a.userData.node.parentNode.skinningJoints={});var r=Q.getPathCenter(a),i=ae[n];a.userData.node.parentNode.skinningJoints[i]={name:i,position:new V(r.x,r.y)}}}else t.push(a);return"break"}())break;r=r.parentNode}return t}}]),e}(),Zn=function(){function e(){Object(m.a)(this,e),this.clear()}return Object(v.a)(e,[{key:"hasDetectionData",value:function(){return!!this.detectionData.length}},{key:"addDetectionData",value:function(e,t,n,a){this.detectionData.push({timestamp:e,pose:t,face:n,background:a})}},{key:"clear",value:function(){this.detectionData=[],this.currentFrameIndex=0,this.currentPaths=[]}},{key:"exportData",value:function(){return this.detectionData}},{key:"getAnimationDuration",value:function(){if(!this.detectionData.length)return 0;var e=this.detectionData[0].timestamp;return this.detectionData[this.detectionData.length-1].timestamp-e}},{key:"getCurrentAnimation",value:function(){return this.currentDetection}},{key:"setCurrentFrameIndex",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.currentFrameIndex=e,this.currentDetection=this.detectionData[this.currentFrameIndex]}},{key:"setCurrentFrameIndexFromTimestamp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.detectionData.length){var t=this.detectionData[0].timestamp,n=this.detectionData[this.detectionData.length-1].timestamp,a=t+e%(n-t),r=this.detectionData.findIndex((function(e){return e.timestamp>=a}));this.currentFrameIndex=r,this.currentDetection=this.detectionData[this.currentFrameIndex]}}},{key:"setCurrentTime",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.detectionData.length){var t=this.detectionData[0].timestamp,n=this.detectionData[this.detectionData.length-1].timestamp,a=t+e%(n-t),r=this.detectionData.findIndex((function(e){return e.timestamp>=a})),i=(this.detectionData[r].timestamp,r-1<0?0:r-1);this.detectionData[i].timestamp;this.currentFrameIndex=i,this.currentDetection=this.detectionData[this.currentFrameIndex]}}}]),e}(),$n=[{value:"Droid Sans Mono",url:"resources/fonts/droid_sans_mono_regular.typeface.json"},{value:"Droid Sans",url:"resources/fonts/droid_sans_regular.typeface.json"},{value:"Droid Serif",url:"resources/fonts/droid_serif_regular.typeface.json"}],ea=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,[{key:"loadResources",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t,n,a=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new D,console.log("LOADING FONTS..."),n=[],this.fonts={}
1,$n.forEach((function(e){n.push(new Promise((function(n,r){t.load(e.url,(function(t){a.fonts[e.value]=t,n()}))})))})),e.next=7,Promise.all(n);case 7:console.log("LOADED "+Object.keys(this.fonts).length+" fonts.");case 8:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getFont",value:function(e){var t=Object.keys(this.fonts).find((function(t){return t===e}));return this.fonts[t]}},{key:"getAllFonts",value:function(){return Object.keys(this.fonts)}}],[{key:"getInstance",value:function(){return Kn}}]),e}();Kn=new ea;var ta=function(){function e(t){Object(m.a)(this,e),this.scope=t,this.layer=t.newLayer(),this.item=null,this.x=0,this.y=0,this.scale=1,this.rotation=0,this.pivot=new j.E(0,0),this.visible=!0,this.type="object",this.zIndex=this.layer.index,this.removeable=!0,this.player={startTime:0,endTime:0},this.updateTimestamp=+new Date}return Object(v.a)(e,[{key:"getDefaultBounds",value:function(){var e=this.item.position.clone(),t=this.item.rotation.clone(),n=this.item.scale.clone();this.item.position.set(0,0,0),this.item.rotation.set(0,0,0),this.item.scale.set(1,1,1);var a=this.item.parent;a.remove(this.item);var r=(new _).setFromObject(this.item);return a.add(this.item),this.item.position.copy(e),this.item.rotation.copy(t),this.item.scale.copy(n),new Y(r.min,r.max)}},{key:"updatePivot",value:function(){var e,t=this.getDefaultBounds(),n=isNaN(t.min.x)||isNaN(t.min.y)||isNaN(t.max.x)||isNaN(t.max.y),a=t.min.x!==t.max.x&&t.min.y!==t.max.y;if(!n&&a){var r=.5*(t.min.x+t.max.x),i=.5*(t.min.y+t.max.y);e=new j.E(r,i)}else e=new j.E(0,0);if(null!==this.pivot){var o=new j.E(e.x-this.pivot.x,e.y-this.pivot.y),c=Math.cos(this.rotation),s=Math.sin(this.rotation),l=this.x+this.scale*(c*o.x-s*o.y),u=this.y+this.scale*(s*o.x+c*o.y);this.setPosition(l,u)}this.pivot=e}},{key:"addItem",value:function(e){this.item=e,this.layer.addChild(e),this.updatePivot()}},{key:"changeScope",value:function(e){this.scope=e,this.layer=e.newLayer(),this.layer.addChild(this.item)}},{key:"remove",value:function(){this.layer.parent&&this.layer.parent.remove(this.layer)}},{key:"setName",value:function(e){this.name=e,this.updateTimestamp=+new Date,we.dispatch({type:"UPDATE_TIMESTAMP"})}},{key:"setZIndex",value:function(e){this.zIndex=e,this.setPosition(this.x,this.y,this.zIndex)}},{key:"setPosition",value:function(e,t){this.x=Number(e),this.y=Number(t);var n=Math.cos(this.rotation),a=Math.sin(this.rotation),r=n*this.pivot.x-a*this.pivot.y,i=a*this.pivot.x+n*this.pivot.y;null!=this.item&&(this.item.position.set(this.x-this.scale*r,this.y-this.scale*i,this.zIndex),this.item.matrixWorldNeedsUpdate=!0,this.updateTimestamp=+new Date)}},{key:"setRotation",value:function(e){this.rotation=Number(e),this.rotation>=360&&(this.rotation%=360);var t=Math.cos(this.rotation),n=Math.sin(this.rotation),a=t*this.pivot.x-n*this.pivot.y,r=n*this.pivot.x+t*this.pivot.y;null!=this.item&&(this.item.position.set(this.x-this.scale*a,this.y-this.scale*r,this.zIndex),this.item.rotation.set(0,0,this.rotation),this.item.matrixWorldNeedsUpdate=!0,this.updateTimestamp=+new Date)}},{key:"setScale",value:function(e){e<.1&&(e=.1),this.scale=Number(e);var t=Math.cos(this.rotation),n=Math.sin(this.rotation),a=t*this.pivot.x-n*this.pivot.y,r=n*this.pivot.x+t*this.pivot.y;null!=this.item&&(this.item.position.set(this.x-this.scale*a,this.y-this.scale*r,this.zIndex),this.item.scale.set(this.scale,this.scale,this.scale),this.item.matrixWorldNeedsUpdate=!0,this.updateTimestamp=+new Date)}},{key:"setPlayerTime",value:function(e,t){this.player.startTime=e,this.player.endTime=t,this.updateTimestamp=+new Date}},{key:"setVisible",value:function(e){this.visible=e,this.updateTimestamp=+new Date}},{key:"draw",value:function(){this.item.position.set(this.x,this.y,this.item.position.z),this.item.scale.set(this.scale,this.scale,this.scale),this.item.matrixWorldNeedsUpdate=!0}}]),e}(),na=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(e,a,r,i,o){var c;return Object(m.a)(this,n),c=t.call(this,e),Object(Yn.a)(c,Object(h.a)(u.a.mark((function t(){var n,s,l;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r&&i&&o&&(c.width=r/o,c.height=i/o),c.root=new X,!a){t.next=6;break}return t.next=5,Q.importSVG(a);case 5:n=t.sent;case 6:return c.skeletalMesh=new Qn(e),c.skeletalMesh.initResources(),n&&(s=new oe(n),c.skeletalMesh.bindSkeleton(s,n)),(l=c.skeletalMesh.root).name="SkeletalMeshRoot",c.root.addChild(l),c.animation=new Zn,c.create(),t.abrupt("return",Object(Gn.a)(c));case 15:case"end":return t.stop()}}),t)})))())}return Object(v.a)(n,[{key:"create",value:function(){this.name="Character",this.type="character",this.id="character_"+(new Date).toISOString(),this.player.isPlay=!1,this.player.frame=0,this.addItem(this.root),this.canvasSize=this.scope.view.viewSize,this.canvasRect=new q(0,0,this.scope.view.bounds.width,this.scope.view.bounds.height)}},{key:"changeScope",value:function(e){this.scope.detach();var t=this.x,n=this.y;this.scope=e,this.layer=e.newLayer(),this.addItem(this.root);
1var a=this.scope.view.viewSize,r=a.width/this.canvasSize.width;this.canvasSize=a,this.setScale(r),this.setPosition(t*r,n*r)}},{key:"setAnimation",value:function(e){e!==this.scope&&this.changeScope(e),this.setAnimationFrame(0);var t=this.animation.detectionData[0].timestamp,n=this.animation.detectionData[this.animation.detectionData.length-1].timestamp;this.player.startTime=0,this.player.endTime=n-t}},{key:"setPose",value:function(e,t){this.updateSkeletalMesh(e,t?oe.toFaceFrame(t):null)}},{key:"updateSkeletalMesh",value:function(e,t){this.skeletalMesh&&this.skeletalMesh.updateSkeleton(e,t)}},{key:"savePose",value:function(e,t){this.animation.addDetectionData(e,this.skeletalMesh.pose,this.skeletalMesh.face,t)}},{key:"cropPathsToRect",value:function(e,t){var n=[];return e.forEach((function(e){var a=e.intersect(t);n.push(a)})),n}},{key:"updateFromAnimation",value:function(){var e=this.animation.getCurrentAnimation(),t=e.pose,n=e.face;this.background=e.background,this.updateSkeletalMesh(t,n)}},{key:"backgroundFromAnimation",value:function(){return this.background?this.background:null}},{key:"setAnimationFrame",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.animation.setCurrentFrameIndex(e),this.updateFromAnimation()}},{key:"setAnimationTime",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.animation.setCurrentTime(e),this.updateFromAnimation()}},{key:"setPlayerTime",value:function(e){this.player.startTime=e,this.player.endTime=e+this.animation.getAnimationDuration(),this.updateTimestamp=+new Date}},{key:"clearAnimation",value:function(){this.animation.clear()}}]),n}(ta),aa=new Bn.a,ra=Object(Dn.a)({root:{width:60,height:42},thumb:{width:24,height:24},switchBase:{color:"rgba(234, 55, 136, 1)","&$checked":{color:"rgba(234, 55, 136, 1)",transform:"translateX(20px)"},"&$checked + $track":{backgroundColor:"rgba(234, 55, 136, 0.7)"}},checked:{},track:{}})(In.a),ia=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(e){var a;return Object(m.a)(this,n),(a=t.call(this,e)).handleSwitchClicked=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a.state.switching){e.next=3;break}return console.log("Already switching... Please try later."),e.abrupt("return");case 3:return a.setState({switching:!0}),e.next=6,a.camera.switch();case 6:e.sent?a.props.setPlayState({cameraId:a.camera.camId,state:"detecting"}):a.props.setPlayState({cameraId:a.camera.camId,state:"cameraError"}),a.setState({switching:!1});case 9:case"end":return e.stop()}}),e)}))),a.state={switching:!1},a.liveAnimateMode=!0,a.scope=null,a.camera=null,a.character=null,a.lastUpdateTimestamp=null,a}return Object(v.a)(n,[{key:"buildCharacter",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t,n;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.doodleShapeSvg){e.next=2;break}return e.abrupt("return");case 2:if(this.setLoader("Loading Character..."),t=new Date,this.lastUpdateTimestamp=t,n=(new XMLSerializer).serializeToString(this.props.doodleShapeSvg),!(this.lastUpdateTimestamp>t)){e.next=9;break}return console.log("Obsolete update. Canceling..."),e.abrupt("return");case 9:return e.next=11,new na(this.scope,n);case 11:this.character=e.sent,this.props.onSetCharacter&&this.props.onSetCharacter(this.character),this.character.changeScope(this.scope),this.setLoader(null);case 15:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}
1,{key:"setLoader",value:function(e){this.props.setPlayState({loaderStatus:e})}},{key:"loadCamera",value:function(){var e=Object(h.a)(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.camera=new _n(t,512,512,this.props.playState.cameraId),e.next=3,this.camera.initialize();case 3:this.resizeCameraCanvas();case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"resizeCameraCanvas",value:function(){var e=this.canvasWidth/this.camera.canvas.width;this.camera.canvas.style.transform="scale("+e+", "+e+")",this.camera.canvas.style["border-radius"]=20/e+"px"}},{key:"update",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t,n,a,r,i,o,c=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.liveAnimateMode||!this.camera){e.next=27;break}aa.begin(),e.t0=this.props.playState.state,e.next="detecting"===e.t0?5:"replaying"===e.t0?10:"paused"===e.t0?18:22;break;case 5:return this.camera.draw(),r=this.canvas.width,e.next=9,this.props.poseDetection.update(this.camera.canvas,this.camera.stream,r,.1,.15,30,!1).then((function(e){var t=e.poses.length>0?e.poses[0]:null,n=e.faces.length>0?e.faces[0]:null;if(c.character&&c.character.setPose(t,n),c.props.onUpdate)if(c.getShowFeed()&&c.camera){var a=c.camera.canvas,r=a.getContext("2d");c.props.onUpdate(c.character,r.getImageData(0,0,a.width,a.height))}else c.props.onUpdate(c.character,null)}));case 9:return e.abrupt("break",23);case 10:return i=new Date,o=i-(this.playStartTime||0),this.character.setAnimationTime(o),t=this.character.backgroundFromAnimation(),n=this.camera.canvas,a=n.getContext("2d"),null!=t?a.putImageData(t,0,0):a.clearRect(0,0,n.width,n.height),e.abrupt("break",23);case 18:t=this.character.backgroundFromAnimation(),n=this.camera.canvas,a=n.getContext("2d"),null!=t?a.putImageData(t,0,0):a.clearRect(0,0,n.width,n.height);case 22:return e.abrupt("break",23);case 23:this.scope.draw(),aa.end(),e.next=28;break;case 27:console.log("[Illustration Canvas] Skipping update. Camera: ",this.camera,"LiveAnimationMode",this.liveAnimateMode);case 28:this.liveAnimateMode&&requestAnimationFrame(this.update.bind(this));case 29:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"initializeCamera",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.cameraInitialized){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.buildCharacter();case 4:return this.setLoader("Preparing camera..."),t=document.getElementById("output"),e.prev=6,console.log("[Illustration Canvas] Loading camera..."),e.next=10,this.loadCamera(t);case 10:console.log("[Illustration Canvas] Camera loaded..."),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(6),this.props.setActivePage("nocamera");case 16:console.log("[Illustration Canvas] Starting update loop..."),this.update(),console.log("[Illustration Canvas] Hiding loader..."),this.setLoader(null);case 20:case"end":return e.stop()}}),e,this,[[6,13]])})));return function(){return e.apply(this,arguments)}}()},{key:"componentDidUpdate",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.props.appInitialized&&!t.appInitialized&&this.initializeCamera(),this.props.playState&&"replaying"===this.props.playState.state&&t.playState&&"replaying"!==t.playState.state&&(this.playStartTime=new Date),this.props.doodleShapeSvg!==t.doodleShapeSvg&&(this.resetCanvas(),this.buildCharacter());case 3:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"resetCanvas",value:function(){this.canvas&&this.canvas.remove();var e=document.getElementById("illustration-canvas-wrapper"),t=document.getElementsByClassName("middle-panel")[0],n=Math.max(Math.min(.95*Math.min(window.innerWidth,1*(window.innerHeight-220-t.offsetHeight)),760),200),a=n/1;this.canvasWidth=n,this.canvasHeight=a,e.style.width=n+"px",e.style.height=a+"px",this.camera&&this.resizeCameraCanvas(),this.scope=new C({width:n,height:a,id:"illustration-canvas"}),this.scope.setup(),e.append(this.scope.canvas),this.canvas=this.scope.canvas}},{key:"componentDidMount",value:function(){var e=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.setLoader("Loading models..."),Vn.showFPS&&(aa.showPanel(0),document.body.appendChild(aa.dom)),this.resetCanvas(),this.props.appInitialized&&this.initializeCamera();case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"componentWillUnmount",value:function(){this.liveAnimateMode=!1,aa.dom.remove(),this.scope.remove(),this.camera&&this.camera.stop(),this.camera=null,this.character=null}},{key:"getShowFeed",value:function(){return this.props.playState.showFeed}},{key:"toggleLiveFeed",value:function(){var e=!this.getShowFeed();this.props.setPlayState({showFeed:e})}},{key:"getLoading",value:function(){return this.props.playState&&this.props.playState.loader
1Status}},{key:"render",value:function(){var e=this;return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"header"},r.a.createElement("div",{className:"detection-indicator "+("detecting"===this.props.playState.state?"":"hidden")}),r.a.createElement("div",{className:"branding"},"Scroobly")),r.a.createElement("div",{className:"canvas-panel-wrapper"},r.a.createElement("div",{id:"illustration-canvas-wrapper",className:"interaction-wrapper "+(this.getLoading()?"loading":"")},r.a.createElement("div",{id:"character-camera-feed",style:{opacity:e.getShowFeed()?"1":"0"}},r.a.createElement("canvas",{id:"output",className:"camera-canvas"})),this.getLoading()?r.a.createElement("div",{className:"character-loader"},r.a.createElement(zn.a,null),r.a.createElement("br",null),r.a.createElement("div",null,this.props.playState.loaderStatus)):null),r.a.createElement("div",{className:"middle-panel"},this.props.showToggles?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"toggle-container"},r.a.createElement("div",{className:"label"},"Background"),r.a.createElement(ra,{checked:this.props.playState.showFeed,onChange:function(){return e.toggleLiveFeed()}})),this.camera&&this.camera.camList.length>1?r.a.createElement("div",{className:"toggle-container"},r.a.createElement("div",{className:"camera-label-container"},r.a.createElement("div",{className:"label"},"Switch camera"),r.a.createElement("div",{className:"label device-label"},this.camera.currentDeviceName)),r.a.createElement("div",{className:"camera-flip clickable "+(this.state.switching?"switching":""),onClick:this.handleSwitchClicked},r.a.createElement(Un.a,{className:"camera-flip-icon"}))):r.a.createElement("div",null)):null),r.a.createElement("div",{id:"middle-panel-desc"},this.props.description)))}}]),n}(r.a.Component),oa={setPlayState:he,setActivePage:de},ca=Object(c.b)((function(e){return{appInitialized:e.appInitialized,poseDetection:e.poseDetection,assets:e.assetsDB.getAssets(),playState:e.playState,doodleShapeSvg:e.doodleShapeSvg}}),oa)(ia),sa=n(324),la=n.n(sa),ua=n(418),ha=n(323),da=n.n(ha),pa=Object(Dn.a)({root:{height:3,padding:"13px 0"},thumb:{height:50,width:50,background:"url(".concat(da.a,")"),backgroundSize:"contain",transform:"translate(-40%, -20%)","&:focus, &:hover, &$active":{boxShadow:"none"}},active:{},track:{height:3},rail:{color:"#d8d8d8",opacity:1,height:3},valueLabel:{fontSize:"8px",marginLeft:38}})(ua.a);var fa={setPlayState:he},ma=Object(c.b)((function(e){return{playState:e.playState}}),fa)((function(e){var t=Object(a.useState)(e.character),n=Object(w.a)(t,1)[0],i=Object(a.useState)(Object(L.a)(e.character.animation.detectionData)),o=Object(w.a)(i,1)[0],c=Object(a.useState)(0),s=Object(w.a)(c,2),l=s[0],u=s[1],h=Object(a.useState)([0,0]),d=Object(w.a)(h,2),p=d[0],f=d[1],m=Object(a.useState)([0,100]),v=Object(w.a)(m,2),g=v[0],b=v[1],y=Object(a.useRef)(null);function k(e){return(e*l/100/1e3).toFixed(2)+" s"}return Object(a.useEffect)((function(){if(o&&o.length&&o[o.length-1]){var e=o.length,t=o[e-1].timestamp;u(t),f([0,e-1]),y.current=n}return function(){}}),[n,o]),r.a.createElement("div",{className:"trimmer-container"},r.a.createElement("div",{className:"character-trimmer-controller-wrapper"},"replaying"===e.playState.state?r.a.createElement("div",{className:"trimmer-button-outer",onClick:function(){e.setPlayState({state:"paused"})}},r.a.createElement(On.a,{className:"stop-trimmer-button clickable"})):r.a.createElement("div",{className:"trimmer-button-outer",onClick:function(){e.setPlayState({state:"replaying"})}},r.a.createElement(la.a,{className:"play-trimmer-button clickable"}))),r.a.createElement("div",{className:"character-trimmer-footer-wrapper"},r.a.createElement("div",{className:"footer-button-action-wrapper"}),r.a.createElement("div",{className:"character-slider-wrapper"},r.a.createElement("div",{className:"character-slider-sizer"},r.a.createElement(pa,{value:g,onChange:function(t,n){var a=y.current;if("replaying"===e.playState.state&&e.setPlayState({state:"paused"}),n[0]!==g[0]||n[1]!==g[1]){var r=p,i=g[0],c=g[1],s=0,u=1;if(n[0]!==g[0]){for(var h=0;h<o.length;h++){var d=100*o[h].timestamp/l;if(d<=n[0]&&(i=d,s=h),d>i)break}r[0]=s}else if(n[1]!==g[1]){for(var f=0;f<o.length;f++){var m=100*o[f].timestamp/l;if(m<=n[1]&&(c=m,s=f),m>c)break}r[1]=s,u=0}var v=o.slice(r[0],r[1]);v.length<2||(b([i,c]),a.animation.detectionData=v,u?a.setAnimationFrame(0):a.setAnimationFrame(v.length-1))}},valueLabelDisplay:"auto","aria-labelledby":"range-slider",getAriaValueText:k,valueLabelFormat:k})))))}));var va={setDoodleSvg:pe,setPlayState:he},ga=Object(c.b)((function(e){return{characterCollection:e.characterCollection,assets:e.assetsDB.getAssets()}}),va)((function(e){var t=Object(a.useState)(0),n=Object(w.a)(t,2),i=n[0],o=n[1],c=Object(a.useState)(0),s=Object(w.a)(c,2),l=s[0],d=s[1],p=function(e){var t,n=document.querySelector(".character-options-wrapper"),a=document.querySelectorAll(".character-option-container"),r=n.clientWidth,c=a[0].currentStyle||window.getComputedStyle(a[0]),s=a[0].offsetWidth+parseFloat(c.marginLeft)+parseFloat(c.marginRight),l=Math.floor(r/s);t=e>0?i+l+l*e:i-l+l*e,t=Math.min(Math.max(t,0),a.length-1),o(t),a[t].scrollIntoView({behavior:"smooth"})};function f(){return(f=Object(h.a)(u.a.mark((function t(n){var a,r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=e.characterCollection.getFeaturesOfCharAtIndex(n),!Object.keys(a).length){t.next=8;break}return d(n),t.next=5,ce.buildForAnimation(a,e.assets);case 5:r=t.sent,e.setPlayState({showFeed:!!a.useCameraBg}),e.setDoodleSvg(r);case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var m=e.characterCollection.getThumbnails().map((function(t,n){var a=e.characterCollection.getFeaturesOfCharAtIndex(n).useCameraBg;return r.a.createElement("div",{className:"character-option-container clickable "+(l===n?"selected ":"")+(a?"camera-bg ":""),key:n,onClick:function(){return function(e){return f.apply(this,arguments)}(n)}},a?r.a.createElement("p",{className:"ar-label"},"AR"):null,r.a.createElement("img",{className:"character-option-thumbnail",src:t,alt:""}))}));return r.a.createElement("div",{className:"character-selection-wrapper"},k()?null:r.a.createElement(Ae.a,{className:"slider-control-button clickable",style:{color:0===i?"#CCC":null},onClick:function(){return p(-1)}},r.a.createElement(Fe.a,null)),r.a.createElement("div",{className:"character-options-wrapper"}
1,r.a.createElement("div",{className:"character-option-container add-button clickable",onClick:function(){return e.onAddClick()}},r.a.createElement(Ln.a,{className:"add-button-inner"}),r.a.createElement("div",{className:"add-button-text"},"Make",r.a.createElement("br",null)," your own")),m),k()?null:r.a.createElement(Ae.a,{className:"slider-control-button clickable",onClick:function(){return p(1)}},r.a.createElement(De.a,null)))})),ba=n(325),ya=n.n(ba),wa=n(326),ka=n.n(wa),Ea=function(){function e(){Object(m.a)(this,e),this.width=600,this.height=600}return Object(v.a)(e,[{key:"initialize",value:function(e,t){console.log("initialize")}},{key:"processFrame",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:console.log("processFrame");case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"finishExport",value:function(){var e=Object(h.a)(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:console.log("finishExport");case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"export",value:function(){var e=Object(h.a)(u.a.mark((function e(t){var n,a,r,i,o,c,s,l=this,d=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>1&&void 0!==d[1]?d[1]:{},n=Object.assign({fps:10,useWatermark:!1,useTransparentBg:!1,onProgress:function(){}},n),(a=new Image).src="resources/logo-watermark.svg",e.next=6,new Promise((function(e){a.onload=e,a.onerror=e}));case 6:return r=t.scope.canvas,i=document.createElement("canvas"),o=i.getContext("2d"),i.width=600,i.height=600,c=document.createElement("canvas"),s=c.getContext("2d"),e.abrupt("return",new Promise((function(e){var d=0,p=1e3/n.fps,f=t.animation.detectionData[0].timestamp,m=t.animation.detectionData[t.animation.detectionData.length-1].timestamp,v=f;l.initialize(t,n.fps);var g=function(){var b=Object(h.a)(u.a.mark((function h(){var b,y,w;return u.a.wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return o.clearRect(0,0,i.width,i.height),o.fillStyle=n.useTransparentBg?"rgba(255, 255, 255, 0)":"white",o.fillRect(0,0,i.width,i.height),t&&(t.setAnimationTime(v),null!=(b=t.backgroundFromAnimation())&&(c.width=b.width,c.height=b.height,s.putImageData(b,0,0),o.drawImage(c,0,0,i.width,i.height))),t.scope.draw(),o.drawImage(r,0,0,i.width,i.height),n.useWatermark&&a&&(y=160/a.width*a.height,o.drawImage(a,i.width-160,i.height-y,160,y)),u.next=9,l.process
1Frame(o,d);case 9:if(!(v<m)){u.next=15;break}n.onProgress&&n.onProgress((v-f)/(m-f)),v+=p,requestAnimationFrame((function(){return g()})),u.next=20;break;case 15:return v=0,u.next=18,l.finishExport();case 18:w=u.sent,e(w);case 20:d++;case 21:case"end":return u.stop()}}),h)})));return function(){return b.apply(this,arguments)}}();g()})));case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),xa=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(v.a)(n,[{key:"initialize",value:function(e,t){var n=1e3/t,a=e.animation.detectionData[0].background?"neuquant":"octree";this.encoder=new ka.a(this.width,this.height,a),this.encoder.start(),this.encoder.setDelay(n)}},{key:"processFrame",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.encoder.addFrame(t);case 1:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"finishExport",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.encoder.finish(),t=this.encoder.out.getData(),this.encoder=null,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),n}(Ea),La=function(e){Object(S.a)(n,e);var t=Object(O.a)(n);function n(){return Object(m.a)(this,n),t.apply(this,arguments)}return Object(v.a)(n,[{key:"initialize",value:function(e,t){this.zip=new ya.a}},{key:"processFrame",value:function(){var e=Object(h.a)(u.a.mark((function e(t,n){var a=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){t.canvas.toBlob((function(t){a.zip.file("frame-"+n+".png",t),e()}))}));case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"finishExport",value:function(){var e=Object(h.a)(u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.zip.generateAsync({type:"blob"});case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()}]),n}(Ea);var Sa={setActivePage:de,setPlayState:he,setDoodleSvg:pe,setDoodlePage:fe,openDialogModal:ve},Oa=Object(c.b)((function(e){return{appInitialized:e.appInitialized,poseDetection:e.poseDetection,playState:e.playState,activePage:e.activePage,doodlePage:e.doodlePage,doodleShapeSvg:e.doodleShapeSvg,characterCollection:e.characterCollection,assetsDB:e.assetsDB}}),Sa)((function(e){var t=Object(a.useState)(0),n=Object(w.a)(t,2),i=n[0],o=n[1],c=Object(a.useState)(""),s=Object(w.a)(c,2),l=s[0],f=s[1],m=Object(a.useState)(!1),v=Object(w.a)(m,2),g=v[0],b=v[1],y=Object(a.useState)(!1),E=Object(w.a)(y,2),x=E[0],L=E[1],S=Object(a.useState)(!1),O=Object(w.a)(S,2),j=O[0],C=O[1],M=Object(a.useState)(!1),T=Object(w.a)(M,2),P=T[0],N=T[1],A=Object(a.useState)(""),R=Object(w.a)(A,2),F=R[0],B=R[1],D=Object(a.useState)("character-selection"===e.activePage?"select-character":"prepare-recording"),I=Object(w.a)(D,2),z=I[0],J=I[1],U=Object(a.useState)(null),W=Object(w.a)(U,2),V=W[0],H=W[1],_=Object(a.useRef)(!0),Y=Object(a.useRef)(0),G=Object(a.useRef)(0);function X(){V.animation.hasDetectionData()&&(J("finished"),e.setPlayState({state:"replaying"}),o(0),f(""))}var q=function(){e.setActivePage("doodly")};function K(){d.a.event({category:"Record",action:"Start Recording"}),J("countdown"),f("Recording will automatically stop at 15sec"),_.current=!0,o(3)}function Q(){V.clearAnimation(),e.setPlayState({state:"detecting"}),J("prepare-recording")}Object(a.useEffect)((function(){var e;return"countdown"===z||"recording"===z?e=setInterval((function(){"countdown"===z?i>1?o(i-1):(J("recording"),o(14)):"recording"===z&&(i>0?o(i-1):(X(),clearInterval(e)))}),1e3):clearInterval(e),function(){clearTimeout(e)}}),[i]);var Z=function(t){var n=Math.round(100*t);
1e.setPlayState({loaderStatus:n+"%"})},$=function(){d.a.event({category:"Export",action:"Export gif"}),e.setPlayState({loaderStatus:"Creating GIF...",state:"paused"}),setTimeout(Object(h.a)(u.a.mark((function t(){var n,a,r,i;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new xa,t.next=3,n.export(V,{fps:10,onProgress:Z});case 3:a=t.sent,r=new Blob([a],{type:"image/gif"}),i=URL.createObjectURL(r),b(!0),B(i),e.setPlayState({loaderStatus:null});case 9:case"end":return t.stop()}}),t)}))),100)},ee=function(){var t=Object(h.a)(u.a.mark((function t(){var n,a,r,i;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d.a.event({category:"Export",action:"Export PNG"}),e.setPlayState({loaderStatus:"Creating PNG...",state:"paused"}),n=new La,t.next=5,n.export(V,{fps:24,useWatermark:!1,useTransparentBg:!0,onProgress:Z});case 5:a=t.sent,r=new Blob([a],{type:"image/gif"}),i=URL.createObjectURL(r),B(i),L(!0),e.setPlayState({loaderStatus:null});case 11:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),te=function(){var t=Object(h.a)(u.a.mark((function t(){var n,a;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:d.a.event({category:"Export",action:"Export Doodle"}),e.setPlayState({loaderStatus:"Exporting doodle...",state:"paused"}),n=new Blob([JSON.stringify({data:window.btoa((new XMLSerializer).serializeToString(e.doodleShapeSvg))})],{type:"application/json"}),a=URL.createObjectURL(n),B(a),N(!0),e.setPlayState({loaderStatus:null});case 7:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),ne=function(){var t=Object(h.a)(u.a.mark((function t(){var n;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("charactorDrawing"!==e.doodlePage){t.next=4;break}e.openDialogModal({title:"Are you sure?",content:"You\u2019ll lose all your scribbles and need to start again from scratch.",onCancel:function(){},onConfirm:function(){var t=Object(h.a)(u.a.mark((function t(){var n;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return V.clearAnimation(),J("select-character"),e.setPlayState({state:"detecting"}),e.setDoodlePage("bodySelection"),t.next=6,ce.buildForAnimation(e.characterCollection.getFeaturesOfCharAtIndex(0),e.assetsDB.getAssets());case 6:n=t.sent,e.setDoodleSvg(n);case 8:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()}),t.next=12;break;case 4:return V.clearAnimation(),J("select-character"),e.setPlayState({state:"detecting"}),e.setDoodlePage("bodySelection"),t.next=10,ce.buildForAnimation(e.characterCollection.getFeaturesOfCharAtIndex(0),e.assetsDB.getAssets());case 10:n=t.sent,e.setDoodleSvg(n);case 12:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),ae=function(){"charactorDrawing"===e.doodlePage?e.setActivePage("doodly"):J("select-character")};return r.a.createElement("div",{className:"recording-page-wrapper "+z},r.a.createElement(ca,{description:l,showToggles:"prepare-recording"===z||"select-character"===z,onUpdate:function(e,t){if("recording"===z){var n=+new Date;_.current&&(e.clearAnimation(),Y.current=n,G.current=n,_.current=!1);var a=n-G.current,r=n-Y.current;a<=15e3&&e.savePose(r,t)}},onSetCharacter:function(e){H(e)}}),r.a.createElement("div",{className:"bottom-panel"},e.appInitialized?function(){switch(z){case"select-character":return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer record-button-outer clickable",onClick:K},r.a.createElement(Tn.a,{className:"panel-button-inner record-button-inner"}))),r.a.createElement(ga,{onAddClick:q}));case"prepare-recording":return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"panel-button-wrapper",onClick:ae},r.a.createElement("div",{className:"panel-button-outer clickable"},r.a.createElement(Nn.a,{className:"panel-button-inner"})),r.a.createElement("div",{className:"label"},"Edit")),r.a.createElement("div",{className:"panel-button-wrapper"}
1,r.a.createElement("div",{className:"panel-button-outer record-button-outer clickable",onClick:K},r.a.createElement(Tn.a,{className:"panel-button-inner record-button-inner"})),r.a.createElement("div",{className:"label"},"Record")),r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer clickable",onClick:ne},r.a.createElement(Cn.a,{className:"panel-button-inner"})),r.a.createElement("div",{className:"label"},"Start Over")));case"countdown":return r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer big-white-outer"},r.a.createElement("div",{className:"panel-button-inner"},i)),r.a.createElement("div",{className:"label"},"Get Ready.."));case"recording":return r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer big-red-outer clickable",onClick:X},r.a.createElement(On.a,{className:"panel-button-inner"})),r.a.createElement("div",{className:"label"},r.a.createElement("span",{className:"primarycolor"},"\u25a0")," ","00:"+("0"+(14-i)).substr(-2)));case"finished":return r.a.createElement("div",{className:"trimmer-panel"},V?r.a.createElement(ma,{character:V}):null,r.a.createElement("div",{className:"trimmer-button-container"},r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer clickable",onClick:Q},r.a.createElement(Cn.a,{className:"panel-button-inner"})),r.a.createElement("div",{className:"label"},"Re-record")),k()?r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer download-gif clickable",onClick:$},r.a.createElement(Rn.a,{className:"panel-button-inner download-gif"})),r.a.createElement("div",{className:"label"},"GIF")):r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer download-gif clickable",onClick:function(){C(!0)}},r.a.createElement(Rn.a,{className:"panel-button-inner download-gif"})),r.a.createElement("div",{className:"label"},"Save")),r.a.createElement("div",{className:"panel-button-wrapper"},r.a.createElement("div",{className:"panel-button-outer clickable",onClick:ne},r.a.createElement(Ln.a,{className:"panel-button-inner"})),r.a.createElement("div",{className:"label"},"New doodle"))))}}():null),function(){if(j){return r.a.createElement("div",{className:"overlay-container"},r.a.createElement("div",{className:"overlay-card"},r.a.createElement("p",{className:"export-gif clickable",onClick:function(){C(!1),$()}},"Export GIF"),r.a.createElement("p",{className:"export-png-sequence clickable",onClick:function(){C(!1),ee()}},"Export PNG sequence"),r.a.createElement("p",{className:"export-png-sequence clickable",onClick:function(){C(!1),te()}},"Export doodle"),r.a.createElement(p.a,{className:"cancel-button",color:"primary",onClick:function(){C(!1)}},"Cancel")))}return g?r.a.createElement("div",{className:"overlay-container"},r.a.createElement("div",{className:"overlay-card"},r.a.createElement("p",{className:"title"},"Gif generated!"),r.a.createElement("img",{src:F}),k()?r.a.createElement("div",null,"Press & hold to save GIF"):r.a.createElement("a",{href:F,download:"scroobly.gif",className:"download-l
1ink"},"Click here to download"),r.a.createElement("div",{className:"overlay-description"},"Share your Scroobles with the tag ",r.a.createElement("a",null,"#scroobly"),"!"),r.a.createElement("div",{className:"share-buttons"},r.a.createElement(p.a,{variant:"contained",className:"close-button",color:"primary",onClick:function(){return b(!1)}},"Done")))):x?r.a.createElement("div",{className:"overlay-container"},r.a.createElement("div",{className:"overlay-card"},r.a.createElement("p",{className:"title"},"PNG sequence generated!"),r.a.createElement("a",{href:F,download:"scroobly-png-sequence.zip",className:"download-link"},"Click here to download"),r.a.createElement(p.a,{variant:"contained",className:"close-button",color:"primary",onClick:function(){return L(!1)}},"Done"))):P?r.a.createElement("div",{className:"overlay-container"},r.a.createElement("div",{className:"overlay-card"},r.a.createElement("p",{className:"title"}," Doodle file generated!"),r.a.createElement("div",null,"You can share it or import it later in the doodle editor."),r.a.createElement("a",{href:F,download:"scroobly-doodle.json",className:"download-l
1ink"},"Click here to download"),r.a.createElement(p.a,{variant:"contained",className:"close-button",color:"primary",onClick:function(){return N(!1)}},"Done"))):null}())})),ja=n(417);function Ca(){return r.a.createElement("svg",{className:"background-doodle doodle-0",viewBox:"0 100 411 723",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.a.createElement("path",{style:{fill:"#FFDAE1"},d:"M108.8,384.9C116.7,275.1,184,252,216.7,254.1c51.1,9.4,67.3,46.3,67.3,84.6 c0,133.8,80.5,261.8,131.5,334.2c118.4,168,55.4,262.9,12.2,306c-94.1,94.1-353,67.7-453.6-9.9c-100.6-77.6-14.2-272,17.4-306.5 C23.3,628,99.1,522.1,108.8,384.9z"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M221,243.4 c-18.2-3.6-38.1,4.1-54.6,10.9c-9,3.8-17.9,9.1-25.5,15.2c-3.3,2.6-5.5,6-8.7,8.7c-1.2,1-2,2.5-2.5,4"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M223.3,242.5 c-5.6,1.6-11.2,3.1-16.8,4.5c-5.7,1.5-12,2.4-17.3,5c-6,2.9-11.7,6.1-17.9,8.7c-3.5,1.5-7,3.4-10.3,5.2 c-8.5,4.6-12.1,10.8-17.2,18.6"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M223.3,243.7 c-6.7,1.9-13.6,3.4-20,6.4c-2.2,1-4.6,1.8-6.8,2.8c-1.5,0.7-4.7,1.4-5.9,2.5c-2.3,2.1-5.4,2.8-7.2,5c-0.9,1.1-2.5,1.6-3.5,2.5 c-1.1,0.9-1.8,2.3-2.8,3.3c-1.6,1.7-2.4,4.2-4,5.8c-2,2-4.5,5-5.9,7.6c-1.9,3.6-4.7,5.5-4.7,9.7"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M224.5,243.7 c-5.9,4-13,6.2-17.4,11.9c-3.4,4.4-7.7,8.6-11.9,12.4c-3.8,3.5-6.1,7.9-8.8,12.1c-1,1.5-1.5,3.3-2,4.9c-0.5,1.7-2,3.7-2,5.5"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M226.8,244.8 c-4.2,4.1-8.9,8.1-12.9,12.4c-1.5,1.6-2.4,3.4-4,4.9c-1.4,1.4-2.1,2.9-2.9,4.6c-2.3,4.9-3.7,10.2-6.4,15.1c-1.6,3-2.4,7.1-4.3,9.7"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M228,246 c-5.9,11.4-11.2,22.6-16.5,34.2c-1.8,4-2.3,11.5-2.3,16.1"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M229.1,246 c-0.7,4.5-0.6,9-2.4,13.3c-1.4,3.4-4.1,6.7-4.2,10.4c-0.2,4.3-1.3,8.9-1.3,13.1c0,1.7-1.2,13.4,1.3,13.4"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M231.5,244.8 c0.3,6.6,2.7,12.7,4.7,18.9c1.5,4.5,1.1,9.6,2.1,14.2c1.6,7.4,1.6,14.3,0.9,21.9"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M228,242.5 c4.7,6.9,10.3,13.8,13.5,21.7c1.1,2.7,1.7,5.5,2.5,8.4c0.6,2.1,2.1,4.1,2.2,6.3c0.2,7,1.7,13.8,1.7,21"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M225.6,242.6 c7.3-1.1,11.4,5.9,16.7,9.9c2.6,1.9,4.5,4.5,6.1,7.3c1.3,2.3,3.5,3.9,5,6.2c0.7,1.1,0.9,2.8,1.4,4c1.9,4.3,1.8,9.3,3.5,13.6 c0.9,2.1,1.6,4.4,1.8,6.7c0.2,1.9,0,7.5,1.8,8.4"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M223.3,243.7 c2.4,0,4.9-0.1,7.4,0c2,0.1,3.9,2.1,5.5,3c2.9,1.6,5.7,3.1,8.4,5c3.1,2.2,6,4.4,8.7,7.2c3.2,3.2,8.9,7.7,10.3,12.3 c0.8,2.8,1.8,5.3,3.1,7.9c2.1,4.4,4.8,7.5,6.1,12.3c0.6,2.1,0.7,3.8,0.7,6"}),r.a.createElement("path",{className:"last-2",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M230.3,242.5 c5.3,0.8,12.3,0.9,16.8,4.1c2.8,2,6.5,2.7,9.1,5.1c1.2,1.1,3.5,1.2,4.3,2.3c3.8,4.9,10.4,7.4,14.9,11.7c5.6,5.4,10.7,9.7,14,17.1 c1.3,2.8,1.8,5.9,2.3,9c0.5,3.3,3.3,6.1,4.2,9.4"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M226.8,241.4 c-7.7-1.9-15.9-2.4-23.8-2.4c-5.5,0-10.9,0.2-16.3,0.6c-5.4,0.3-11.7,0-16.9,1.8c-11.6,4.1-24,6.2-35,12 c-7.3,3.8-14.8,9.2-19.1,16.1"}),r.a.createElement("path",{className:"last-1",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M219.8,243.5 c5.2,0,8.3-1.8,13.2-2.7c5-0.9,10.1-0.6,15.2-0.6c9.4,0,17.6,2.1,25.4,5.8"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M133.8,286.4 c-13.3,9.9-22.3,23.2-30.4,37.5c-5.5,9.6-10.9,19.4-14,30.2c-2.5,8.7-6.7,17-7.7,26"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M141,279.2 c-12.8,15.4-28.8,34.9-32.1,55.5c-2.4,15.3-10.8,31.4-6.4,47"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M139.4,283.2 c-3.9,6-5.9,12.7-9.2,19c-2.9,5.7-5.6,10.9-7.3,17c-2.1,7.5-4.2,14.4-5.3,22.2c-0.9,6.3-1.8,12.7-3.1,18.9c-0.9,4.4-0.1,7.7,0.6,12 c0.4,2.9,1,5.6,1.9,8.3c0.8,2.7,3.2,4.7,3.9,7.5"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M185.9,244.7 c-16.1,5.9-32.7,10.3-48.1,17.8c-11.1,5.4-16.4,14.7-24.9,23.1c-16.7,16.7-26.4,36.8-36.8,57.6"}),r.a.createElement("path",{className:"last-5",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M254.8,266.3 c2.6,14.2,3.8,28.1,4.8,42.5c0.9,12.2,3.2,24.2,3.2,36.5c0,10.4-0.2,20.6-0.8,31c-0.6,10.5-2.4,21.3-2.4,31.9"}),r.a.createElement("path",{className:"last-4",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M242.8,251.9 c8.8,7.3,14.1,15.3,18,25.8c1.5,4.2,2.5,8.5,4.1,12.6c4.1,10.8,6.2,20,7.4,31.5c0.6,6.4,0.4,12.6,1.4,19c1.2,7.8,3.3,15.5,3.6,23.4 c0.4,10.2,2.2,20.2,3.2,30.3"}),r.a.createElement("path",{className:"last-3",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M246.8,245.5 c9.7,11.6,18.8,23.1,26.3,36.2c3.6,6.3,4.8,12.6,7.4,19.1c4.3,10.6,7.1,22.1,8.8,33.5c1.4,9.8,3.4,18.8,4,28.6 c0.5,8.5,6.4,15.9,6.4,24.3"}),r.a.createElement("path",{className:"last-1",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M250,247.1 c16.5,12.2,27.6,31.3,38,48.8c5.5,9.2,9.6,19.1,13.7,29c2.6,6.2,4.4,12.7,6.9,18.9c2.6,6.7,6.6,12.5,8.3,19.5 c1.1,4.4,3.2,8.2,3.7,12.8c0.3,2.6,2.4,4.6,2.4,7.3"}),r.a.createElement("path",{className:"last-6",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M249.2,276 c2.3,14,4.8,27.9,4.8,42.1c0,11.1-0.4,22.3-1,33.4c-0.8,16.2-5.4,30.5-11,45.5"}),r.a.createElement("path",{className:"last-4",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M271.6,289.6 c4.8,24.9,8.6,50.9,5.6,76.2c-0.8,6.6-3,12.8-3.8,19.4c-0.3,2.7,0.2,8.8-2.6,10.1"}),r.a.createElement("path",{className:"last-2",stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M278.8,283.2 c4.8,9.7,8.3,19.8,12.1,29.9c2,5.5,3,11.3,5.1,16.7c1.2,3.1,0.9,7.4,1.5,10.8c0.7,4.5,3,9.3,3,13.9"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M184.3,255.1 c-10.6,6.6-23.1,9.6-33.9,15.8c-3.5,2-6.9,2.5-10.2,5.2c-4.6,3.8-8.7,6.2-14,9.1c-3.9,2.2-7.9,4.7-11.3,7.7 c-5.2,4.4-7.5,11.8-11.6,17.2c-5.4,7.2-17.1,13.2-20,22"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M195.5,244.7 c-11.2,2.7-22.1,6.5-32.8,10.8c-5.9,2.4-11.4,5.6-17.3,8c-7.4,3-13.6,7.7-20.2,12c-7,4.6-9.8,11.2-13.8,18.1 c-5.3,9.1-9.8,18.7-15.3,27.6c-3.8,6.2-7.6,13.5-9.6,20.5c-1.8,6.3-5,12.1-6.9,18.5c-1.2,4-2.3,10.6-5.2,13.5"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M237.9,264.2 c4.7,23.7,7.3,45.3,7.3,69.4c0,11.1,0.4,21.6-3.7,31.9"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M180.5,258.1 c-10.6,8-24.2,16.2-31.7,27.1c-11.2,16.2-22.1,33.1-26.9,52.2"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M189.7,323.6 c8.9,6.5,1.4-5.8,0,0.4c-1,4.3,8.5-2,2.3-2c-3.4,0-4.4,5.1-2.4,7.6c2.1,2.7,5.9-3,3.2-4.4"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M165.1,330.8 c-3.5,5.1,1.6,6.3,1.6,3.6c0-2.9-0.4-5.7-4-3.8c-2,1.1-0.4,4.6,0,6.1c0.6,2,5.7-1.1,2.4-2.7"}),r.a.createElement("path",{stroke:"#000000",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round",d:"M175.7,363.3 c2.8,1.7,5.1,3.3,8.5,2.6c1.5-0.3,4.3-4,2.8-2.6"}))}function Ma(){return r.a.createElement("svg",{className:"background-doodle doodle-1",viewBox:"0 200 411 570",fill:"none",xmlns:"http://www.w3.org/2000/svg"}
1,r.a.createElement("path",{d:"M80.0586 470.344C4.31253 504.724 -84.5729 581.606 -88.9905 720.448C-94.5124 894.001 81.2561 957.65 87.4156 991.761L275.448 997.744C286.365 963.348 445.698 991.452 468.84 785.206C490.777 589.693 370.464 542.944 338.854 486.754C327.989 457.794 322.881 433.105 323.66 408.603C324.874 370.46 313.196 305.291 242.844 293.62C166.629 280.975 139.427 333.25 123.87 389.984C111.425 435.37 91.9637 466.636 80.0586 470.344Z",fill:"#ACA6E2"}),r.a.createElement("path",{className:"long-stroke",d:"M202.194 204.013C187.959 209.728 180.569 216.626 172.367 232.362C162.262 258.255 165.239 260.751 164.793 274.77C164.251 291.797 174.996 303.44 184.967 303.757C200.632 304.255 211.077 282.422 215.353 270.738C219.308 263.154 218.848 256.971 216.04 249.172C213.231 241.372 207.622 235.875 201.018 240.984C193.125 247.088 188.207 259.362 187.873 269.864C187.442 283.425 189.682 293.689 194.798 306.385C204.674 318.201 210.968 311.297 217.836 309.434C222.841 308.076 231.45 304.47 234.65 300.336C238.535 295.315 242.148 293.179 246.881 279.452C255.209 265.838 243.269 246.064 236.107 254.53C229.253 262.631 225.427 278.595 225.089 289.194C224.864 296.279 227.606 314.563 237.474 315.432C241.941 315.825 245.379 315.945 249.094 313.764C253.987 310.892 256.741 307.145 258.647 302.956C260.223 299.494 265.244 287.746 257.513 282.874C253.298 278.341 246.42 293.947 246.338 296.539C246.114 303.578 244.633 327.331 256.087 327.695C273.081 329.63 277.809 315.335 273.814 306.584",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M184.258 402.543C195.147 408.236 212.236 416.074 221.239 403.72",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M195.821 367.546C166.001 366.597 134.805 363.176 105.095 366.737C94.1698 368.047 78.3049 369.832 74.3803 381.344C68.2245 399.401 110.68 398.95 118.747 399.824C153.771 403.62 187.342 397.999 222.386 399.114",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M223.981 348.987C232.255 358.442 234.081 348.1 224.02 347.78",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M186.063 345.822C187.556 347.059 190.663 350.731 192.98 349.518C194.414 348.767 194.206 347.715 193.059 347.018C190.961 345.743 188.379 345.465 186.103 344.572",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M293.156 344.599C295.91 338.743 300.23 328.284 307.589 326.475C310.73 325.703 309.193 336.717 309.124 338.883C308.933 344.903 309.433 351.17 306.976 356.784C303.049 365.758 302.934 366.24 294.231 360.411",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}),r.a.createElement("path",{d:"M149.749 323.63C149.603 318.312 148.419 313.996 143.003 315.592C140.478 316.335 138.996 323.761 138.784 326.244C138.543 329.06 138.175 332.068 139.58 334.559C140.891 336.881 144.953 336.916 147.131 337.329",stroke:"black",strokeWidth:"6",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ta={setActivePage:de},Pa=Object(c.b)((function(e){return{}}),Ta)((function(e){var t=Object(a.useState)(0),n=Object(w.a)(t,2),i=n[0],o=n[1];return r.a.createElement("div",{className:"onboarding-page-wrapper"},function(e){return 0===e?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"onboarding-text-wrapper",key:"text0"},"First, choose a shape.",r.a.createElement("br",null),"Then scribble!"),r.a.createElement(Ca,null)):1===e?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"onboarding-text-wrapper",key:"text1"},"Make it move using your body."),r.a.createElement(Ma,null)):void 0}(i),r.a.createElement("div",{className:"proceed-button-wrapper"},r.a.createElement("div",{className:"proceed-button clickable",onClick:0===i?function(){o((function(e){return e+1}))}:function(){e.setActivePage("character-selection")}},"Next")),r.a.createElement(ja.a,{variant:"dots",steps:2,position:"static",activeStep:i,className:"stepper"}))}));var Na={setActivePage:de,setAppPrivacyok:function(e){return{type:"SET_APP_PRIVACYOK",appPrivacyok:e}}},Aa=Object(c.b)((function(e){return{appPrivacyok:e.appPrivacyok}}),Na)((function(e){return"1"===window.localStorage.privacyok&&e.setAppPrivacyok(!0),r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{id:"scrollablepage",className:"home-page-wrapper"}
1,r.a.createElement("img",{className:"background-doodle doodle-fullbody",src:"resources/home-page/doodle-fullbody.svg"}),e.appPrivacyok?"":r.a.createElement("div",{className:"privacy-overlay"},r.a.createElement("div",{className:"privacy-overlay-text"},"We use cookies to analyse traffic to this site. By clicking OK, you are agreeing to our use of cookies. Check ",r.a.createElement("a",{href:"https://policies.google.com/",target:"_blank"},"Privacy and Terms")," for details.",r.a.createElement("br",null),r.a.createElement("a",{className:"ok-button clickable",onClick:function(){e.setAppPrivacyok(!0),window.localStorage.privacyok="1"}},"OK"))),r.a.createElement("div",{className:"page-before-scroll"},r.a.createElement("div",{className:"home-text-wrapper"},r.a.createElement("img",{className:"home-heading",src:"resources/home-page/logo.svg",alt:""}),r.a.createElement("div",{className:"home-instruction-text"},"Scrooble a doodle. Bring it to life.")),r.a.createElement("div",{className:"proceed-button-wrapper"},r.a.createElement("div",{className:"proceed-button clickable",onClick:function(){e.setActivePage("onboarding")}}
1," Start "),r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement("svg",{className:"clickable",onClick:function(){document.getElementById("scrollablepage").scroll(0,window.innerHeight)},xmlns:"http://www.w3.org/2000/svg",height:"36",viewBox:"0 0 24 24",width:"36"},r.a.createElement("path",{d:"M0 0h24v24H0V0z",fill:"none"}),r.a.createElement("path",{d:"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z",fill:"#FFFFFF"})))),r.a.createElement("div",{className:"page-moreinfo"},r.a.createElement("div",{className:"info-background"},r.a.createElement("div",{className:"info-text"},r.a.createElement("br",null),r.a.createElement("svg",{className:"clickable",onClick:function(){document.getElementById("scrollablepage").scroll(0,0)},xmlns:"http://www.w3.org/2000/svg",height:"36",viewBox:"0 0 24 24",width:"36"},r.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),r.a.createElement("path",{d:"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",fill:"#FFFFFF"})),r.a.createElement("h2",{className:"title"},"Welcome to Scroobly!"),r.a.createElement("p",{className:"subtitle"},"Create fun animations in real-time with your camera. A simple way to make doodles come to life - no design expertise or coding required. "),r.a.createElement("p",{className:"content"},r.a.createElement("b",null,"Here\u2019s how it works:"),"  Powered by ",r.a.createElement("a",{href:"https://www.tensorflow.org/js"},"TensorFlow.js"),", Scroobly uses ",r.a.createElement("a",{href:"https://github.com/tensorflow/tfjs-models/tree/master/facemesh"},"Facemesh")," and ",r.a.createElement("a",{href:"https://github.com/tensorflow/tfjs-models/tree/master/posenet"},"PoseNet")," machine learning (ML) models to map your live motion (gestures only) when you opt-in to use your webcam. The ML system updates the animation seen on screen as you move. With Scroobly, you\u2019re using artificial intelligence as a creative tool to become a digital animator, even if you\u2019ve never written code or taken a design class.",r.a.createElement("br",null),r.a.
1createElement("br",null),"Scroobly doesn\u2019t collect or store any images or data. Download your Scroobly animation (to your device only, for your safety and security). Share your animated Scroobles with the tag ",r.a.createElement("a",null,"#scroobly"),"!",r.a.createElement("br",null),r.a.createElement("br",null))),r.a.createElement("div",{className:"powered-by"},r.a.createElement("div",{className:"item-ai-experiment"},r.a.createElement("svg",{viewBox:"0 0 126.9 64.8",id:"A.I._experiment_dark",xmlns:"http://www.w3.org/2000/svg"},r.a.createElement("path",{d:"M.4 32.6l6.5-17.2h3l6.5 17.2h-2.9l-1.6-4.4h-7l-1.6 4.4H.4zm7.2-12.1l-1.9 5.3H11l-1.9-5.3-.6-2h-.2l-.7 2zm12.3 12.2c-.5 0-.9-.2-1.3-.5-.4-.4-.5-.8-.5-1.3s.2-.9.5-1.3c.4-.4.8-.5 1.3-.5s.9.2 1.3.5c.4.4.5.8.5 1.3s-.2.9-.5 1.3c-.4.3-.8.5-1.3.5zm5-.1V15.4h2.6v17.2h-2.6zm7.8.1c-.5 0-.9-.2-1.3-.5-.4-.4-.5-.8-.5-1.3s.2-.9.5-1.3c.4-.4.8-.5 1.3-.5s.9.2 1.3.5c.4.4.5.8.5 1.3s-.2.9-.5 1.3c-.4.3-.8.5-1.3.5zM1.9 59.6V42.4h10.4v2.5H4.6v4.8h7v2.5h-7V57h7.8v2.5l-10.5.1zm11.9 0l4.3-6.2-4.2-6h3l2.7 4h.1l2.6-4h3.1l-4.3 6 4.3 6.2h-3l-2.8-4.2h-.1l-2.7 4.2h-3zm13.4 5.2V47.3h2.4V49h.1c.3-.5.8-1 1.5-1.4s1.5-.6 2.4-.6c1.1 0 2.1.3 3 .8.9.6 1.6 1.3 2.1 2.3s.8 2.1.8 3.4-.3 2.4-.8 3.4-1.2 1.7-2.1 2.3c-.9.5-1.9.8-3 .8-.9 0-1.8-.2-2.4-.6-.7-.4-1.2-.9-1.5-1.4h-.1l.1 1.7v5.1h-2.5zm6.1-7.2c.6 0 1.2-.2 1.8-.5s1-.8 1.4-1.4c.4-.6.5-1.4.5-2.2s-.2-1.6-.5-2.2c-.4-.6-.8-1.1-1.4-1.4-.6-.3-1.2-.5-1.8-.5s-1.2.2-1.8.5c-.6.3-1 .8-1.4 1.4-.4.6-.5 1.3-.5 2.2s.2 1.6.5 2.2c.4.6.8 1.1 1.4 1.4.6.3 1.2.5 1.8.5zM47.6 60c-1.2 0-2.3-.3-3.2-.8s-1.7-1.3-2.2-2.3-.8-2.1-.8-3.3.3-2.2.8-3.2 1.2-1.8 2.1-2.4c.9-.6 2-.9 3.2-.9 1.3 0 2.3.3 3.2.8s1.6 1.3 2 2.2c.5.9.7 2 .7 3.2v.8h-9.5c.1 1.2.6 2.1 1.3 2.7.7.6 1.6.9 2.5.9.8 0 1.5-.2 2.1-.6.5-.4 1-.9 1.3-1.4l2.1 1c-.5 1-1.2 1.7-2.2 2.4-.9.6-2.1.9-3.4.9zm-.2-10.8c-.9 0-1.6.3-2.2.8-.6.5-1 1.2-1.2 2.1h6.8c0-.4-.2-.8-.4-1.3-.2-.4-.6-.8-1.1-1.1-.5-.4-1.1-.5-1.9-.5zm8.4 10.4V47.3h2.4v1.8h.1c.3-.6.7-1.1 1.4-1.5s1.4-.6 2.2-.6c.3 0 .6 0 .8.1.2 0 .5.1.6.2V50l-.9-.3c-.3-.1-.6-.1-1-.1-.6 0-1.2.2-1.6.5-.5.3-.8.8-1.1 1.3s-.4 1.1-.4 1.8v6.5h-2.5v-.1zm11.1-14.1c-.5 0-.9-.2-1.2-.5-.3-.4-.5-.8-.5-1.2s.2-.9.5-1.2c.4-.3.8-.5 1.2-.5.5 0 .9.2 1.2.5.4.3.5.7.5 1.2s-.2.9-.5 1.2c-.3.4-.7.5-1.2.5zm-1.3 14.1V47.3h2.6v12.2l-2.6.1zm5.8 0V47.3h2.4V49h.2c.4-.6.9-1.1 1.5-1.5.7-.4 1.4-.6 2.2-.6.9 0 1.7.2 2.3.6s1.1 1 1.4 1.6c.4-.6.9-1.2 1.6-1.6.7-.4 1.5-.7 2.5-.7 1.4 0 2.5.4 3.2 1.3.7.9 1.1 2 1.1 3.5v7.8h-2.6V52c0-1-.2-1.7-.6-2.1-.4-.5-1-.7-1.8-.7-.6 0-1.1.2-1.6.5-.4.3-.8.8-1.1 1.3-.2.6-.4 1.2-.4 1.9v6.6h-2.6v-7.4c0-1-.2-1.7-.6-2.1-.4-.5-1-.7-1.8-.7-.6 0-1.1.2-1.5.5s-.8.8-1 1.3c-.1.6-.2 1.3-.2 1.9v6.5l-2.6.1zm27 .4c-1.2 0-2.3-.3-3.2-.8s-1.7-1.3-2.2-2.3-.8-2.1-.8-3.3.3-2.2.8-3.2 1.2-1.8 2.1-2.4c.9-.6 2-.9 3.2-.9 1.3 0 2.3.3 3.2.8.9.5 1.6 1.3 2 2.2.5.9.7 2 .7 3.2v.8h-9.5c.1 1.2.6 2.1 1.3 2.7.7.6 1.6.9 2.5.9.8 0 1.5-.2 2.1-.6.5-.4 1-.9 1.3-1.4l2.1 1c-.5 1-1.2 1.7-2.2 2.4-.9.6-2 .9-3.4.9zm-.1-10.8c-.9 0-1.6.3-2.2.8s-1 1.2-1.2 2.1h6.8c0-.4-.2-.8-.4-1.3s-.6-.8-1.1-1.1c-.6-.4-1.2-.5-1.9-.5zm8.3 10.4V47.3h2.4V49h.1a4.63 4.63 0 013.9-2.1c1.5 0 2.6.4 3.4 1.3.8.9 1.1 2.1 1.1 3.6v7.7H115v-7.4c0-1-.2-1.7-.7-2.2s-1.1-.7-1.9-.7c-.6 0-1.2.2-1.6.5-.5.3-.8.8-1.1 1.3-.3.6-.4 1.2-.4 1.8v6.6h-2.7v.2zm18.3.2c-1.1 0-2-.3-2.7-1s-1-1.6-1-2.8v-6.4h-2.1v-2.3h2.1v-3.5h2.6v3.5h3v2.3h-3v5.9c0 .6.1 1.1.4 1.4.3.3.7.5 1.3.5.3 0 .6 0 .8-.1.2-.1.4-.2.7-.3v2.5l-.9.3c-.3.1-.8 0-1.2 0zM2 6.6V1.1H.2v-1h4.6V1H3v5.5l-1 .1zm3.7 0V.1h1v1.8l-.1.7h.1c.1-.2.3-.4.6-.5.3-.1.6-.2.9-.2.6 0 1 .2 1.3.5s.4.8.4 1.3v2.9h-1V3.8c0-.4-.1-.6-.3-.8-.2-.2-.4-.3-.7-.3-.2 0-.4.1-.6.2-.2.2-.4.3-.5.5-.1.3-.1.5-.1.7v2.4l-1 .1zm5.8-5.3c-.2 0-.3-.1-.5-.2-.1-.1-.2-.3-.2-.5s.1-.3.2-.5c.2 0 .3-.1.5-.1s.3.1.5.2c.1.1.2.3.2.5s-.1.3-.2.5c-.2 0-.3.1-.5.1zM11 6.6V2h1v4.6h-1zm3.9.1c-.6 0-1-.1-1.3-.4-.3-.2-.6-.5-.7-.9l.9-.4c.1.2.3.4.5.6.2.1.4.2.7.2.2 0 .4 0 .6-.1.2-.1.3-.2.3-.4s-.1-.3-.3-.4-.4-.2-.6-.2l-.5-.1c-.2-.1-.4-.1-.6-.3-.2-.1-.3-.3-.5-.4-.1-.2-.2-.4-.2-.6 0-.3.1-.5.2-.7.2-.2.4-.4.6-.5.3-.1.6-.2.9-.2.4 0 .8.1 1.1.3s.6.4.7.7l-.8.4c-.1-.2-.2-.3-.4-.4-.2-.1-.4-.1-.6-.1-.2 0-.4 0-.6.1-.2 0-.3.1-.3.3s.1.3.2.4c.1.1.3.2.5.2l.7.2c.5.1.8.3 1 .5s.3.5.3.8-.1.6-.3.8c-.2.2-.4.4-.7.5-.2.1-.5.1-.8.1zm5.4-5.4c-.2 0-.3-.1-.5-.2-.1-.1-.2-.3-.2-.5s.1-.3.2-.5c.1 0 .3-.1.5-.1s.3.1.5.2c.1.1.2.3.2.5s-.1.3-.2.5c-.2 0-.4.1-.5.1zm-.5 5.3V2h1v4.6h-1zm3.8.1c-.6 0-1-.1-1.3-.4-.3-.2-.6-.5-.7-.9l.9-.4c.1.2.3.4.5.6.2.1.4.2.7.2.2 0 .4 0 .6-.1s.3-.2.3-.4-.1-.3-.3-.4c-.2-.1-.4-.2-.6-.2l-.5-.1c-.2-.1-.4-.1-.6-.3-.3-.1-.5-.3-.6-.5s-.2-.4-.2-.6c0-.3.1-.5.2-.7.2-.2.4-.4.6-.5.3-.1.6-.2.9-.2.4 0 .8.1 1.1.3.3.2.6.4.7.7l-.8.4c-.1-.2-.2-.3-.4-.4-.2-.1-.4-.1-.6-.1s-.4 0-.6.1-.1.2-.1.4.1.3.2.4c.1.1.3.2.5.2l.7.2c.5.1.8.3 1 .5s.3.5.3.8-.1.6-.3.8c-.2.2-.4.4-.7.5-.2.1-.5.1-.9.1zm6.3 0c-.3 0-.6-.1-.9-.2s-.5-.3-.6-.5-.2-.5-.2-.8.1-.6.3-.8c.2-.2.4-.4.7-.5.3-.1.6-.2 1-.2.3 0 .5 0 .8.1.2.1.4.1.5.2v-.4c0-.3-.1-.5-.3-.7s-.5-.3-.8-.3c-.2 0-.5.1-.7.2-.2.1-.4.2-.5.4l-.7-.5c.2-.3.5-.5.8-.6.3-.2.7-.2 1.1-.2.7 0 1.2.2 1.5.5.4.3.5.8.5 1.4v2.9h-.9V6h-.1c-.
11.2-.3.4-.5.5-.4.1-.7.2-1 .2zm.2-.8c.3 0 .5-.1.7-.2s.3-.3.5-.5c.1-.2.2-.4.2-.6-.1-.1-.3-.1-.5-.2s-.4-.1-.6-.1c-.4 0-.7.1-.8.2-.2.2-.3.3-.3.6 0 .2.1.4.2.5.1.3.3.3.6.3zm3.3.7V2h.9v.6h.1c.1-.2.3-.4.6-.5.3-.1.6-.2.9-.2.6 0 1 .2 1.3.5s.4.8.4 1.3v2.9h-1V3.8c0-.4-.1-.6-.3-.8-.2-.2-.4-.3-.7-.3-.2 0-.4.1-.6.2-.2.1-.3.3-.4.5-.1.2-.1.4-.1.7v2.5h-1.1z",fill:"#F7F6F6"}))),r.a.createElement("div",{className:"item-tf-logo"},r.a.createElement("img",{src:"resources/tensorflow.svg",alt:""})))))))}));var Ra={setActivePage:de},Fa=Object(c.b)((function(e){return{appInitialized:e.appInitialized}}),Ra)((function(e){return r.a.createElement("div",{className:"home-page-wrapper error-page-wrapper"},r.a.createElement("img",{className:"background-doodle",src:"/resources/home-page/doodle-error.svg"}),Ne.isMobile?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"home-text-wrapper"},r.a.createElement("img",{className:"home-heading",src:"resources/home-page/logo.svg",alt:""}),r.a.createElement("div",{className:"home-instruction-text"},r.a.createElement("b",null,"I can't see you!"),r.a.createElement("br",null),r.a.
1createElement("br",null),r.a.createElement("b",null,"Unable to access your camera")),Ne.isMobile?r.a.createElement("div",{className:"home-icons"},r.a.createElement("div",null,"Android users, ",r.a.createElement("br",null),"please open in Chrome",r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement("img",{src:"/resources/chrome_logo.svg",alt:"Google Chrome"})),r.a.createElement("div",null,"iOS users, ",r.a.createElement("br",null),"please open in Safari",r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement("img",{src:"/resources/safari_logo.svg",alt:"Safari"}))):null),r.a.createElement("div",{className:"proceed-button-wrapper"},e.appInitialized?r.a.createElement(r.a.Fragment,null,r.a.createElement("span",{className:"applink"},window.location.href.split("?")[0].split("#")[0]),r.a.createElement("div",{className:"proceed-button clickable",onClick:function(){var e=document.createElement("textarea");document.body.appendChild(e),e.value=window.location.href,e.select(),document.execCommand("copy"),document.body.removeChild(e),alert("Link copied!")}}," Copy Link ")):r.a.createElement(zn.a,null))):r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"home-text-wrapper"},r.a.createElement("img",{className:"home-heading",src:"resources/home-page/logo.svg",alt:""}),r.a.createElement("div",{className:"home-instruction-text"},r.a.createElement("b",null,"Scrooble a doodle. Bring it to life."),r.a.createElement("br",null),r.a.
1createElement("br",null),r.a.createElement("p",{className:"instruction-header"},"Unable to access your camera"),r.a.createElement("p",{className:"instruction-content"},"Please check your browser settings to allow camera access then try again.")))))})),Ba=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"setup",value:function(e){return fetch("resources/assets.json").then((function(e){return e.json()})).then((function(t){e.setAssets(t)})).catch((function(e){return console.error(e)}))}}]),e}(),Da=function(){function e(){Object(m.a)(this,e)}return Object(v.a)(e,null,[{key:"setDragDropHandler",value:function(e,t){var n=function(e){(e=e).preventDefault()},a=function(n){if((n=n).preventDefault(),n.dataTransfer.items){if(n.dataTransfer.items.length<1)return;var a=new FileReader;if(a.onload=function(t){e(t.target.result)},n.dataTransfer.files.length){var r=n.dataTransfer.files[0];t&&t.length&&!t.some((function(e){return e===r.type}))||a.readAsText(r)}}};return window.addEventListener("dragover",n,!1),window.addEventListener("drop",a,!1),{dragover:n,drop:a}}},{key:"removeDragDropHandler",value:function(e){window.removeEventListener("dragover",e.dragover),window.removeEventListener("drop",e.drop)}}]),e}();n(393);var Ia={setAppInitialized:function(e){return{type:"SET_APP_INITIALIZED",appInitialized:e}},setDoodlePage:fe,setDoodleSvg:pe,setActivePage:de,openDialogModal:ve,closeDialogModal:ge};d.a.initialize("UA-177925074-1"),d.a.set({anonymizeIp:!0}),d.a.set({referrer:document.referrer.split("?")[0]}),d.a.pageview(window.location.pathname+window.location.search);var za=Object(c.b)((function(e){return{activePage:e.activePage,poseDetection:e.poseDetection,assetsDB:e.assetsDB,characterCollection:e.characterCollection}}),Ia)((function(e){var t=Object(c.c)();Object(a.useEffect)((function(){!function(){var e=new URL(window.location.href).searchParams;if("dev"===e.get("env")){for(var t in Vn)delete Vn[t];Object.assign(Vn,Wn)}
1e.get("showFPS")&&(Vn.showFPS=!0),console.log("Config initialized")}();var t=Da.setDragDropHandler((function(e){try{var t=JSON.parse(e);n(atob(t.data))}catch(a){n("")}}),["application/json","json"]);return Promise.all([e.poseDetection.setup(),Ba.setup(e.assetsDB)]).then((function(){return e.characterCollection.load(e.assetsDB.getAssets())})).then(Object(h.a)(u.a.mark((function t(){var n;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ce.buildForAnimation(e.characterCollection.getFeaturesOfCharAtIndex(0),e.assetsDB.getAssets());case 2:n=t.sent,e.setDoodleSvg(n),e.setAppInitialized(!0);case 5:case"end":return t.stop()}}),t)})))),function(){Da.removeDragDropHandler(t)}}),[]);var n=function(n){e.openDialogModal({title:"Import doodle?",content:"You\u2019ll lose all your scribbles and need to start again from scratch.",onConfirm:function(){var a=bt.importIllustrationNode(n);a&&a.illustration?(t({type:"SET_DOODLE_LINE_HISTORY",doodleLineHistory:Object(s.a)(Object(s.a)({},Object.assign({},be)),{},{doodleImportSVGString:n})}),e.setDoodlePage("charactorDrawing"),e.setActivePage("doodly")):(e.closeDialogModal(),setTimeout((function(){e.openDialogModal({title:"Invalid SVG",content:"Cannot parse the input SVG.",onConfirm:function(){}})}),0))}})};return r.a.createElement("div",{className:"primary-wrapper "+e.activePage},"home"===e.activePage?r.a.createElement(Aa,null):"nocamera"===e.activePage?r.a.createElement(Fa,null):"onboarding"===e.activePage?r.a.createElement(Pa,null):"doodly"===e.activePage?r.a.createElement(En,null):r.a.createElement(Oa,null),r.a.createElement(Ee,null))})),Ja=function(){document.body.style.height=window.innerHeight+"px"};window.onload=Ja,window.onresize=Ja;var Ua=za;Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));o.a.render(r.a.createElement(r.a.Fragment,null,r.a.createElement(c.a,{store:we},r.a.createElement(Ua,null))),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))}},[[336,1,2]]]);
2//# sourceMappingURL=main.32afecee.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.