THREE.Matrix4.makeInvert3x3=function(a){varc=a.flatten();a=newTHREE.Matrix3;varf=c[10]*c[5]-c[6]*c[9],b=-c[10]*c[1]+c[2]*c[9],d=c[6]*c[1]-c[2]*c[5],j=-c[10]*c[4]+c[6]*c[8],o=c[10]*c[0]-c[2]*c[8],r=-c[6]*c[0]+c[2]*c[4],e=c[9]*c[4]-c[5]*c[8],g=-c[9]*c[0]+c[1]*c[8],m=c[5]*c[0]-c[1]*c[4];c=c[0]*f+c[1]*j+c[2]*e;if(c==0)throw"matrix not invertible";c=1/c;a.m[0]=c*f;a.m[1]=c*b;a.m[2]=c*d;a.m[3]=c*j;a.m[4]=c*o;a.m[5]=c*r;a.m[6]=c*e;a.m[7]=c*g;a.m[8]=c*m;returna};
THREE.Matrix4.makeInvert3x3=function(a){varc=a.flatten();a=newTHREE.Matrix3;varf=c[10]*c[5]-c[6]*c[9],b=-c[10]*c[1]+c[2]*c[9],d=c[6]*c[1]-c[2]*c[5],j=-c[10]*c[4]+c[6]*c[8],o=c[10]*c[0]-c[2]*c[8],r=-c[6]*c[0]+c[2]*c[4],e=c[9]*c[4]-c[5]*c[8],g=-c[9]*c[0]+c[1]*c[8],n=c[5]*c[0]-c[1]*c[4];c=c[0]*f+c[1]*j+c[2]*e;if(c==0)throw"matrix not invertible";c=1/c;a.m[0]=c*f;a.m[1]=c*b;a.m[2]=c*d;a.m[3]=c*j;a.m[4]=c*o;a.m[5]=c*r;a.m[6]=c*e;a.m[7]=c*g;a.m[8]=c*n;returna};
""+B.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+"z");if(yinstanceofTHREE.MeshBasicMaterial)n.__styleString=y.color.__styleString;elseif(yinstanceofTHREE.MeshLambertMaterial)if(E){v.r=i.r;v.g=i.g;v.b=i.b;a(u,R,v);n.r=y.color.r*v.r;n.g=y.color.g*v.g;n.b=y.color.b*v.b;n.updateStyleString()}elsen.__styleString=y.color.__styleString;elseif(yinstanceofTHREE.MeshDepthMaterial){x=1-y.__2near/(y.__farPlusNear-R.z*y.__farMinusNear);
B.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+" L "+R.positionScreen.x+","+R.positionScreen.y+"z");if(uinstanceofTHREE.MeshBasicMaterial)n.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshLambertMaterial)if(E){v.r=i.r;v.g=i.g;v.b=i.b;a(Q,y,v);n.r=u.color.r*v.r;n.g=u.color.g*v.g;n.b=u.color.b*v.b;n.updateStyleString()}elsen.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshDepthMaterial){x=1-
""+C.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+"z");if(yinstanceofTHREE.MeshBasicMaterial)m.__styleString=y.color.__styleString;elseif(yinstanceofTHREE.MeshLambertMaterial)if(B){v.r=i.r;v.g=i.g;v.b=i.b;a(u,R,v);m.r=y.color.r*v.r;m.g=y.color.g*v.g;m.b=y.color.b*v.b;m.updateStyleString()}elsem.__styleString=y.color.__styleString;elseif(yinstanceofTHREE.MeshDepthMaterial){x=1-y.__2near/(y.__farPlusNear-R.z*y.__farMinusNear);
C.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+" L "+R.positionScreen.x+","+R.positionScreen.y+"z");if(uinstanceofTHREE.MeshBasicMaterial)m.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshLambertMaterial)if(B){v.r=i.r;v.g=i.g;v.b=i.b;a(Q,y,v);m.r=u.color.r*v.r;m.g=u.color.g*v.g;m.b=u.color.b*v.b;m.updateStyleString()}elsem.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshDepthMaterial){x=1-
b.linkProgram(d);if(!b.getProgramParameter(d,b.LINK_STATUS)){alert("Could not initialise shaders");alert("VALIDATE_STATUS: "+b.getProgramParameter(d,b.VALIDATE_STATUS));alert(b.getError())}b.useProgram(d);d.viewMatrix=b.getUniformLocation(d,"viewMatrix");d.modelViewMatrix=b.getUniformLocation(d,"modelViewMatrix");d.projectionMatrix=b.getUniformLocation(d,"projectionMatrix");d.normalMatrix=b.getUniformLocation(d,"normalMatrix");d.objMatrix=b.getUniformLocation(d,"objMatrix");d.cameraPosition=b.getUniformLocation(d,
THREE.Matrix4.makeInvert3x3=function(a){varc=a.flatten();a=newTHREE.Matrix3;varf=c[10]*c[5]-c[6]*c[9],b=-c[10]*c[1]+c[2]*c[9],d=c[6]*c[1]-c[2]*c[5],j=-c[10]*c[4]+c[6]*c[8],o=c[10]*c[0]-c[2]*c[8],r=-c[6]*c[0]+c[2]*c[4],e=c[9]*c[4]-c[5]*c[8],g=-c[9]*c[0]+c[1]*c[8],m=c[5]*c[0]-c[1]*c[4];c=c[0]*f+c[1]*j+c[2]*e;if(c==0)throw"matrix not invertible";c=1/c;a.m[0]=c*f;a.m[1]=c*b;a.m[2]=c*d;a.m[3]=c*j;a.m[4]=c*o;a.m[5]=c*r;a.m[6]=c*e;a.m[7]=c*g;a.m[8]=c*m;returna};
THREE.Matrix4.makeInvert3x3=function(a){varc=a.flatten();a=newTHREE.Matrix3;varf=c[10]*c[5]-c[6]*c[9],b=-c[10]*c[1]+c[2]*c[9],d=c[6]*c[1]-c[2]*c[5],j=-c[10]*c[4]+c[6]*c[8],o=c[10]*c[0]-c[2]*c[8],r=-c[6]*c[0]+c[2]*c[4],e=c[9]*c[4]-c[5]*c[8],g=-c[9]*c[0]+c[1]*c[8],n=c[5]*c[0]-c[1]*c[4];c=c[0]*f+c[1]*j+c[2]*e;if(c==0)throw"matrix not invertible";c=1/c;a.m[0]=c*f;a.m[1]=c*b;a.m[2]=c*d;a.m[3]=c*j;a.m[4]=c*o;a.m[5]=c*r;a.m[6]=c*e;a.m[7]=c*g;a.m[8]=c*n;returna};
""+B.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+"z");if(zinstanceofTHREE.MeshBasicMaterial)n.__styleString=z.color.__styleString;elseif(zinstanceofTHREE.MeshLambertMaterial)if(E){w.r=h.r;w.g=h.g;w.b=h.b;a(u,R,w);n.r=z.color.r*w.r;n.g=z.color.g*w.g;n.b=z.color.b*w.b;n.updateStyleString()}elsen.__styleString=z.color.__styleString;elseif(zinstanceofTHREE.MeshDepthMaterial){y=1-z.__2near/(z.__farPlusNear-R.z*z.__farMinusNear);
B.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+" L "+R.positionScreen.x+","+R.positionScreen.y+"z");if(uinstanceofTHREE.MeshBasicMaterial)n.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshLambertMaterial)if(E){w.r=h.r;w.g=h.g;w.b=h.b;a(Q,z,w);n.r=u.color.r*w.r;n.g=u.color.g*w.g;n.b=u.color.b*w.b;n.updateStyleString()}elsen.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshDepthMaterial){y=1-
""+C.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+"z");if(zinstanceofTHREE.MeshBasicMaterial)m.__styleString=z.color.__styleString;elseif(zinstanceofTHREE.MeshLambertMaterial)if(B){w.r=h.r;w.g=h.g;w.b=h.b;a(u,R,w);m.r=z.color.r*w.r;m.g=z.color.g*w.g;m.b=z.color.b*w.b;m.updateStyleString()}elsem.__styleString=z.color.__styleString;elseif(zinstanceofTHREE.MeshDepthMaterial){y=1-z.__2near/(z.__farPlusNear-R.z*z.__farMinusNear);
C.positionScreen.y+" L "+L.positionScreen.x+""+L.positionScreen.y+" L "+K.positionScreen.x+","+K.positionScreen.y+" L "+R.positionScreen.x+","+R.positionScreen.y+"z");if(uinstanceofTHREE.MeshBasicMaterial)m.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshLambertMaterial)if(B){w.r=h.r;w.g=h.g;w.b=h.b;a(Q,z,w);m.r=u.color.r*w.r;m.g=u.color.g*w.g;m.b=u.color.b*w.b;m.updateStyleString()}elsem.__styleString=u.color.__styleString;elseif(uinstanceofTHREE.MeshDepthMaterial){y=1-
b.linkProgram(d);if(!b.getProgramParameter(d,b.LINK_STATUS)){alert("Could not initialise shaders");alert("VALIDATE_STATUS: "+b.getProgramParameter(d,b.VALIDATE_STATUS));alert(b.getError())}b.useProgram(d);d.viewMatrix=b.getUniformLocation(d,"viewMatrix");d.modelViewMatrix=b.getUniformLocation(d,"modelViewMatrix");d.projectionMatrix=b.getUniformLocation(d,"projectionMatrix");d.normalMatrix=b.getUniformLocation(d,"normalMatrix");d.objMatrix=b.getUniformLocation(d,"objMatrix");d.cameraPosition=b.getUniformLocation(d,