/*! Four v0.3.0 | Jason Petersen (@allotrop3) | MIT Licensed */ !function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=r(i),a=n(11),u=r(a),c=n(12),s=r(c),f=n(14),l=r(f),h=n(13),p=r(h),d=n(18),v=r(d),y=n(19),b=r(y),g=n(20),m=r(g),_=n(21),w=r(_),O=n(22),M=r(O),E=n(23),k=r(E),P=n(24),j=r(P),T=n(25),R=r(T),A=n(26),x=r(A),S=n(27),F=r(S),D=n(29),C=r(D),L=n(32),N=r(L),U=n(33),Y=r(U),I=n(45),q=r(I),V=n(46),B=r(V),z=n(35),X=r(z),H=n(44),G=r(H),W=n(34),Z=r(W),Q=n(47),K=r(Q),J=n(16),$=r(J),tt=n(49),et=r(tt),nt=n(48),rt=r(nt),it=n(50),ot=r(it),at=n(51),ut=r(at),ct=n(17),st=r(ct),ft=n(28),lt=r(ft),ht=n(53),pt=r(ht),dt=n(54),vt=r(dt),yt=n(55),bt=r(yt),gt=n(56),mt=r(gt),_t=n(57),wt=r(_t),Ot=window.Four={glm:o["default"],Entity:u["default"],Attribute:s["default"],Camera:l["default"],Context:p["default"],OrthographicCamera:v["default"],PerspectiveCamera:b["default"],Framebuffer:m["default"],DeferredFramebuffer:w["default"],DepthFramebuffer:M["default"],Light:k["default"],PointLight:j["default"],Material:R["default"],PhongMaterial:x["default"],Mesh:F["default"],MeshLoader:C["default"],OBJMeshLoader:N["default"],Program:Y["default"],Renderbuffer:q["default"],Scene:B["default"],Shader:X["default"],FragmentShader:G["default"],VertexShader:Z["default"],ShadowMapper:K["default"],Structure:$["default"],Texture:et["default"],DataTexture:rt["default"],DepthTexture:ot["default"],ImageTexture:ut["default"],Uniform:st["default"],VertexArrayObject:lt["default"],Particle:pt["default"],ParticleSystem:vt["default"],Spring:bt["default"],Cloth:mt["default"],Bundle:wt["default"]};e["default"]=Ot},function(t,e,n){"use strict";e.glMatrix=n(2),e.mat2=n(3),e.mat2d=n(4),e.mat3=n(5),e.mat4=n(6),e.quat=n(7),e.vec2=n(10),e.vec3=n(8),e.vec4=n(9)},function(t,e){"use strict";var n={};n.EPSILON=1e-6,n.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var r=Math.PI/180;n.toRadian=function(t){return t*r},t.exports=n},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.transpose=function(t,e){if(t===e){var n=e[1];t[1]=e[2],t[2]=n}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*o-i*r;return a?(a=1/a,t[0]=o*a,t[1]=-r*a,t[2]=-i*a,t[3]=n*a,t):null},i.adjoint=function(t,e){var n=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=n,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=n[0],c=n[1],s=n[2],f=n[3];return t[0]=r*u+o*c,t[1]=i*u+a*c,t[2]=r*s+o*f,t[3]=i*s+a*f,t},i.mul=i.multiply,i.rotate=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=Math.sin(n),c=Math.cos(n);return t[0]=r*c+o*u,t[1]=i*c+a*u,t[2]=r*-u+o*c,t[3]=i*-u+a*c,t},i.scale=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=n[0],c=n[1];return t[0]=r*u,t[1]=i*u,t[2]=o*c,t[3]=a*c,t},i.fromRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=-n,t[3]=r,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,n,r){return t[2]=r[2]/r[0],n[0]=r[0],n[1]=r[1],n[3]=r[3]-t[2]*n[1],[t,e,n]},t.exports=i},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new r.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.invert=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=n*o-r*i;return c?(c=1/c,t[0]=o*c,t[1]=-r*c,t[2]=-i*c,t[3]=n*c,t[4]=(i*u-o*a)*c,t[5]=(r*a-n*u)*c,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=n[0],f=n[1],l=n[2],h=n[3],p=n[4],d=n[5];return t[0]=r*s+o*f,t[1]=i*s+a*f,t[2]=r*l+o*h,t[3]=i*l+a*h,t[4]=r*p+o*d+u,t[5]=i*p+a*d+c,t},i.mul=i.multiply,i.rotate=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=Math.sin(n),f=Math.cos(n);return t[0]=r*f+o*s,t[1]=i*f+a*s,t[2]=r*-s+o*f,t[3]=i*-s+a*f,t[4]=u,t[5]=c,t},i.scale=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=n[0],f=n[1];return t[0]=r*s,t[1]=i*s,t[2]=o*f,t[3]=a*f,t[4]=u,t[5]=c,t},i.translate=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=n[0],f=n[1];return t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=r*s+o*f+u,t[5]=i*s+a*f+c,t},i.fromRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=-n,t[3]=r,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=i},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new r.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.invert=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=e[6],s=e[7],f=e[8],l=f*a-u*s,h=-f*o+u*c,p=s*o-a*c,d=n*l+r*h+i*p;return d?(d=1/d,t[0]=l*d,t[1]=(-f*r+i*s)*d,t[2]=(u*r-i*a)*d,t[3]=h*d,t[4]=(f*n-i*c)*d,t[5]=(-u*n+i*o)*d,t[6]=p*d,t[7]=(-s*n+r*c)*d,t[8]=(a*n-r*o)*d,t):null},i.adjoint=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=e[6],s=e[7],f=e[8];return t[0]=a*f-u*s,t[1]=i*s-r*f,t[2]=r*u-i*a,t[3]=u*c-o*f,t[4]=n*f-i*c,t[5]=i*o-n*u,t[6]=o*s-a*c,t[7]=r*c-n*s,t[8]=n*a-r*o,t},i.determinant=function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],u=t[6],c=t[7],s=t[8];return e*(s*o-a*c)+n*(-s*i+a*u)+r*(c*i-o*u)},i.multiply=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=e[6],f=e[7],l=e[8],h=n[0],p=n[1],d=n[2],v=n[3],y=n[4],b=n[5],g=n[6],m=n[7],_=n[8];return t[0]=h*r+p*a+d*s,t[1]=h*i+p*u+d*f,t[2]=h*o+p*c+d*l,t[3]=v*r+y*a+b*s,t[4]=v*i+y*u+b*f,t[5]=v*o+y*c+b*l,t[6]=g*r+m*a+_*s,t[7]=g*i+m*u+_*f,t[8]=g*o+m*c+_*l,t},i.mul=i.multiply,i.translate=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=e[6],f=e[7],l=e[8],h=n[0],p=n[1];return t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=u,t[5]=c,t[6]=h*r+p*a+s,t[7]=h*i+p*u+f,t[8]=h*o+p*c+l,t},i.rotate=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=e[6],f=e[7],l=e[8],h=Math.sin(n),p=Math.cos(n);return t[0]=p*r+h*a,t[1]=p*i+h*u,t[2]=p*o+h*c,t[3]=p*a-h*r,t[4]=p*u-h*i,t[5]=p*c-h*o,t[6]=s,t[7]=f,t[8]=l,t},i.scale=function(t,e,n){var r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.fromRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n+n,u=r+r,c=i+i,s=n*a,f=r*a,l=r*u,h=i*a,p=i*u,d=i*c,v=o*a,y=o*u,b=o*c;return t[0]=1-l-d,t[3]=f-b,t[6]=h+y,t[1]=f+b,t[4]=1-s-d,t[7]=p-v,t[2]=h-y,t[5]=p+v,t[8]=1-s-l,t},i.normalFromMat4=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=e[6],s=e[7],f=e[8],l=e[9],h=e[10],p=e[11],d=e[12],v=e[13],y=e[14],b=e[15],g=n*u-r*a,m=n*c-i*a,_=n*s-o*a,w=r*c-i*u,O=r*s-o*u,M=i*s-o*c,E=f*v-l*d,k=f*y-h*d,P=f*b-p*d,j=l*y-h*v,T=l*b-p*v,R=h*b-p*y,A=g*R-m*T+_*j+w*P-O*k+M*E;return A?(A=1/A,t[0]=(u*R-c*T+s*j)*A,t[1]=(c*P-a*R-s*k)*A,t[2]=(a*T-u*P+s*E)*A,t[3]=(i*T-r*R-o*j)*A,t[4]=(n*R-i*P+o*k)*A,t[5]=(r*P-n*T-o*E)*A,t[6]=(v*M-y*O+b*w)*A,t[7]=(y*_-d*M-b*m)*A,t[8]=(d*O-v*_+b*g)*A,t):null},i.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=i},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.clone=function(t){var e=new r.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.transpose=function(t,e){if(t===e){var n=e[1],r=e[2],i=e[3],o=e[6],a=e[7],u=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=u}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},i.invert=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=e[6],s=e[7],f=e[8],l=e[9],h=e[10],p=e[11],d=e[12],v=e[13],y=e[14],b=e[15],g=n*u-r*a,m=n*c-i*a,_=n*s-o*a,w=r*c-i*u,O=r*s-o*u,M=i*s-o*c,E=f*v-l*d,k=f*y-h*d,P=f*b-p*d,j=l*y-h*v,T=l*b-p*v,R=h*b-p*y,A=g*R-m*T+_*j+w*P-O*k+M*E;return A?(A=1/A,t[0]=(u*R-c*T+s*j)*A,t[1]=(i*T-r*R-o*j)*A,t[2]=(v*M-y*O+b*w)*A,t[3]=(h*O-l*M-p*w)*A,t[4]=(c*P-a*R-s*k)*A,t[5]=(n*R-i*P+o*k)*A,t[6]=(y*_-d*M-b*m)*A,t[7]=(f*M-h*_+p*m)*A,t[8]=(a*T-u*P+s*E)*A,t[9]=(r*P-n*T-o*E)*A,t[10]=(d*O-v*_+b*g)*A,t[11]=(l*_-f*O-p*g)*A,t[12]=(u*k-a*j-c*E)*A,t[13]=(n*j-r*k+i*E)*A,t[14]=(v*m-d*w-y*g)*A,t[15]=(f*w-l*m+h*g)*A,t):null},i.adjoint=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],u=e[5],c=e[6],s=e[7],f=e[8],l=e[9],h=e[10],p=e[11],d=e[12],v=e[13],y=e[14],b=e[15];return t[0]=u*(h*b-p*y)-l*(c*b-s*y)+v*(c*p-s*h),t[1]=-(r*(h*b-p*y)-l*(i*b-o*y)+v*(i*p-o*h)),t[2]=r*(c*b-s*y)-u*(i*b-o*y)+v*(i*s-o*c),t[3]=-(r*(c*p-s*h)-u*(i*p-o*h)+l*(i*s-o*c)),t[4]=-(a*(h*b-p*y)-f*(c*b-s*y)+d*(c*p-s*h)),t[5]=n*(h*b-p*y)-f*(i*b-o*y)+d*(i*p-o*h),t[6]=-(n*(c*b-s*y)-a*(i*b-o*y)+d*(i*s-o*c)),t[7]=n*(c*p-s*h)-a*(i*p-o*h)+f*(i*s-o*c),t[8]=a*(l*b-p*v)-f*(u*b-s*v)+d*(u*p-s*l),t[9]=-(n*(l*b-p*v)-f*(r*b-o*v)+d*(r*p-o*l)),t[10]=n*(u*b-s*v)-a*(r*b-o*v)+d*(r*s-o*u),t[11]=-(n*(u*p-s*l)-a*(r*p-o*l)+f*(r*s-o*u)),t[12]=-(a*(l*y-h*v)-f*(u*y-c*v)+d*(u*h-c*l)),t[13]=n*(l*y-h*v)-f*(r*y-i*v)+d*(r*h-i*l),t[14]=-(n*(u*y-c*v)-a*(r*y-i*v)+d*(r*c-i*u)),t[15]=n*(u*h-c*l)-a*(r*h-i*l)+f*(r*c-i*u),t},i.determinant=function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],u=t[6],c=t[7],s=t[8],f=t[9],l=t[10],h=t[11],p=t[12],d=t[13],v=t[14],y=t[15],b=e*a-n*o,g=e*u-r*o,m=e*c-i*o,_=n*u-r*a,w=n*c-i*a,O=r*c-i*u,M=s*d-f*p,E=s*v-l*p,k=s*y-h*p,P=f*v-l*d,j=f*y-h*d,T=l*y-h*v;return b*T-g*j+m*P+_*k-w*E+O*M},i.multiply=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=e[6],f=e[7],l=e[8],h=e[9],p=e[10],d=e[11],v=e[12],y=e[13],b=e[14],g=e[15],m=n[0],_=n[1],w=n[2],O=n[3];return t[0]=m*r+_*u+w*l+O*v,t[1]=m*i+_*c+w*h+O*y,t[2]=m*o+_*s+w*p+O*b,t[3]=m*a+_*f+w*d+O*g,m=n[4],_=n[5],w=n[6],O=n[7],t[4]=m*r+_*u+w*l+O*v,t[5]=m*i+_*c+w*h+O*y,t[6]=m*o+_*s+w*p+O*b,t[7]=m*a+_*f+w*d+O*g,m=n[8],_=n[9],w=n[10],O=n[11],t[8]=m*r+_*u+w*l+O*v,t[9]=m*i+_*c+w*h+O*y,t[10]=m*o+_*s+w*p+O*b,t[11]=m*a+_*f+w*d+O*g,m=n[12],_=n[13],w=n[14],O=n[15],t[12]=m*r+_*u+w*l+O*v,t[13]=m*i+_*c+w*h+O*y,t[14]=m*o+_*s+w*p+O*b,t[15]=m*a+_*f+w*d+O*g,t},i.mul=i.multiply,i.translate=function(t,e,n){var r,i,o,a,u,c,s,f,l,h,p,d,v=n[0],y=n[1],b=n[2];return e===t?(t[12]=e[0]*v+e[4]*y+e[8]*b+e[12],t[13]=e[1]*v+e[5]*y+e[9]*b+e[13],t[14]=e[2]*v+e[6]*y+e[10]*b+e[14],t[15]=e[3]*v+e[7]*y+e[11]*b+e[15]):(r=e[0],i=e[1],o=e[2],a=e[3],u=e[4],c=e[5],s=e[6],f=e[7],l=e[8],h=e[9],p=e[10],d=e[11],t[0]=r,t[1]=i,t[2]=o,t[3]=a,t[4]=u,t[5]=c,t[6]=s,t[7]=f,t[8]=l,t[9]=h,t[10]=p,t[11]=d,t[12]=r*v+u*y+l*b+e[12],t[13]=i*v+c*y+h*b+e[13],t[14]=o*v+s*y+p*b+e[14],t[15]=a*v+f*y+d*b+e[15]),t},i.scale=function(t,e,n){var r=n[0],i=n[1],o=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.rotate=function(t,e,n,i){var o,a,u,c,s,f,l,h,p,d,v,y,b,g,m,_,w,O,M,E,k,P,j,T,R=i[0],A=i[1],x=i[2],S=Math.sqrt(R*R+A*A+x*x);return Math.abs(S)c?(o.cross(t,e,i),o.length(t)<1e-6&&o.cross(t,n,i),o.normalize(t,t),u.setAxisAngle(r,t,Math.PI),r):c>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(o.cross(t,i,a),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+c,u.normalize(r,r))}}(),u.setAxes=function(){var t=i.create();return function(e,n,r,i){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-n[0],t[5]=-n[1],t[8]=-n[2],u.normalize(e,u.fromMat3(e,t))}}(),u.clone=a.clone,u.fromValues=a.fromValues,u.copy=a.copy,u.set=a.set,u.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},u.setAxisAngle=function(t,e,n){n=.5*n;var r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t},u.add=a.add,u.multiply=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3],u=n[0],c=n[1],s=n[2],f=n[3];return t[0]=r*f+a*u+i*s-o*c,t[1]=i*f+a*c+o*u-r*s,t[2]=o*f+a*s+r*c-i*u,t[3]=a*f-r*u-i*c-o*s,t},u.mul=u.multiply,u.scale=a.scale,u.rotateX=function(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],u=Math.sin(n),c=Math.cos(n);return t[0]=r*c+a*u,t[1]=i*c+o*u,t[2]=o*c-i*u,t[3]=a*c-r*u,t},u.rotateY=function(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],u=Math.sin(n),c=Math.cos(n);return t[0]=r*c-o*u,t[1]=i*c+a*u,t[2]=o*c+r*u,t[3]=a*c-i*u,t},u.rotateZ=function(t,e,n){n*=.5;var r=e[0],i=e[1],o=e[2],a=e[3],u=Math.sin(n),c=Math.cos(n);return t[0]=r*c+i*u,t[1]=i*c-r*u,t[2]=o*c+a*u,t[3]=a*c-o*u,t},u.calculateW=function(t,e){var n=e[0],r=e[1],i=e[2];return t[0]=n,t[1]=r,t[2]=i,t[3]=Math.sqrt(Math.abs(1-n*n-r*r-i*i)),t},u.dot=a.dot,u.lerp=a.lerp,u.slerp=function(t,e,n,r){var i,o,a,u,c,s=e[0],f=e[1],l=e[2],h=e[3],p=n[0],d=n[1],v=n[2],y=n[3];return o=s*p+f*d+l*v+h*y,0>o&&(o=-o,p=-p,d=-d,v=-v,y=-y),1-o>1e-6?(i=Math.acos(o),a=Math.sin(i),u=Math.sin((1-r)*i)/a,c=Math.sin(r*i)/a):(u=1-r,c=r),t[0]=u*s+c*p,t[1]=u*f+c*d,t[2]=u*l+c*v,t[3]=u*h+c*y,t},u.sqlerp=function(){var t=u.create(),e=u.create();return function(n,r,i,o,a,c){return u.slerp(t,r,a,c),u.slerp(e,i,o,c),u.slerp(n,t,e,2*c*(1-c)),n}}(),u.invert=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*n+r*r+i*i+o*o,u=a?1/a:0;return t[0]=-n*u,t[1]=-r*u,t[2]=-i*u,t[3]=o*u,t},u.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},u.length=a.length,u.len=u.length,u.squaredLength=a.squaredLength,u.sqrLen=u.squaredLength,u.normalize=a.normalize,u.fromMat3=function(t,e){var n,r=e[0]+e[4]+e[8];if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(e[3*i+i]-e[3*o+o]-e[3*a+a]+1),t[i]=.5*n,n=.5/n,t[3]=(e[3*o+a]-e[3*a+o])*n,t[o]=(e[3*o+i]+e[3*i+o])*n,t[a]=(e[3*a+i]+e[3*i+a])*n}return t},u.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=u},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,n){var i=new r.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=n,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t},i.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t},i.subtract=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t},i.sub=i.subtract,i.multiply=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t},i.mul=i.multiply,i.divide=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t},i.div=i.divide,i.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t},i.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t},i.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t},i.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t},i.distance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var n=e[0],r=e[1],i=e[2],o=n*n+r*r+i*i;return o>0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.cross=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[0],u=n[1],c=n[2];return t[0]=i*c-o*u,t[1]=o*a-r*c,t[2]=r*u-i*a,t},i.lerp=function(t,e,n,r){var i=e[0],o=e[1],a=e[2];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=a+r*(n[2]-a),t},i.hermite=function(t,e,n,r,i,o){var a=o*o,u=a*(2*o-3)+1,c=a*(o-2)+o,s=a*(o-1),f=a*(3-2*o);return t[0]=e[0]*u+n[0]*c+r[0]*s+i[0]*f,t[1]=e[1]*u+n[1]*c+r[1]*s+i[1]*f,t[2]=e[2]*u+n[2]*c+r[2]*s+i[2]*f,t},i.bezier=function(t,e,n,r,i,o){var a=1-o,u=a*a,c=o*o,s=u*a,f=3*o*u,l=3*c*a,h=c*o;return t[0]=e[0]*s+n[0]*f+r[0]*l+i[0]*h,t[1]=e[1]*s+n[1]*f+r[1]*l+i[1]*h,t[2]=e[2]*s+n[2]*f+r[2]*l+i[2]*h,t},i.random=function(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI,i=2*r.RANDOM()-1,o=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*o,t[1]=Math.sin(n)*o,t[2]=i*e,t},i.transformMat4=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[3]*r+n[7]*i+n[11]*o+n[15];return a=a||1,t[0]=(n[0]*r+n[4]*i+n[8]*o+n[12])/a,t[1]=(n[1]*r+n[5]*i+n[9]*o+n[13])/a,t[2]=(n[2]*r+n[6]*i+n[10]*o+n[14])/a,t},i.transformMat3=function(t,e,n){var r=e[0],i=e[1],o=e[2];return t[0]=r*n[0]+i*n[3]+o*n[6],t[1]=r*n[1]+i*n[4]+o*n[7],t[2]=r*n[2]+i*n[5]+o*n[8],t},i.transformQuat=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[0],u=n[1],c=n[2],s=n[3],f=s*r+u*o-c*i,l=s*i+c*r-a*o,h=s*o+a*i-u*r,p=-a*r-u*i-c*o;return t[0]=f*s+p*-a+l*-c-h*-u,t[1]=l*s+p*-u+h*-a-f*-c,t[2]=h*s+p*-c+f*-u-l*-a,t},i.rotateX=function(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[0],o[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),o[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t},i.rotateY=function(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),o[1]=i[1],o[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t},i.rotateZ=function(t,e,n,r){var i=[],o=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],o[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),o[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),o[2]=i[2],t[0]=o[0]+n[0],t[1]=o[1]+n[1],t[2]=o[2]+n[2],t},i.forEach=function(){var t=i.create();return function(e,n,r,i,o,a){var u,c;for(n||(n=3),r||(r=0),c=i?Math.min(i*n+r,e.length):e.length,u=r;c>u;u+=n)t[0]=e[u],t[1]=e[u+1],t[2]=e[u+2],o(t,t,a),e[u]=t[0],e[u+1]=t[1],e[u+2]=t[2];return e}}(),i.angle=function(t,e){var n=i.fromValues(t[0],t[1],t[2]),r=i.fromValues(e[0],e[1],e[2]);i.normalize(n,n),i.normalize(r,r);var o=i.dot(n,r);return o>1?0:Math.acos(o)},i.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=i},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,n,i){var o=new r.ARRAY_TYPE(4);return o[0]=t,o[1]=e,o[2]=n,o[3]=i,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t},i.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},i.subtract=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t},i.sub=i.subtract,i.multiply=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t},i.mul=i.multiply,i.divide=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t},i.div=i.divide,i.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t},i.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t},i.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t},i.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t},i.distance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],o=e[3]-t[3];return Math.sqrt(n*n+r*r+i*i+o*o)},i.dist=i.distance,i.squaredDistance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],o=e[3]-t[3];return n*n+r*r+i*i+o*o},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.sqrt(e*e+n*n+r*r+i*i)},i.len=i.length,i.squaredLength=function(t){var e=t[0],n=t[1],r=t[2],i=t[3];return e*e+n*n+r*r+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},i.normalize=function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=n*n+r*r+i*i+o*o;return a>0&&(a=1/Math.sqrt(a),t[0]=n*a,t[1]=r*a,t[2]=i*a,t[3]=o*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=function(t,e,n,r){var i=e[0],o=e[1],a=e[2],u=e[3];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=a+r*(n[2]-a),t[3]=u+r*(n[3]-u),t},i.random=function(t,e){return e=e||1,t[0]=r.RANDOM(),t[1]=r.RANDOM(),t[2]=r.RANDOM(),t[3]=r.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*o+n[12]*a,t[1]=n[1]*r+n[5]*i+n[9]*o+n[13]*a,t[2]=n[2]*r+n[6]*i+n[10]*o+n[14]*a,t[3]=n[3]*r+n[7]*i+n[11]*o+n[15]*a,t},i.transformQuat=function(t,e,n){var r=e[0],i=e[1],o=e[2],a=n[0],u=n[1],c=n[2],s=n[3],f=s*r+u*o-c*i,l=s*i+c*r-a*o,h=s*o+a*i-u*r,p=-a*r-u*i-c*o;return t[0]=f*s+p*-a+l*-c-h*-u,t[1]=l*s+p*-u+h*-a-f*-c,t[2]=h*s+p*-c+f*-u-l*-a,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,n,r,i,o,a){var u,c;for(n||(n=4),r||(r=0),c=i?Math.min(i*n+r,e.length):e.length,u=r;c>u;u+=n)t[0]=e[u],t[1]=e[u+1],t[2]=e[u+2],t[3]=e[u+3],o(t,t,a),e[u]=t[0],e[u+1]=t[1],e[u+2]=t[2],e[u+3]=t[3];return e}}(),i.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,e,n){"use strict";var r=n(2),i={};i.create=function(){var t=new r.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new r.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var n=new r.ARRAY_TYPE(2);return n[0]=t,n[1]=e,n},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,n){return t[0]=e,t[1]=n,t},i.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t},i.subtract=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t},i.sub=i.subtract,i.multiply=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t},i.mul=i.multiply,i.divide=function(t,e,n){return t[0]=e[0]/n[0], t[1]=e[1]/n[1],t},i.div=i.divide,i.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t},i.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t},i.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t},i.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t},i.distance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1];return Math.sqrt(n*n+r*r)},i.dist=i.distance,i.squaredDistance=function(t,e){var n=e[0]-t[0],r=e[1]-t[1];return n*n+r*r},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],n=t[1];return Math.sqrt(e*e+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],n=t[1];return e*e+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var n=e[0],r=e[1],i=n*n+r*r;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t},i.lerp=function(t,e,n,r){var i=e[0],o=e[1];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t},i.random=function(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t},i.transformMat2=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i,t[1]=n[1]*r+n[3]*i,t},i.transformMat2d=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i+n[4],t[1]=n[1]*r+n[3]*i+n[5],t},i.transformMat3=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[3]*i+n[6],t[1]=n[1]*r+n[4]*i+n[7],t},i.transformMat4=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[4]*i+n[12],t[1]=n[1]*r+n[5]*i+n[13],t},i.forEach=function(){var t=i.create();return function(e,n,r,i,o,a){var u,c;for(n||(n=2),r||(r=0),c=i?Math.min(i*n+r,e.length):e.length,u=r;c>u;u+=n)t[0]=e[u],t[1]=e[u+1],o(t,t,a),e[u]=t[0],e[u+1]=t[1];return e}}(),i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=i},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n>16&255,n=t>>8&255,r=255&t;return e/=255,n/=255,r/=255,[e,n,r]}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;nr;r+=n){var o=t.slice(r,r+n);e.push(o)}this.particles.forEach(this.find.bind(this,e))}},{key:"find",value:function(t,e,n){var r=[];t.forEach(this.thread.bind(this,r,n))}},{key:"thread",value:function(t,e,n){if(~n.indexOf(e)){var r,o=n.filter(function(n){return n!==e&&!~t.indexOf(n)}),a=o.map(this.stitch.bind(this,e));(r=this.springs).push.apply(r,i(a)),t.push.apply(t,i(o))}}},{key:"stitch",value:function(t,e,n){var r=this.particles,i=n%2?"STRUCTURAL":"SHEAR";return new p["default"]({i:r[t],j:r[e],stiffness:this.stiffness,damping:this.damping,type:i})}},{key:"solve",value:function(){this.paused||(this.springs.forEach(function(t){return t.relax()}),s(Object.getPrototypeOf(e.prototype),"solve",this).call(this))}},{key:"stiffness",get:function(){return this._stiffness},set:function(t){this._stiffness=t}},{key:"damping",get:function(){return this._damping},set:function(t){this._damping=t}},{key:"springs",get:function(){return this._springs},set:function(t){this._springs=t}}]),e}(l["default"]);e["default"]=d},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var u=function(){function t(t,e){for(var n=0;n