From 06d314e8ab9b79ce1a0e293a5e0f4c7ae58852bb Mon Sep 17 00:00:00 2001
From: MattheoCo <mattheocognet@gmail.com>
Date: Tue, 11 Feb 2025 09:07:26 +0100
Subject: [PATCH] ajout du violon avec textures

---
 COGNET/lib/Coordinates.js                 |   150 +
 COGNET/lib/Detector.js                    |    40 +
 COGNET/lib/OrbitAndPanControls.js         |   532 +
 COGNET/lib/OrbitAndPanControls.new.js     |   530 +
 COGNET/lib/TrackballControls.js           |   537 +
 COGNET/lib/dat.gui.min.js                 |    94 +
 COGNET/lib/jquery-1.8.3.min.js            |     2 +
 COGNET/lib/sprintf.js                     |   134 +
 COGNET/lib/stats.min.js                   |     6 +
 COGNET/lib/three.js                       | 35996 ++++++++++++++++++++
 COGNET/lib/three.min.js                   |   706 +
 COGNET/lib/tween.min.js                   |    14 +
 COGNET/lib/uclass_BeveledBlockGeometry.js |   264 +
 COGNET/lib/uclass_TeacupGeometry.js       |   529 +
 COGNET/lib/uclass_TeapotGeometry.js       |   737 +
 COGNET/lib/uclass_TeaspoonGeometry.js     |   527 +
 COGNET/lib/uclass_shaders.js              |   286 +
 COGNET/main.js                            |    81 +
 COGNET/textures/violon/map.jpg            |   Bin 0 -> 1318405 bytes
 19 files changed, 41165 insertions(+)
 create mode 100644 COGNET/lib/Coordinates.js
 create mode 100644 COGNET/lib/Detector.js
 create mode 100644 COGNET/lib/OrbitAndPanControls.js
 create mode 100644 COGNET/lib/OrbitAndPanControls.new.js
 create mode 100644 COGNET/lib/TrackballControls.js
 create mode 100644 COGNET/lib/dat.gui.min.js
 create mode 100644 COGNET/lib/jquery-1.8.3.min.js
 create mode 100644 COGNET/lib/sprintf.js
 create mode 100644 COGNET/lib/stats.min.js
 create mode 100644 COGNET/lib/three.js
 create mode 100644 COGNET/lib/three.min.js
 create mode 100644 COGNET/lib/tween.min.js
 create mode 100644 COGNET/lib/uclass_BeveledBlockGeometry.js
 create mode 100644 COGNET/lib/uclass_TeacupGeometry.js
 create mode 100644 COGNET/lib/uclass_TeapotGeometry.js
 create mode 100644 COGNET/lib/uclass_TeaspoonGeometry.js
 create mode 100644 COGNET/lib/uclass_shaders.js
 create mode 100644 COGNET/textures/violon/map.jpg

diff --git a/COGNET/lib/Coordinates.js b/COGNET/lib/Coordinates.js
new file mode 100644
index 0000000..bd23f0c
--- /dev/null
+++ b/COGNET/lib/Coordinates.js
@@ -0,0 +1,150 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/*global THREE, scene*/
+import * as THREE from 'three';
+export var Coordinates = {
+	drawGrid:function(params) {
+		params = params || {};
+		var size = params.size !== undefined ? params.size:100;
+		var scale = params.scale !== undefined ? params.scale:0.1;
+		var orientation = params.orientation !== undefined ? params.orientation:"x";
+		var grid = new THREE.Mesh(
+			new THREE.PlaneGeometry(size, size, size * scale, size * scale),
+			new THREE.MeshBasicMaterial({ color: 0x555555, wireframe: true }) 
+			);
+		// Yes, these are poorly labeled! It would be a mess to fix.
+		// What's really going on here:
+		// "x" means "rotate 90 degrees around x", etc.
+		// So "x" really means "show a grid with a normal of Y"
+		//    "y" means "show a grid with a normal of X"
+		//    "z" means (logically enough) "show a grid with a normal of Z"
+		if (orientation === "x") {
+			grid.rotation.x = - Math.PI / 2;
+		} else if (orientation === "y") {
+			grid.rotation.y = - Math.PI / 2;
+		} else if (orientation === "z") {
+			grid.rotation.z = - Math.PI / 2;
+		}
+
+		scene.add(grid);
+	},
+	drawGround:function(params) {
+		params = params || {};
+		var size = params.size !== undefined ? params.size:100;
+		var color = params.color !== undefined ? params.color:0xFFFFFF;
+		var ground = new THREE.Mesh(
+			new THREE.PlaneGeometry(size, size),
+			// When we use a ground plane we use directional lights, so illuminating
+			// just the corners is sufficient.
+			// Use MeshPhongMaterial if you want to capture per-pixel lighting:
+			// new THREE.MeshPhongMaterial({ color: color, specular: 0x000000,
+			new THREE.MeshLambertMaterial({ color: color,
+				// polygonOffset moves the plane back from the eye a bit, so that the lines on top of
+				// the grid do not have z-fighting with the grid:
+				// Factor == 1 moves it back relative to the slope (more on-edge means move back farther)
+				// Units == 4 is a fixed amount to move back, and 4 is usually a good value
+				polygonOffset: true, polygonOffsetFactor: 1.0, polygonOffsetUnits: 4.0
+			}));
+		ground.rotation.x = - Math.PI / 2;
+		scene.add(ground);
+	},
+	drawAxes:function(params) {
+		// x = red, y = green, z = blue  (RGB = xyz)
+		params = params || {};
+		var axisRadius = params.axisRadius !== undefined ? params.axisRadius:0.04;
+		var axisLength = params.axisLength !== undefined ? params.axisLength:11;
+		var axisTess = params.axisTess !== undefined ? params.axisTess:48;
+		var axisOrientation = params.axisOrientation !== undefined ? params.axisOrientation:"x";
+
+		var axisMaterial = new THREE.MeshLambertMaterial({ color: 0x000000, side: THREE.DoubleSide });
+		var axis = new THREE.Mesh(
+			new THREE.CylinderGeometry(axisRadius, axisRadius, axisLength, axisTess, 1, true), 
+			axisMaterial
+			);
+		if (axisOrientation === "x") {
+			axis.rotation.z = - Math.PI / 2;
+			axis.position.x = axisLength/2-1;
+		} else if (axisOrientation === "y") {
+				axis.position.y = axisLength/2-1;
+		}
+		
+		scene.add( axis );
+		
+		var arrow = new THREE.Mesh(
+			new THREE.CylinderGeometry(0, 4*axisRadius, 8*axisRadius, axisTess, 1, true), 
+			axisMaterial
+			);
+		if (axisOrientation === "x") {
+			arrow.rotation.z = - Math.PI / 2;
+			arrow.position.x = axisLength - 1 + axisRadius*4/2;
+		} else if (axisOrientation === "y") {
+			arrow.position.y = axisLength - 1 + axisRadius*4/2;
+		}
+
+		scene.add( arrow );
+
+	},
+	drawAllAxes:function(params) {
+		params = params || {};
+		var axisRadius = params.axisRadius !== undefined ? params.axisRadius:0.04;
+		var axisLength = params.axisLength !== undefined ? params.axisLength:11;
+		var axisTess = params.axisTess !== undefined ? params.axisTess:48;
+
+		var axisXMaterial = new THREE.MeshLambertMaterial({ color: 0xFF0000 });
+		var axisYMaterial = new THREE.MeshLambertMaterial({ color: 0x00FF00 });
+		var axisZMaterial = new THREE.MeshLambertMaterial({ color: 0x0000FF });
+		axisXMaterial.side = THREE.DoubleSide;
+		axisYMaterial.side = THREE.DoubleSide;
+		axisZMaterial.side = THREE.DoubleSide;
+		var axisX = new THREE.Mesh(
+			new THREE.CylinderGeometry(axisRadius, axisRadius, axisLength, axisTess, 1, true), 
+			axisXMaterial
+			);
+		var axisY = new THREE.Mesh(
+			new THREE.CylinderGeometry(axisRadius, axisRadius, axisLength, axisTess, 1, true), 
+			axisYMaterial
+			);
+		var axisZ = new THREE.Mesh(
+			new THREE.CylinderGeometry(axisRadius, axisRadius, axisLength, axisTess, 1, true), 
+			axisZMaterial
+			);
+		axisX.rotation.z = - Math.PI / 2;
+		axisX.position.x = axisLength/2-1;
+
+		axisY.position.y = axisLength/2-1;
+		
+		axisZ.rotation.y = - Math.PI / 2;
+		axisZ.rotation.z = - Math.PI / 2;
+		axisZ.position.z = axisLength/2-1;
+
+		scene.add( axisX );
+		scene.add( axisY );
+		scene.add( axisZ );
+
+		var arrowX = new THREE.Mesh(
+			new THREE.CylinderGeometry(0, 4*axisRadius, 4*axisRadius, axisTess, 1, true), 
+			axisXMaterial
+			);
+		var arrowY = new THREE.Mesh(
+			new THREE.CylinderGeometry(0, 4*axisRadius, 4*axisRadius, axisTess, 1, true), 
+			axisYMaterial
+			);
+		var arrowZ = new THREE.Mesh(
+			new THREE.CylinderGeometry(0, 4*axisRadius, 4*axisRadius, axisTess, 1, true), 
+			axisZMaterial
+			);
+		arrowX.rotation.z = - Math.PI / 2;
+		arrowX.position.x = axisLength - 1 + axisRadius*4/2;
+
+		arrowY.position.y = axisLength - 1 + axisRadius*4/2;
+
+		arrowZ.rotation.z = - Math.PI / 2;
+		arrowZ.rotation.y = - Math.PI / 2;
+		arrowZ.position.z = axisLength - 1 + axisRadius*4/2;
+
+		scene.add( arrowX );
+		scene.add( arrowY );
+		scene.add( arrowZ );
+
+	}
+
+};
\ No newline at end of file
diff --git a/COGNET/lib/Detector.js b/COGNET/lib/Detector.js
new file mode 100644
index 0000000..9f59fcc
--- /dev/null
+++ b/COGNET/lib/Detector.js
@@ -0,0 +1,40 @@
+// TODO: This should be replaced with the checking code from http://get.webgl.org
+// they have better supprot messages for different browsers
+var Detector={
+	canvas:!!window.CanvasRenderingContext2D,
+	webgl:(function(){
+		try{
+			return!!window.WebGLRenderingContext&&!!document.createElement('canvas').getContext('experimental-webgl');
+		}
+		catch(e){
+			return false;
+		}
+	})(),
+	workers:!!window.Worker,
+	fileapi:window.File&&window.FileReader&&window.FileList&&window.Blob,
+	getWebGLErrorMessage:function(){
+		var element=document.createElement('div');
+		element.id='webgl-error-message';
+		element.style.fontFamily='monospace';element.style.fontSize='13px';
+		element.style.fontWeight='normal';
+		element.style.textAlign='center';
+		element.style.background='#fff';
+		element.style.color='#000';
+		element.style.padding='1.5em';
+		element.style.width='400px';
+		element.style.margin='5em auto 0';
+		if(!this.webgl){
+			element.innerHTML=window.WebGLRenderingContext?['Your graphics card does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br />','Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'].join('\n'):['Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br/>','Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'].join('\n');
+		}
+	return element;
+	},
+	addGetWebGLMessage:function(parameters){
+		var parent,id,element;
+		parameters=parameters||{};
+		parent=parameters.parent!==undefined?parameters.parent:document.body;
+		id=parameters.id!==undefined?parameters.id:'unsupported';
+		element=Detector.getWebGLErrorMessage();
+		element.id=id;
+		document.body.insertBefore(element, document.body.childNodes[0]);
+	}
+};
\ No newline at end of file
diff --git a/COGNET/lib/OrbitAndPanControls.js b/COGNET/lib/OrbitAndPanControls.js
new file mode 100644
index 0000000..5c7ed23
--- /dev/null
+++ b/COGNET/lib/OrbitAndPanControls.js
@@ -0,0 +1,532 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author qiao / https://github.com/qiao
+ * @author mrdoob / http://mrdoob.com
+ * @author alteredq / http://alteredqualia.com/
+ * @author WestLangley / http://github.com/WestLangley
+ * @author erich666 / http://erichaines.com
+ */
+/*global THREE, console */
+
+THREE.OrbitAndPanControls = function ( object, domElement ) {
+
+	THREE.EventDispatcher.call( this );
+
+	this.enabled = true;
+
+	this.object = object;
+	this.domElement = ( domElement !== undefined ) ? domElement : document;
+
+	// API
+
+	this.enabled = true;
+
+	this.target = new THREE.Vector3();
+	// center is old, deprecated; use "target" instead
+	this.center = this.target;
+
+	// This option actually enables dollying in and out
+	this.noZoom = false;
+	this.zoomSpeed = 1.0;
+
+	this.noRotate = false;
+	this.rotateSpeed = 1.0;
+
+	this.noPan = false;
+
+	this.autoRotate = false;
+	this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60
+
+	this.minPolarAngle = 0; // radians
+	this.maxPolarAngle = Math.PI; // radians
+
+	this.minDistance = 0;
+	this.maxDistance = Infinity;
+
+	this.noKeys = false;
+	this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 };
+
+	// internals
+
+	var scope = this;
+
+	var EPS = 0.000001;
+
+	var rotateStart = new THREE.Vector2();
+	var rotateEnd = new THREE.Vector2();
+	var rotateDelta = new THREE.Vector2();
+
+	var panStart = new THREE.Vector2();
+	var panEnd = new THREE.Vector2();
+	var panDelta = new THREE.Vector2();
+
+	var dollyStart = new THREE.Vector2();
+	var dollyEnd = new THREE.Vector2();
+	var dollyDelta = new THREE.Vector2();
+
+	var phiDelta = 0;
+	var thetaDelta = 0;
+	var scale = 1;
+	var pan = new THREE.Vector3();
+
+	var lastPosition = new THREE.Vector3();
+
+	var STATE = { NONE : -1, ROTATE : 0, DOLLY : 1, PAN : 2, TOUCH_ROTATE : 3, TOUCH_DOLLY : 4, TOUCH_PAN : 5 };
+	var state = STATE.NONE;
+
+	// events
+
+	var changeEvent = { type: 'change' };
+
+
+	this.rotateLeft = function ( angle ) {
+
+		if ( angle === undefined ) {
+
+			angle = getAutoRotationAngle();
+
+		}
+
+		thetaDelta -= angle;
+
+	};
+
+	this.rotateUp = function ( angle ) {
+
+		if ( angle === undefined ) {
+
+			angle = getAutoRotationAngle();
+
+		}
+
+		phiDelta -= angle;
+
+	};
+
+	// pass in distance in world space to move left
+	this.panLeft = function ( distance ) {
+
+		var panOffset = new THREE.Vector3();
+		var te = this.object.matrix.elements;
+		// get X column of matrix
+		panOffset.set( te[0], te[1], te[2] );
+		panOffset.multiplyScalar(-distance);
+		
+		pan.add( panOffset );
+
+	};
+
+	// pass in distance in world space to move up
+	this.panUp = function ( distance ) {
+
+		var panOffset = new THREE.Vector3();
+		var te = this.object.matrix.elements;
+		// get Y column of matrix
+		panOffset.set( te[4], te[5], te[6] );
+		panOffset.multiplyScalar(distance);
+		
+		pan.add( panOffset );
+	};
+	
+	// main entry point; pass in Vector2 of change desired in pixel space,
+	// right and down are positive
+	this.pan = function ( delta ) {
+
+		if ( scope.object.fov !== undefined )
+		{
+			// perspective
+			var position = scope.object.position;
+			var offset = position.clone().sub( scope.target );
+			var targetDistance = offset.length();
+
+			// half of the fov is center to top of screen
+			targetDistance *= Math.tan( (scope.object.fov/2) * Math.PI / 180.0 );
+			// we actually don't use screenWidth, since perspective camera is fixed to screen height
+			scope.panLeft( 2 * delta.x * targetDistance / scope.domElement.height );
+			scope.panUp( 2 * delta.y * targetDistance / scope.domElement.height );
+		}
+		else if ( scope.object.top !== undefined )
+		{
+			// orthographic
+			scope.panLeft( delta.x * (scope.object.right - scope.object.left) / scope.domElement.width );
+			scope.panUp( delta.y * (scope.object.top - scope.object.bottom) / scope.domElement.height );
+		}
+		else
+		{
+			// camera neither orthographic or perspective - warn user
+			console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );
+		}
+	};
+
+	this.dollyIn = function ( dollyScale ) {
+
+		if ( dollyScale === undefined ) {
+
+			dollyScale = getZoomScale();
+
+		}
+
+		scale /= dollyScale;
+
+	};
+
+	this.dollyOut = function ( dollyScale ) {
+
+		if ( dollyScale === undefined ) {
+
+			dollyScale = getZoomScale();
+
+		}
+
+		scale *= dollyScale;
+
+	};
+
+	this.update = function () {
+
+		var position = this.object.position;
+		var offset = position.clone().sub( this.target );
+
+		// angle from z-axis around y-axis
+
+		var theta = Math.atan2( offset.x, offset.z );
+
+		// angle from y-axis
+
+		var phi = Math.atan2( Math.sqrt( offset.x * offset.x + offset.z * offset.z ), offset.y );
+
+		if ( this.autoRotate ) {
+
+			this.rotateLeft( getAutoRotationAngle() );
+
+		}
+
+		theta += thetaDelta;
+		phi += phiDelta;
+
+		// restrict phi to be between desired limits
+		phi = Math.max( this.minPolarAngle, Math.min( this.maxPolarAngle, phi ) );
+
+		// restrict phi to be betwee EPS and PI-EPS
+		phi = Math.max( EPS, Math.min( Math.PI - EPS, phi ) );
+
+		var radius = offset.length() * scale;
+
+		// restrict radius to be between desired limits
+		radius = Math.max( this.minDistance, Math.min( this.maxDistance, radius ) );
+		
+		// move target to panned location
+		this.target.add( pan );
+
+		offset.x = radius * Math.sin( phi ) * Math.sin( theta );
+		offset.y = radius * Math.cos( phi );
+		offset.z = radius * Math.sin( phi ) * Math.cos( theta );
+
+		position.copy( this.target ).add( offset );
+
+		this.object.lookAt( this.target );
+
+		thetaDelta = 0;
+		phiDelta = 0;
+		scale = 1;
+		pan.set(0,0,0);
+
+		if ( lastPosition.distanceTo( this.object.position ) > 0 ) {
+
+			this.dispatchEvent( changeEvent );
+
+			lastPosition.copy( this.object.position );
+
+		}
+
+	};
+
+
+	function getAutoRotationAngle() {
+
+		return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;
+
+	}
+
+	function getZoomScale() {
+
+		return Math.pow( 0.95, scope.zoomSpeed );
+
+	}
+
+	function onMouseDown( event ) {
+
+		if ( scope.enabled === false ) { return; }
+		event.preventDefault();
+
+		if ( event.button === 0 ) {
+			if ( scope.noRotate === true ) { return; }
+
+			state = STATE.ROTATE;
+
+			rotateStart.set( event.clientX, event.clientY );
+
+		} else if ( event.button === 1 ) {
+			if ( scope.noZoom === true ) { return; }
+
+			state = STATE.DOLLY;
+
+			dollyStart.set( event.clientX, event.clientY );
+
+		} else if ( event.button === 2 ) {
+			if ( scope.noPan === true ) { return; }
+
+			state = STATE.PAN;
+
+			panStart.set( event.clientX, event.clientY );
+
+		}
+
+		document.addEventListener( 'mousemove', onMouseMove, false );
+		document.addEventListener( 'mouseup', onMouseUp, false );
+
+	}
+
+	function onMouseMove( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		event.preventDefault();
+
+		if ( state === STATE.ROTATE ) {
+			if ( scope.noRotate === true ) { return; }
+
+			rotateEnd.set( event.clientX, event.clientY );
+			rotateDelta.subVectors( rotateEnd, rotateStart );
+
+			// rotating across whole screen goes 360 degrees around
+			scope.rotateLeft( 2 * Math.PI * rotateDelta.x / scope.domElement.width * scope.rotateSpeed );
+			// rotating up and down along whole screen attempts to go 360, but limited to 180
+			scope.rotateUp( 2 * Math.PI * rotateDelta.y / scope.domElement.height * scope.rotateSpeed );
+
+			rotateStart.copy( rotateEnd );
+
+		} else if ( state === STATE.DOLLY ) {
+			if ( scope.noZoom === true ) { return; }
+
+			dollyEnd.set( event.clientX, event.clientY );
+			dollyDelta.subVectors( dollyEnd, dollyStart );
+
+			if ( dollyDelta.y > 0 ) {
+
+				scope.dollyIn();
+
+			} else {
+
+				scope.dollyOut();
+
+			}
+
+			dollyStart.copy( dollyEnd );
+
+		} else if ( state === STATE.PAN ) {
+			if ( scope.noPan === true ) { return; }
+
+			panEnd.set( event.clientX, event.clientY );
+			panDelta.subVectors( panEnd, panStart );
+			
+			scope.pan( panDelta );
+
+			panStart.copy( panEnd );
+
+		}
+
+	}
+
+	function onMouseUp( /* event */ ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		document.removeEventListener( 'mousemove', onMouseMove, false );
+		document.removeEventListener( 'mouseup', onMouseUp, false );
+
+		state = STATE.NONE;
+
+	}
+
+	function onMouseWheel( event ) {
+		// this is needed when the program is inside an iframe
+		// to prevent scrolling the whole page
+		event.preventDefault();
+		if ( scope.enabled === false ) { return; }
+		if ( scope.noZoom === true ) { return; }
+
+		var delta = 0;
+
+		if ( event.wheelDelta ) { // WebKit / Opera / Explorer 9
+
+			delta = event.wheelDelta;
+
+		} else if ( event.detail ) { // Firefox
+
+			delta = - event.detail;
+
+		}
+
+		if ( delta > 0 ) {
+
+			scope.dollyOut();
+
+		} else {
+
+			scope.dollyIn();
+
+		}
+
+	}
+
+	function onKeyDown( event ) {
+
+		if ( scope.enabled === false ) { return; }
+		if ( scope.noKeys === true ) { return; }
+		if ( scope.noPan === true ) { return; }
+
+		// pan a pixel - I guess for precise positioning?
+		switch ( event.keyCode ) {
+
+			case scope.keys.UP:
+				scope.pan( new THREE.Vector2( 0, 1 ) );
+				break;
+			case scope.keys.BOTTOM:
+				scope.pan( new THREE.Vector2( 0, -1 ) );
+				break;
+			case scope.keys.LEFT:
+				scope.pan( new THREE.Vector2( 1, 0 ) );
+				break;
+			case scope.keys.RIGHT:
+				scope.pan( new THREE.Vector2( -1, 0 ) );
+				break;
+		}
+
+	}
+	
+	function touchstart( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		switch ( event.touches.length ) {
+
+			case 1:	// one-fingered touch: rotate
+				if ( scope.noRotate === true ) { return; }
+
+				state = STATE.TOUCH_ROTATE;
+
+				rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			case 2:	// two-fingered touch: dolly
+				if ( scope.noZoom === true ) { return; }
+
+				state = STATE.TOUCH_DOLLY;
+
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				var distance = Math.sqrt( dx * dx + dy * dy );
+				dollyStart.set( 0, distance );
+				break;
+
+			case 3: // three-fingered touch: pan
+				if ( scope.noPan === true ) { return; }
+
+				state = STATE.TOUCH_PAN;
+
+				panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			default:
+				state = STATE.NONE;
+
+		}
+	}
+
+	function touchmove( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		switch ( event.touches.length ) {
+
+			case 1: // one-fingered touch: rotate
+				if ( scope.noRotate === true ) { return; }
+				if ( state !== STATE.TOUCH_ROTATE ) { return; }
+
+				rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				rotateDelta.subVectors( rotateEnd, rotateStart );
+
+				// rotating across whole screen goes 360 degrees around
+				scope.rotateLeft( 2 * Math.PI * rotateDelta.x / scope.domElement.width * scope.rotateSpeed );
+				// rotating up and down along whole screen attempts to go 360, but limited to 180
+				scope.rotateUp( 2 * Math.PI * rotateDelta.y / scope.domElement.height * scope.rotateSpeed );
+
+				rotateStart.copy( rotateEnd );
+				break;
+
+			case 2: // two-fingered touch: dolly
+				if ( scope.noZoom === true ) { return; }
+				if ( state !== STATE.TOUCH_DOLLY ) { return; }
+
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				var distance = Math.sqrt( dx * dx + dy * dy );
+
+				dollyEnd.set( 0, distance );
+				dollyDelta.subVectors( dollyEnd, dollyStart );
+
+				if ( dollyDelta.y > 0 ) {
+
+					scope.dollyOut();
+
+				} else {
+
+					scope.dollyIn();
+
+				}
+
+				dollyStart.copy( dollyEnd );
+				break;
+
+			case 3: // three-fingered touch: pan
+				if ( scope.noPan === true ) { return; }
+				if ( state !== STATE.TOUCH_PAN ) { return; }
+
+				panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				panDelta.subVectors( panEnd, panStart );
+				
+				scope.pan( panDelta );
+
+				panStart.copy( panEnd );
+				break;
+
+			default:
+				state = STATE.NONE;
+
+		}
+
+	}
+
+	function touchend( /* event */ ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		state = STATE.NONE;
+	}
+
+	this.domElement.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );
+	this.domElement.addEventListener( 'mousedown', onMouseDown, false );
+	this.domElement.addEventListener( 'mousewheel', onMouseWheel, false );
+	this.domElement.addEventListener( 'DOMMouseScroll', onMouseWheel, false ); // firefox
+
+	this.domElement.addEventListener( 'keydown', onKeyDown, false );
+
+	this.domElement.addEventListener( 'touchstart', touchstart, false );
+	this.domElement.addEventListener( 'touchend', touchend, false );
+	this.domElement.addEventListener( 'touchmove', touchmove, false );
+
+};
diff --git a/COGNET/lib/OrbitAndPanControls.new.js b/COGNET/lib/OrbitAndPanControls.new.js
new file mode 100644
index 0000000..bb8c6b2
--- /dev/null
+++ b/COGNET/lib/OrbitAndPanControls.new.js
@@ -0,0 +1,530 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author qiao / https://github.com/qiao
+ * @author mrdoob / http://mrdoob.com
+ * @author alteredq / http://alteredqualia.com/
+ * @author WestLangley / http://github.com/WestLangley
+ * @author erich666 / http://erichaines.com
+ */
+/*global THREE, console */
+
+THREE.OrbitAndPanControls = function ( object, domElement ) {
+
+	this.object = object;
+	this.domElement = ( domElement !== undefined ) ? domElement : document;
+
+	// API
+
+	this.enabled = true;
+
+	this.target = new THREE.Vector3();
+	// center is old, deprecated; use "target" instead
+	this.center = this.target;
+
+	// This option actually enables dollying in and out
+	this.noZoom = false;
+	this.zoomSpeed = 1.0;
+
+	this.noRotate = false;
+	this.rotateSpeed = 1.0;
+
+	this.noPan = false;
+
+	this.autoRotate = false;
+	this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60
+
+	this.minPolarAngle = 0; // radians
+	this.maxPolarAngle = Math.PI; // radians
+
+	this.minDistance = 0;
+	this.maxDistance = Infinity;
+
+	this.noKeys = false;
+	this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 };
+
+	// internals
+
+	var scope = this;
+
+	var EPS = 0.000001;
+
+	var rotateStart = new THREE.Vector2();
+	var rotateEnd = new THREE.Vector2();
+	var rotateDelta = new THREE.Vector2();
+
+	var panStart = new THREE.Vector2();
+	var panEnd = new THREE.Vector2();
+	var panDelta = new THREE.Vector2();
+
+	var dollyStart = new THREE.Vector2();
+	var dollyEnd = new THREE.Vector2();
+	var dollyDelta = new THREE.Vector2();
+
+	var phiDelta = 0;
+	var thetaDelta = 0;
+	var scale = 1;
+	var pan = new THREE.Vector3();
+
+	var lastPosition = new THREE.Vector3();
+
+	var STATE = { NONE : -1, ROTATE : 0, DOLLY : 1, PAN : 2, TOUCH_ROTATE : 3, TOUCH_DOLLY : 4, TOUCH_PAN : 5 };
+	var state = STATE.NONE;
+
+	// events
+
+	var changeEvent = { type: 'change' };
+
+
+	this.rotateLeft = function ( angle ) {
+
+		if ( angle === undefined ) {
+
+			angle = getAutoRotationAngle();
+
+		}
+
+		thetaDelta -= angle;
+
+	};
+
+	this.rotateUp = function ( angle ) {
+
+		if ( angle === undefined ) {
+
+			angle = getAutoRotationAngle();
+
+		}
+
+		phiDelta -= angle;
+
+	};
+
+	// pass in distance in world space to move left
+	this.panLeft = function ( distance ) {
+
+		var panOffset = new THREE.Vector3();
+		var te = this.object.matrix.elements;
+		// get X column of matrix
+		panOffset.set( te[0], te[1], te[2] );
+		panOffset.multiplyScalar(-distance);
+		
+		pan.add( panOffset );
+
+	};
+
+	// pass in distance in world space to move up
+	this.panUp = function ( distance ) {
+
+		var panOffset = new THREE.Vector3();
+		var te = this.object.matrix.elements;
+		// get Y column of matrix
+		panOffset.set( te[4], te[5], te[6] );
+		panOffset.multiplyScalar(distance);
+		
+		pan.add( panOffset );
+	};
+	
+	// main entry point; pass in Vector2 of change desired in pixel space,
+	// right and down are positive
+	this.pan = function ( delta ) {
+
+		if ( scope.object.fov !== undefined )
+		{
+			// perspective
+			var position = scope.object.position;
+			var offset = position.clone().sub( scope.target );
+			var targetDistance = offset.length();
+
+			// half of the fov is center to top of screen
+			targetDistance *= Math.tan( (scope.object.fov/2) * Math.PI / 180.0 );
+			// we actually don't use screenWidth, since perspective camera is fixed to screen height
+			scope.panLeft( 2 * delta.x * targetDistance / scope.domElement.height );
+			scope.panUp( 2 * delta.y * targetDistance / scope.domElement.height );
+		}
+		else if ( scope.object.top !== undefined )
+		{
+			// orthographic
+			scope.panLeft( delta.x * (scope.object.right - scope.object.left) / scope.domElement.width );
+			scope.panUp( delta.y * (scope.object.top - scope.object.bottom) / scope.domElement.height );
+		}
+		else
+		{
+			// camera neither orthographic or perspective - warn user
+			console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );
+		}
+	};
+
+	this.dollyIn = function ( dollyScale ) {
+
+		if ( dollyScale === undefined ) {
+
+			dollyScale = getZoomScale();
+
+		}
+
+		scale /= dollyScale;
+
+	};
+
+	this.dollyOut = function ( dollyScale ) {
+
+		if ( dollyScale === undefined ) {
+
+			dollyScale = getZoomScale();
+
+		}
+
+		scale *= dollyScale;
+
+	};
+
+	this.update = function () {
+
+		var position = this.object.position;
+		var offset = position.clone().sub( this.target );
+
+		// angle from z-axis around y-axis
+
+		var theta = Math.atan2( offset.x, offset.z );
+
+		// angle from y-axis
+
+		var phi = Math.atan2( Math.sqrt( offset.x * offset.x + offset.z * offset.z ), offset.y );
+
+		if ( this.autoRotate ) {
+
+			this.rotateLeft( getAutoRotationAngle() );
+
+		}
+
+		theta += thetaDelta;
+		phi += phiDelta;
+
+		// restrict phi to be between desired limits
+		phi = Math.max( this.minPolarAngle, Math.min( this.maxPolarAngle, phi ) );
+
+		// restrict phi to be betwee EPS and PI-EPS
+		phi = Math.max( EPS, Math.min( Math.PI - EPS, phi ) );
+
+		var radius = offset.length() * scale;
+
+		// restrict radius to be between desired limits
+		radius = Math.max( this.minDistance, Math.min( this.maxDistance, radius ) );
+		
+		// move target to panned location
+		this.target.add( pan );
+
+		offset.x = radius * Math.sin( phi ) * Math.sin( theta );
+		offset.y = radius * Math.cos( phi );
+		offset.z = radius * Math.sin( phi ) * Math.cos( theta );
+
+		position.copy( this.target ).add( offset );
+
+		this.object.lookAt( this.target );
+
+		thetaDelta = 0;
+		phiDelta = 0;
+		scale = 1;
+		pan.set(0,0,0);
+
+		if ( lastPosition.distanceTo( this.object.position ) > 0 ) {
+
+			this.dispatchEvent( changeEvent );
+
+			lastPosition.copy( this.object.position );
+
+		}
+
+	};
+
+
+	function getAutoRotationAngle() {
+
+		return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;
+
+	}
+
+	function getZoomScale() {
+
+		return Math.pow( 0.95, scope.zoomSpeed );
+
+	}
+
+	function onMouseDown( event ) {
+
+		if ( scope.enabled === false ) { return; }
+		event.preventDefault();
+
+		if ( event.button === 0 ) {
+			if ( scope.noRotate === true ) { return; }
+
+			state = STATE.ROTATE;
+
+			rotateStart.set( event.clientX, event.clientY );
+
+		} else if ( event.button === 1 ) {
+			if ( scope.noZoom === true ) { return; }
+
+			state = STATE.DOLLY;
+
+			dollyStart.set( event.clientX, event.clientY );
+
+		} else if ( event.button === 2 ) {
+			if ( scope.noPan === true ) { return; }
+
+			state = STATE.PAN;
+
+			panStart.set( event.clientX, event.clientY );
+
+		}
+
+		document.addEventListener( 'mousemove', onMouseMove, false );
+		document.addEventListener( 'mouseup', onMouseUp, false );
+
+	}
+
+	function onMouseMove( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		event.preventDefault();
+
+		if ( state === STATE.ROTATE ) {
+			if ( scope.noRotate === true ) { return; }
+
+			rotateEnd.set( event.clientX, event.clientY );
+			rotateDelta.subVectors( rotateEnd, rotateStart );
+
+			// rotating across whole screen goes 360 degrees around
+			scope.rotateLeft( 2 * Math.PI * rotateDelta.x / scope.domElement.width * scope.rotateSpeed );
+			// rotating up and down along whole screen attempts to go 360, but limited to 180
+			scope.rotateUp( 2 * Math.PI * rotateDelta.y / scope.domElement.height * scope.rotateSpeed );
+
+			rotateStart.copy( rotateEnd );
+
+		} else if ( state === STATE.DOLLY ) {
+			if ( scope.noZoom === true ) { return; }
+
+			dollyEnd.set( event.clientX, event.clientY );
+			dollyDelta.subVectors( dollyEnd, dollyStart );
+
+			if ( dollyDelta.y > 0 ) {
+
+				scope.dollyIn();
+
+			} else {
+
+				scope.dollyOut();
+
+			}
+
+			dollyStart.copy( dollyEnd );
+
+		} else if ( state === STATE.PAN ) {
+			if ( scope.noPan === true ) { return; }
+
+			panEnd.set( event.clientX, event.clientY );
+			panDelta.subVectors( panEnd, panStart );
+			
+			scope.pan( panDelta );
+
+			panStart.copy( panEnd );
+
+		}
+
+	}
+
+	function onMouseUp( /* event */ ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		document.removeEventListener( 'mousemove', onMouseMove, false );
+		document.removeEventListener( 'mouseup', onMouseUp, false );
+
+		state = STATE.NONE;
+
+	}
+
+	function onMouseWheel( event ) {
+		// this is needed when the program is inside an iframe
+		// to prevent scrolling the whole page
+		event.preventDefault();
+		if ( scope.enabled === false ) { return; }
+		if ( scope.noZoom === true ) { return; }
+
+		var delta = 0;
+
+		if ( event.wheelDelta ) { // WebKit / Opera / Explorer 9
+
+			delta = event.wheelDelta;
+
+		} else if ( event.detail ) { // Firefox
+
+			delta = - event.detail;
+
+		}
+
+		if ( delta > 0 ) {
+
+			scope.dollyOut();
+
+		} else {
+
+			scope.dollyIn();
+
+		}
+
+	}
+
+	function onKeyDown( event ) {
+
+		if ( scope.enabled === false ) { return; }
+		if ( scope.noKeys === true ) { return; }
+		if ( scope.noPan === true ) { return; }
+
+		// pan a pixel - I guess for precise positioning?
+		switch ( event.keyCode ) {
+
+			case scope.keys.UP:
+				scope.pan( new THREE.Vector2( 0, 1 ) );
+				break;
+			case scope.keys.BOTTOM:
+				scope.pan( new THREE.Vector2( 0, -1 ) );
+				break;
+			case scope.keys.LEFT:
+				scope.pan( new THREE.Vector2( 1, 0 ) );
+				break;
+			case scope.keys.RIGHT:
+				scope.pan( new THREE.Vector2( -1, 0 ) );
+				break;
+		}
+
+	}
+	
+	function touchstart( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		switch ( event.touches.length ) {
+
+			case 1:	// one-fingered touch: rotate
+				if ( scope.noRotate === true ) { return; }
+
+				state = STATE.TOUCH_ROTATE;
+
+				rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			case 2:	// two-fingered touch: dolly
+				if ( scope.noZoom === true ) { return; }
+
+				state = STATE.TOUCH_DOLLY;
+
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				var distance = Math.sqrt( dx * dx + dy * dy );
+				dollyStart.set( 0, distance );
+				break;
+
+			case 3: // three-fingered touch: pan
+				if ( scope.noPan === true ) { return; }
+
+				state = STATE.TOUCH_PAN;
+
+				panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			default:
+				state = STATE.NONE;
+
+		}
+	}
+
+	function touchmove( event ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		switch ( event.touches.length ) {
+
+			case 1: // one-fingered touch: rotate
+				if ( scope.noRotate === true ) { return; }
+				if ( state !== STATE.TOUCH_ROTATE ) { return; }
+
+				rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				rotateDelta.subVectors( rotateEnd, rotateStart );
+
+				// rotating across whole screen goes 360 degrees around
+				scope.rotateLeft( 2 * Math.PI * rotateDelta.x / scope.domElement.width * scope.rotateSpeed );
+				// rotating up and down along whole screen attempts to go 360, but limited to 180
+				scope.rotateUp( 2 * Math.PI * rotateDelta.y / scope.domElement.height * scope.rotateSpeed );
+
+				rotateStart.copy( rotateEnd );
+				break;
+
+			case 2: // two-fingered touch: dolly
+				if ( scope.noZoom === true ) { return; }
+				if ( state !== STATE.TOUCH_DOLLY ) { return; }
+
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				var distance = Math.sqrt( dx * dx + dy * dy );
+
+				dollyEnd.set( 0, distance );
+				dollyDelta.subVectors( dollyEnd, dollyStart );
+
+				if ( dollyDelta.y > 0 ) {
+
+					scope.dollyOut();
+
+				} else {
+
+					scope.dollyIn();
+
+				}
+
+				dollyStart.copy( dollyEnd );
+				break;
+
+			case 3: // three-fingered touch: pan
+				if ( scope.noPan === true ) { return; }
+				if ( state !== STATE.TOUCH_PAN ) { return; }
+
+				panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				panDelta.subVectors( panEnd, panStart );
+				
+				scope.pan( panDelta );
+
+				panStart.copy( panEnd );
+				break;
+
+			default:
+				state = STATE.NONE;
+
+		}
+
+	}
+
+	function touchend( /* event */ ) {
+
+		if ( scope.enabled === false ) { return; }
+
+		state = STATE.NONE;
+	}
+
+	this.domElement.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );
+	this.domElement.addEventListener( 'mousedown', onMouseDown, false );
+	this.domElement.addEventListener( 'mousewheel', onMouseWheel, false );
+	this.domElement.addEventListener( 'DOMMouseScroll', onMouseWheel, false ); // firefox
+
+	this.domElement.addEventListener( 'keydown', onKeyDown, false );
+
+	this.domElement.addEventListener( 'touchstart', touchstart, false );
+	this.domElement.addEventListener( 'touchend', touchend, false );
+	this.domElement.addEventListener( 'touchmove', touchmove, false );
+
+};
+
+THREE.OrbitAndPanControls.prototype = Object.create( THREE.EventDispatcher.prototype );
diff --git a/COGNET/lib/TrackballControls.js b/COGNET/lib/TrackballControls.js
new file mode 100644
index 0000000..0935ce0
--- /dev/null
+++ b/COGNET/lib/TrackballControls.js
@@ -0,0 +1,537 @@
+/**
+ * @author Eberhard Graether / http://egraether.com/
+ */
+
+THREE.TrackballControls = function ( object, domElement ) {
+
+	THREE.EventDispatcher.call( this );
+
+	var _this = this;
+	var STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM: 4, TOUCH_PAN: 5 };
+
+	this.object = object;
+	this.domElement = ( domElement !== undefined ) ? domElement : document;
+
+	// API
+
+	this.enabled = true;
+
+	this.screen = { width: 0, height: 0, offsetLeft: 0, offsetTop: 0 };
+	this.radius = ( this.screen.width + this.screen.height ) / 4;
+
+	this.rotateSpeed = 1.0;
+	this.zoomSpeed = 1.2;
+	this.panSpeed = 0.3;
+
+	this.noRotate = false;
+	this.noZoom = false;
+	this.noPan = false;
+
+	this.staticMoving = false;
+	this.dynamicDampingFactor = 0.2;
+
+	this.minDistance = 0;
+	this.maxDistance = Infinity;
+
+	this.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ];
+
+	// internals
+
+	this.target = new THREE.Vector3();
+
+	var lastPosition = new THREE.Vector3();
+
+	var _state = STATE.NONE,
+	_prevState = STATE.NONE,
+
+	_eye = new THREE.Vector3(),
+
+	_rotateStart = new THREE.Vector3(),
+	_rotateEnd = new THREE.Vector3(),
+
+	_zoomStart = new THREE.Vector2(),
+	_zoomEnd = new THREE.Vector2(),
+
+	_touchZoomDistanceStart = 0,
+	_touchZoomDistanceEnd = 0,
+
+	_panStart = new THREE.Vector2(),
+	_panEnd = new THREE.Vector2();
+
+	// for reset
+
+	this.target0 = this.target.clone();
+	this.position0 = this.object.position.clone();
+	this.up0 = this.object.up.clone();
+
+	// events
+
+	var changeEvent = { type: 'change' };
+
+
+	// methods
+
+	this.handleResize = function () {
+
+		this.screen.width = window.innerWidth;
+		this.screen.height = window.innerHeight;
+
+		this.screen.offsetLeft = 0;
+		this.screen.offsetTop = 0;
+
+		this.radius = ( this.screen.width + this.screen.height ) / 4;
+
+	};
+
+	this.handleEvent = function ( event ) {
+
+		if ( typeof this[ event.type ] == 'function' ) {
+
+			this[ event.type ]( event );
+
+		}
+
+	};
+
+	this.getMouseOnScreen = function ( clientX, clientY ) {
+
+		return new THREE.Vector2(
+			( clientX - _this.screen.offsetLeft ) / _this.radius * 0.5,
+			( clientY - _this.screen.offsetTop ) / _this.radius * 0.5
+		);
+
+	};
+
+	this.getMouseProjectionOnBall = function ( clientX, clientY ) {
+
+		var mouseOnBall = new THREE.Vector3(
+			( clientX - _this.screen.width * 0.5 - _this.screen.offsetLeft ) / _this.radius,
+			( _this.screen.height * 0.5 + _this.screen.offsetTop - clientY ) / _this.radius,
+			0.0
+		);
+
+		var length = mouseOnBall.length();
+
+		if ( length > 1.0 ) {
+
+			mouseOnBall.normalize();
+
+		} else {
+
+			mouseOnBall.z = Math.sqrt( 1.0 - length * length );
+
+		}
+
+		_eye.copy( _this.object.position ).sub( _this.target );
+
+		var projection = _this.object.up.clone().setLength( mouseOnBall.y );
+		projection.add( _this.object.up.clone().cross( _eye ).setLength( mouseOnBall.x ) );
+		projection.add( _eye.setLength( mouseOnBall.z ) );
+
+		return projection;
+
+	};
+
+	this.rotateCamera = function () {
+
+		var angle = Math.acos( _rotateStart.dot( _rotateEnd ) / _rotateStart.length() / _rotateEnd.length() );
+
+		if ( angle ) {
+
+			var axis = ( new THREE.Vector3() ).crossVectors( _rotateStart, _rotateEnd ).normalize(),
+				quaternion = new THREE.Quaternion();
+
+			angle *= _this.rotateSpeed;
+
+			quaternion.setFromAxisAngle( axis, -angle );
+
+			_eye.applyQuaternion( quaternion );
+			_this.object.up.applyQuaternion( quaternion );
+
+			_rotateEnd.applyQuaternion( quaternion );
+
+			if ( _this.staticMoving ) {
+
+				_rotateStart.copy( _rotateEnd );
+
+			} else {
+
+				quaternion.setFromAxisAngle( axis, angle * ( _this.dynamicDampingFactor - 1.0 ) );
+				_rotateStart.applyQuaternion( quaternion );
+
+			}
+
+		}
+
+	};
+
+	this.zoomCamera = function () {
+
+		if ( _state === STATE.TOUCH_ZOOM ) {
+
+			var factor = _touchZoomDistanceStart / _touchZoomDistanceEnd;
+			_touchZoomDistanceStart = _touchZoomDistanceEnd;
+			_eye.multiplyScalar( factor );
+
+		} else {
+
+			var factor = 1.0 + ( _zoomEnd.y - _zoomStart.y ) * _this.zoomSpeed;
+
+			if ( factor !== 1.0 && factor > 0.0 ) {
+
+				_eye.multiplyScalar( factor );
+
+				if ( _this.staticMoving ) {
+
+					_zoomStart.copy( _zoomEnd );
+
+				} else {
+
+					_zoomStart.y += ( _zoomEnd.y - _zoomStart.y ) * this.dynamicDampingFactor;
+
+				}
+
+			}
+
+		}
+
+	};
+
+	this.panCamera = function () {
+
+		var mouseChange = _panEnd.clone().sub( _panStart );
+
+		if ( mouseChange.lengthSq() ) {
+
+			mouseChange.multiplyScalar( _eye.length() * _this.panSpeed );
+
+			var pan = _eye.clone().cross( _this.object.up ).setLength( mouseChange.x );
+			pan.add( _this.object.up.clone().setLength( mouseChange.y ) );
+
+			_this.object.position.add( pan );
+			_this.target.add( pan );
+
+			if ( _this.staticMoving ) {
+
+				_panStart = _panEnd;
+
+			} else {
+
+				_panStart.add( mouseChange.subVectors( _panEnd, _panStart ).multiplyScalar( _this.dynamicDampingFactor ) );
+
+			}
+
+		}
+
+	};
+
+	this.checkDistances = function () {
+
+		if ( !_this.noZoom || !_this.noPan ) {
+
+			if ( _this.object.position.lengthSq() > _this.maxDistance * _this.maxDistance ) {
+
+				_this.object.position.setLength( _this.maxDistance );
+
+			}
+
+			if ( _eye.lengthSq() < _this.minDistance * _this.minDistance ) {
+
+				_this.object.position.addVectors( _this.target, _eye.setLength( _this.minDistance ) );
+
+			}
+
+		}
+
+	};
+
+	this.update = function () {
+
+		_eye.subVectors( _this.object.position, _this.target );
+
+		if ( !_this.noRotate ) {
+
+			_this.rotateCamera();
+
+		}
+
+		if ( !_this.noZoom ) {
+
+			_this.zoomCamera();
+
+		}
+
+		if ( !_this.noPan ) {
+
+			_this.panCamera();
+
+		}
+
+		_this.object.position.addVectors( _this.target, _eye );
+
+		_this.checkDistances();
+
+		_this.object.lookAt( _this.target );
+
+		if ( lastPosition.distanceToSquared( _this.object.position ) > 0 ) {
+
+			_this.dispatchEvent( changeEvent );
+
+			lastPosition.copy( _this.object.position );
+
+		}
+
+	};
+
+	this.reset = function () {
+
+		_state = STATE.NONE;
+		_prevState = STATE.NONE;
+
+		_this.target.copy( _this.target0 );
+		_this.object.position.copy( _this.position0 );
+		_this.object.up.copy( _this.up0 );
+
+		_eye.subVectors( _this.object.position, _this.target );
+
+		_this.object.lookAt( _this.target );
+
+		_this.dispatchEvent( changeEvent );
+
+		lastPosition.copy( _this.object.position );
+
+	};
+
+	// listeners
+
+	function keydown( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		window.removeEventListener( 'keydown', keydown );
+
+		_prevState = _state;
+
+		if ( _state !== STATE.NONE ) {
+
+			return;
+
+		} else if ( event.keyCode === _this.keys[ STATE.ROTATE ] && !_this.noRotate ) {
+
+			_state = STATE.ROTATE;
+
+		} else if ( event.keyCode === _this.keys[ STATE.ZOOM ] && !_this.noZoom ) {
+
+			_state = STATE.ZOOM;
+
+		} else if ( event.keyCode === _this.keys[ STATE.PAN ] && !_this.noPan ) {
+
+			_state = STATE.PAN;
+
+		}
+
+	}
+
+	function keyup( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		_state = _prevState;
+
+		window.addEventListener( 'keydown', keydown, false );
+
+	}
+
+	function mousedown( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		if ( _state === STATE.NONE ) {
+
+			_state = event.button;
+
+		}
+
+		if ( _state === STATE.ROTATE && !_this.noRotate ) {
+
+			_rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.clientX, event.clientY );
+
+		} else if ( _state === STATE.ZOOM && !_this.noZoom ) {
+
+			_zoomStart = _zoomEnd = _this.getMouseOnScreen( event.clientX, event.clientY );
+
+		} else if ( _state === STATE.PAN && !_this.noPan ) {
+
+			_panStart = _panEnd = _this.getMouseOnScreen( event.clientX, event.clientY );
+
+		}
+
+		document.addEventListener( 'mousemove', mousemove, false );
+		document.addEventListener( 'mouseup', mouseup, false );
+
+	}
+
+	function mousemove( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		if ( _state === STATE.ROTATE && !_this.noRotate ) {
+
+			_rotateEnd = _this.getMouseProjectionOnBall( event.clientX, event.clientY );
+
+		} else if ( _state === STATE.ZOOM && !_this.noZoom ) {
+
+			_zoomEnd = _this.getMouseOnScreen( event.clientX, event.clientY );
+
+		} else if ( _state === STATE.PAN && !_this.noPan ) {
+
+			_panEnd = _this.getMouseOnScreen( event.clientX, event.clientY );
+
+		}
+
+	}
+
+	function mouseup( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		_state = STATE.NONE;
+
+		document.removeEventListener( 'mousemove', mousemove );
+		document.removeEventListener( 'mouseup', mouseup );
+
+	}
+
+	function mousewheel( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		var delta = 0;
+
+		if ( event.wheelDelta ) { // WebKit / Opera / Explorer 9
+
+			delta = event.wheelDelta / 40;
+
+		} else if ( event.detail ) { // Firefox
+
+			delta = - event.detail / 3;
+
+		}
+
+		_zoomStart.y += ( 1 / delta ) * 0.05;
+
+	}
+
+	function touchstart( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		switch ( event.touches.length ) {
+
+			case 1:
+				_state = STATE.TOUCH_ROTATE;
+				_rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			case 2:
+				_state = STATE.TOUCH_ZOOM;
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				_touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt( dx * dx + dy * dy );
+				break;
+
+			case 3:
+				_state = STATE.TOUCH_PAN;
+				_panStart = _panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			default:
+				_state = STATE.NONE;
+
+		}
+
+	}
+
+	function touchmove( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		event.preventDefault();
+		event.stopPropagation();
+
+		switch ( event.touches.length ) {
+
+			case 1:
+				_rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			case 2:
+				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
+				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
+				_touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy )
+				break;
+
+			case 3:
+				_panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			default:
+				_state = STATE.NONE;
+
+		}
+
+	}
+
+	function touchend( event ) {
+
+		if ( _this.enabled === false ) return;
+
+		switch ( event.touches.length ) {
+
+			case 1:
+				_rotateStart = _rotateEnd = _this.getMouseProjectionOnBall( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+			case 2:
+				_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;
+				break;
+
+			case 3:
+				_panStart = _panEnd = _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY );
+				break;
+
+		}
+
+		_state = STATE.NONE;
+
+	}
+
+	this.domElement.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );
+
+	this.domElement.addEventListener( 'mousedown', mousedown, false );
+
+	this.domElement.addEventListener( 'mousewheel', mousewheel, false );
+	this.domElement.addEventListener( 'DOMMouseScroll', mousewheel, false ); // firefox
+
+	this.domElement.addEventListener( 'touchstart', touchstart, false );
+	this.domElement.addEventListener( 'touchend', touchend, false );
+	this.domElement.addEventListener( 'touchmove', touchmove, false );
+
+	window.addEventListener( 'keydown', keydown, false );
+	window.addEventListener( 'keyup', keyup, false );
+
+	this.handleResize();
+
+};
diff --git a/COGNET/lib/dat.gui.min.js b/COGNET/lib/dat.gui.min.js
new file mode 100644
index 0000000..4d7aac9
--- /dev/null
+++ b/COGNET/lib/dat.gui.min.js
@@ -0,0 +1,94 @@
+/**
+ * dat-gui JavaScript Controller Library
+ * http://code.google.com/p/dat-gui
+ *
+ * Copyright 2011 Data Arts Team, Google Creative Lab
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+export var dat=dat||{};dat.gui=dat.gui||{};dat.utils=dat.utils||{};dat.controllers=dat.controllers||{};dat.dom=dat.dom||{};dat.color=dat.color||{};dat.utils.css=function(){return{load:function(e,a){var a=a||document,c=a.createElement("link");c.type="text/css";c.rel="stylesheet";c.href=e;a.getElementsByTagName("head")[0].appendChild(c)},inject:function(e,a){var a=a||document,c=document.createElement("style");c.type="text/css";c.innerHTML=e;a.getElementsByTagName("head")[0].appendChild(c)}}}();
+dat.utils.common=function(){var e=Array.prototype.forEach,a=Array.prototype.slice;return{BREAK:{},extend:function(c){this.each(a.call(arguments,1),function(a){for(var f in a)this.isUndefined(a[f])||(c[f]=a[f])},this);return c},defaults:function(c){this.each(a.call(arguments,1),function(a){for(var f in a)this.isUndefined(c[f])&&(c[f]=a[f])},this);return c},compose:function(){var c=a.call(arguments);return function(){for(var d=a.call(arguments),f=c.length-1;f>=0;f--)d=[c[f].apply(this,d)];return d[0]}},
+    each:function(a,d,f){if(e&&a.forEach===e)a.forEach(d,f);else if(a.length===a.length+0)for(var b=0,n=a.length;b<n;b++){if(b in a&&d.call(f,a[b],b)===this.BREAK)break}else for(b in a)if(d.call(f,a[b],b)===this.BREAK)break},defer:function(a){setTimeout(a,0)},toArray:function(c){return c.toArray?c.toArray():a.call(c)},isUndefined:function(a){return a===void 0},isNull:function(a){return a===null},isNaN:function(a){return a!==a},isArray:Array.isArray||function(a){return a.constructor===Array},isObject:function(a){return a===
+        Object(a)},isNumber:function(a){return a===a+0},isString:function(a){return a===a+""},isBoolean:function(a){return a===false||a===true},isFunction:function(a){return Object.prototype.toString.call(a)==="[object Function]"}}}();
+dat.controllers.Controller=function(e){var a=function(a,d){this.initialValue=a[d];this.domElement=document.createElement("div");this.object=a;this.property=d;this.__onFinishChange=this.__onChange=void 0};e.extend(a.prototype,{onChange:function(a){this.__onChange=a;return this},onFinishChange:function(a){this.__onFinishChange=a;return this},setValue:function(a){this.object[this.property]=a;this.__onChange&&this.__onChange.call(this,a);this.updateDisplay();return this},getValue:function(){return this.object[this.property]},
+    updateDisplay:function(){return this},isModified:function(){return this.initialValue!==this.getValue()}});return a}(dat.utils.common);
+dat.dom.dom=function(e){function a(b){if(b==="0"||e.isUndefined(b))return 0;b=b.match(d);return!e.isNull(b)?parseFloat(b[1]):0}var c={};e.each({HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},function(b,a){e.each(b,function(b){c[b]=a})});var d=/(\d+(\.\d+)?)px/,f={makeSelectable:function(b,a){if(!(b===void 0||b.style===void 0))b.onselectstart=a?function(){return false}:function(){},b.style.MozUserSelect=a?"auto":"none",b.style.KhtmlUserSelect=
+        a?"auto":"none",b.unselectable=a?"on":"off"},makeFullscreen:function(b,a,d){e.isUndefined(a)&&(a=true);e.isUndefined(d)&&(d=true);b.style.position="absolute";if(a)b.style.left=0,b.style.right=0;if(d)b.style.top=0,b.style.bottom=0},fakeEvent:function(b,a,d,f){var d=d||{},m=c[a];if(!m)throw Error("Event type "+a+" not supported.");var l=document.createEvent(m);switch(m){case "MouseEvents":l.initMouseEvent(a,d.bubbles||false,d.cancelable||true,window,d.clickCount||1,0,0,d.x||d.clientX||0,d.y||d.clientY||
+        0,false,false,false,false,0,null);break;case "KeyboardEvents":m=l.initKeyboardEvent||l.initKeyEvent;e.defaults(d,{cancelable:true,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,keyCode:void 0,charCode:void 0});m(a,d.bubbles||false,d.cancelable,window,d.ctrlKey,d.altKey,d.shiftKey,d.metaKey,d.keyCode,d.charCode);break;default:l.initEvent(a,d.bubbles||false,d.cancelable||true)}e.defaults(l,f);b.dispatchEvent(l)},bind:function(b,a,d,c){b.addEventListener?b.addEventListener(a,d,c||false):b.attachEvent&&
+        b.attachEvent("on"+a,d);return f},unbind:function(b,a,d,c){b.removeEventListener?b.removeEventListener(a,d,c||false):b.detachEvent&&b.detachEvent("on"+a,d);return f},addClass:function(b,a){if(b.className===void 0)b.className=a;else if(b.className!==a){var d=b.className.split(/ +/);if(d.indexOf(a)==-1)d.push(a),b.className=d.join(" ").replace(/^\s+/,"").replace(/\s+$/,"")}return f},removeClass:function(b,a){if(a){if(b.className!==void 0)if(b.className===a)b.removeAttribute("class");else{var d=b.className.split(/ +/),
+        c=d.indexOf(a);if(c!=-1)d.splice(c,1),b.className=d.join(" ")}}else b.className=void 0;return f},hasClass:function(a,d){return RegExp("(?:^|\\s+)"+d+"(?:\\s+|$)").test(a.className)||false},getWidth:function(b){b=getComputedStyle(b);return a(b["border-left-width"])+a(b["border-right-width"])+a(b["padding-left"])+a(b["padding-right"])+a(b.width)},getHeight:function(b){b=getComputedStyle(b);return a(b["border-top-width"])+a(b["border-bottom-width"])+a(b["padding-top"])+a(b["padding-bottom"])+a(b.height)},
+    getOffset:function(a){var d={left:0,top:0};if(a.offsetParent){do d.left+=a.offsetLeft,d.top+=a.offsetTop;while(a=a.offsetParent)}return d},isActive:function(a){return a===document.activeElement&&(a.type||a.href)}};return f}(dat.utils.common);
+dat.controllers.OptionController=function(e,a,c){var d=function(f,b,e){d.superclass.call(this,f,b);var h=this;this.__select=document.createElement("select");if(c.isArray(e)){var j={};c.each(e,function(a){j[a]=a});e=j}c.each(e,function(a,b){var d=document.createElement("option");d.innerHTML=b;d.setAttribute("value",a);h.__select.appendChild(d)});this.updateDisplay();a.bind(this.__select,"change",function(){h.setValue(this.options[this.selectedIndex].value)});this.domElement.appendChild(this.__select)};
+    d.superclass=e;c.extend(d.prototype,e.prototype,{setValue:function(a){a=d.superclass.prototype.setValue.call(this,a);this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue());return a},updateDisplay:function(){this.__select.value=this.getValue();return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common);
+dat.controllers.NumberController=function(e,a){var c=function(d,f,b){c.superclass.call(this,d,f);b=b||{};this.__min=b.min;this.__max=b.max;this.__step=b.step;d=this.__impliedStep=a.isUndefined(this.__step)?this.initialValue==0?1:Math.pow(10,Math.floor(Math.log(this.initialValue)/Math.LN10))/10:this.__step;d=d.toString();this.__precision=d.indexOf(".")>-1?d.length-d.indexOf(".")-1:0};c.superclass=e;a.extend(c.prototype,e.prototype,{setValue:function(a){if(this.__min!==void 0&&a<this.__min)a=this.__min;
+    else if(this.__max!==void 0&&a>this.__max)a=this.__max;this.__step!==void 0&&a%this.__step!=0&&(a=Math.round(a/this.__step)*this.__step);return c.superclass.prototype.setValue.call(this,a)},min:function(a){this.__min=a;return this},max:function(a){this.__max=a;return this},step:function(a){this.__step=a;return this}});return c}(dat.controllers.Controller,dat.utils.common);
+dat.controllers.NumberControllerBox=function(e,a,c){var d=function(f,b,e){function h(){var a=parseFloat(l.__input.value);c.isNaN(a)||l.setValue(a)}function j(a){var b=o-a.clientY;l.setValue(l.getValue()+b*l.__impliedStep);o=a.clientY}function m(){a.unbind(window,"mousemove",j);a.unbind(window,"mouseup",m)}this.__truncationSuspended=false;d.superclass.call(this,f,b,e);var l=this,o;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"change",h);
+    a.bind(this.__input,"blur",function(){h();l.__onFinishChange&&l.__onFinishChange.call(l,l.getValue())});a.bind(this.__input,"mousedown",function(b){a.bind(window,"mousemove",j);a.bind(window,"mouseup",m);o=b.clientY});a.bind(this.__input,"keydown",function(a){if(a.keyCode===13)l.__truncationSuspended=true,this.blur(),l.__truncationSuspended=false});this.updateDisplay();this.domElement.appendChild(this.__input)};d.superclass=e;c.extend(d.prototype,e.prototype,{updateDisplay:function(){var a=this.__input,
+        b;if(this.__truncationSuspended)b=this.getValue();else{b=this.getValue();var c=Math.pow(10,this.__precision);b=Math.round(b*c)/c}a.value=b;return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.NumberController,dat.dom.dom,dat.utils.common);
+dat.controllers.NumberControllerSlider=function(e,a,c,d,f){var b=function(d,c,f,e,l){function o(b){b.preventDefault();var d=a.getOffset(g.__background),c=a.getWidth(g.__background);g.setValue(g.__min+(g.__max-g.__min)*((b.clientX-d.left)/(d.left+c-d.left)));return false}function y(){a.unbind(window,"mousemove",o);a.unbind(window,"mouseup",y);g.__onFinishChange&&g.__onFinishChange.call(g,g.getValue())}b.superclass.call(this,d,c,{min:f,max:e,step:l});var g=this;this.__background=document.createElement("div");
+    this.__foreground=document.createElement("div");a.bind(this.__background,"mousedown",function(b){a.bind(window,"mousemove",o);a.bind(window,"mouseup",y);o(b)});a.addClass(this.__background,"slider");a.addClass(this.__foreground,"slider-fg");this.updateDisplay();this.__background.appendChild(this.__foreground);this.domElement.appendChild(this.__background)};b.superclass=e;b.useDefaultStyles=function(){c.inject(f)};d.extend(b.prototype,e.prototype,{updateDisplay:function(){this.__foreground.style.width=
+        (this.getValue()-this.__min)/(this.__max-this.__min)*100+"%";return b.superclass.prototype.updateDisplay.call(this)}});return b}(dat.controllers.NumberController,dat.dom.dom,dat.utils.css,dat.utils.common,".slider {\n  box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);\n  height: 1em;\n  border-radius: 1em;\n  background-color: #eee;\n  padding: 0 0.5em;\n  overflow: hidden;\n}\n\n.slider-fg {\n  padding: 1px 0 2px 0;\n  background-color: #aaa;\n  height: 1em;\n  margin-left: -0.5em;\n  padding-right: 0.5em;\n  border-radius: 1em 0 0 1em;\n}\n\n.slider-fg:after {\n  display: inline-block;\n  border-radius: 1em;\n  background-color: #fff;\n  border:  1px solid #aaa;\n  content: '';\n  float: right;\n  margin-right: -1em;\n  margin-top: -1px;\n  height: 0.9em;\n  width: 0.9em;\n}");
+dat.controllers.FunctionController=function(e,a,c){var d=function(c,b,e){d.superclass.call(this,c,b);var h=this;this.__button=document.createElement("div");this.__button.innerHTML=e===void 0?"Fire":e;a.bind(this.__button,"click",function(a){a.preventDefault();h.fire();return false});a.addClass(this.__button,"button");this.domElement.appendChild(this.__button)};d.superclass=e;c.extend(d.prototype,e.prototype,{fire:function(){this.__onChange&&this.__onChange.call(this);this.__onFinishChange&&this.__onFinishChange.call(this,
+        this.getValue());this.getValue().call(this.object)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common);
+dat.controllers.BooleanController=function(e,a,c){var d=function(c,b){d.superclass.call(this,c,b);var e=this;this.__prev=this.getValue();this.__checkbox=document.createElement("input");this.__checkbox.setAttribute("type","checkbox");a.bind(this.__checkbox,"change",function(){e.setValue(!e.__prev)},false);this.domElement.appendChild(this.__checkbox);this.updateDisplay()};d.superclass=e;c.extend(d.prototype,e.prototype,{setValue:function(a){a=d.superclass.prototype.setValue.call(this,a);this.__onFinishChange&&
+    this.__onFinishChange.call(this,this.getValue());this.__prev=this.getValue();return a},updateDisplay:function(){this.getValue()===true?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=true):this.__checkbox.checked=false;return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common);
+dat.color.toString=function(e){return function(a){if(a.a==1||e.isUndefined(a.a)){for(a=a.hex.toString(16);a.length<6;)a="0"+a;return"#"+a}else return"rgba("+Math.round(a.r)+","+Math.round(a.g)+","+Math.round(a.b)+","+a.a+")"}}(dat.utils.common);
+dat.color.interpret=function(e,a){var c,d,f=[{litmus:a.isString,conversions:{THREE_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return a===null?false:{space:"HEX",hex:parseInt("0x"+a[1].toString()+a[1].toString()+a[2].toString()+a[2].toString()+a[3].toString()+a[3].toString())}},write:e},SIX_CHAR_HEX:{read:function(a){a=a.match(/^#([A-F0-9]{6})$/i);return a===null?false:{space:"HEX",hex:parseInt("0x"+a[1].toString())}},write:e},CSS_RGB:{read:function(a){a=a.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);
+                return a===null?false:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3])}},write:e},CSS_RGBA:{read:function(a){a=a.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\,\s*(.+)\s*\)/);return a===null?false:{space:"RGB",r:parseFloat(a[1]),g:parseFloat(a[2]),b:parseFloat(a[3]),a:parseFloat(a[4])}},write:e}}},{litmus:a.isNumber,conversions:{HEX:{read:function(a){return{space:"HEX",hex:a,conversionName:"HEX"}},write:function(a){return a.hex}}}},{litmus:a.isArray,conversions:{RGB_ARRAY:{read:function(a){return a.length!=
+            3?false:{space:"RGB",r:a[0],g:a[1],b:a[2]}},write:function(a){return[a.r,a.g,a.b]}},RGBA_ARRAY:{read:function(a){return a.length!=4?false:{space:"RGB",r:a[0],g:a[1],b:a[2],a:a[3]}},write:function(a){return[a.r,a.g,a.b,a.a]}}}},{litmus:a.isObject,conversions:{RGBA_OBJ:{read:function(b){return a.isNumber(b.r)&&a.isNumber(b.g)&&a.isNumber(b.b)&&a.isNumber(b.a)?{space:"RGB",r:b.r,g:b.g,b:b.b,a:b.a}:false},write:function(a){return{r:a.r,g:a.g,b:a.b,a:a.a}}},RGB_OBJ:{read:function(b){return a.isNumber(b.r)&&
+            a.isNumber(b.g)&&a.isNumber(b.b)?{space:"RGB",r:b.r,g:b.g,b:b.b}:false},write:function(a){return{r:a.r,g:a.g,b:a.b}}},HSVA_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)&&a.isNumber(b.a)?{space:"HSV",h:b.h,s:b.s,v:b.v,a:b.a}:false},write:function(a){return{h:a.h,s:a.s,v:a.v,a:a.a}}},HSV_OBJ:{read:function(b){return a.isNumber(b.h)&&a.isNumber(b.s)&&a.isNumber(b.v)?{space:"HSV",h:b.h,s:b.s,v:b.v}:false},write:function(a){return{h:a.h,s:a.s,v:a.v}}}}}];return function(){d=
+    false;var b=arguments.length>1?a.toArray(arguments):arguments[0];a.each(f,function(e){if(e.litmus(b))return a.each(e.conversions,function(e,f){c=e.read(b);if(d===false&&c!==false)return d=c,c.conversionName=f,c.conversion=e,a.BREAK}),a.BREAK});return d}}(dat.color.toString,dat.utils.common);
+dat.GUI=dat.gui.GUI=function(e,a,c,d,f,b,n,h,j,m,l,o,y,g,i){function q(a,b,r,c){if(b[r]===void 0)throw Error("Object "+b+' has no property "'+r+'"');c.color?b=new l(b,r):(b=[b,r].concat(c.factoryArgs),b=d.apply(a,b));if(c.before instanceof f)c.before=c.before.__li;t(a,b);g.addClass(b.domElement,"c");r=document.createElement("span");g.addClass(r,"property-name");r.innerHTML=b.property;var e=document.createElement("div");e.appendChild(r);e.appendChild(b.domElement);c=s(a,e,c.before);g.addClass(c,k.CLASS_CONTROLLER_ROW);
+    g.addClass(c,typeof b.getValue());p(a,c,b);a.__controllers.push(b);return b}function s(a,b,d){var c=document.createElement("li");b&&c.appendChild(b);d?a.__ul.insertBefore(c,params.before):a.__ul.appendChild(c);a.onResize();return c}function p(a,d,c){c.__li=d;c.__gui=a;i.extend(c,{options:function(b){if(arguments.length>1)return c.remove(),q(a,c.object,c.property,{before:c.__li.nextElementSibling,factoryArgs:[i.toArray(arguments)]});if(i.isArray(b)||i.isObject(b))return c.remove(),q(a,c.object,c.property,
+        {before:c.__li.nextElementSibling,factoryArgs:[b]})},name:function(a){c.__li.firstElementChild.firstElementChild.innerHTML=a;return c},listen:function(){c.__gui.listen(c);return c},remove:function(){c.__gui.remove(c);return c}});if(c instanceof j){var e=new h(c.object,c.property,{min:c.__min,max:c.__max,step:c.__step});i.each(["updateDisplay","onChange","onFinishChange"],function(a){var b=c[a],H=e[a];c[a]=e[a]=function(){var a=Array.prototype.slice.call(arguments);b.apply(c,a);return H.apply(e,a)}});
+    g.addClass(d,"has-slider");c.domElement.insertBefore(e.domElement,c.domElement.firstElementChild)}else if(c instanceof h){var f=function(b){return i.isNumber(c.__min)&&i.isNumber(c.__max)?(c.remove(),q(a,c.object,c.property,{before:c.__li.nextElementSibling,factoryArgs:[c.__min,c.__max,c.__step]})):b};c.min=i.compose(f,c.min);c.max=i.compose(f,c.max)}else if(c instanceof b)g.bind(d,"click",function(){g.fakeEvent(c.__checkbox,"click")}),g.bind(c.__checkbox,"click",function(a){a.stopPropagation()});
+else if(c instanceof n)g.bind(d,"click",function(){g.fakeEvent(c.__button,"click")}),g.bind(d,"mouseover",function(){g.addClass(c.__button,"hover")}),g.bind(d,"mouseout",function(){g.removeClass(c.__button,"hover")});else if(c instanceof l)g.addClass(d,"color"),c.updateDisplay=i.compose(function(a){d.style.borderLeftColor=c.__color.toString();return a},c.updateDisplay),c.updateDisplay();c.setValue=i.compose(function(b){a.getRoot().__preset_select&&c.isModified()&&B(a.getRoot(),true);return b},c.setValue)}
+    function t(a,b){var c=a.getRoot(),d=c.__rememberedObjects.indexOf(b.object);if(d!=-1){var e=c.__rememberedObjectIndecesToControllers[d];e===void 0&&(e={},c.__rememberedObjectIndecesToControllers[d]=e);e[b.property]=b;if(c.load&&c.load.remembered){c=c.load.remembered;if(c[a.preset])c=c[a.preset];else if(c[w])c=c[w];else return;if(c[d]&&c[d][b.property]!==void 0)d=c[d][b.property],b.initialValue=d,b.setValue(d)}}}function I(a){var b=a.__save_row=document.createElement("li");g.addClass(a.domElement,
+        "has-save");a.__ul.insertBefore(b,a.__ul.firstChild);g.addClass(b,"save-row");var c=document.createElement("span");c.innerHTML="&nbsp;";g.addClass(c,"button gears");var d=document.createElement("span");d.innerHTML="Save";g.addClass(d,"button");g.addClass(d,"save");var e=document.createElement("span");e.innerHTML="New";g.addClass(e,"button");g.addClass(e,"save-as");var f=document.createElement("span");f.innerHTML="Revert";g.addClass(f,"button");g.addClass(f,"revert");var m=a.__preset_select=document.createElement("select");
+        a.load&&a.load.remembered?i.each(a.load.remembered,function(b,c){C(a,c,c==a.preset)}):C(a,w,false);g.bind(m,"change",function(){for(var b=0;b<a.__preset_select.length;b++)a.__preset_select[b].innerHTML=a.__preset_select[b].value;a.preset=this.value});b.appendChild(m);b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(f);if(u){var b=document.getElementById("dg-save-locally"),l=document.getElementById("dg-local-explain");b.style.display="block";b=document.getElementById("dg-local-storage");
+            localStorage.getItem(document.location.href+".isLocal")==="true"&&b.setAttribute("checked","checked");var o=function(){l.style.display=a.useLocalStorage?"block":"none"};o();g.bind(b,"change",function(){a.useLocalStorage=!a.useLocalStorage;o()})}var h=document.getElementById("dg-new-constructor");g.bind(h,"keydown",function(a){a.metaKey&&(a.which===67||a.keyCode==67)&&x.hide()});g.bind(c,"click",function(){h.innerHTML=JSON.stringify(a.getSaveObject(),void 0,2);x.show();h.focus();h.select()});g.bind(d,
+            "click",function(){a.save()});g.bind(e,"click",function(){var b=prompt("Enter a new preset name.");b&&a.saveAs(b)});g.bind(f,"click",function(){a.revert()})}function J(a){function b(f){f.preventDefault();e=f.clientX;g.addClass(a.__closeButton,k.CLASS_DRAG);g.bind(window,"mousemove",c);g.bind(window,"mouseup",d);return false}function c(b){b.preventDefault();a.width+=e-b.clientX;a.onResize();e=b.clientX;return false}function d(){g.removeClass(a.__closeButton,k.CLASS_DRAG);g.unbind(window,"mousemove",
+        c);g.unbind(window,"mouseup",d)}a.__resize_handle=document.createElement("div");i.extend(a.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"});var e;g.bind(a.__resize_handle,"mousedown",b);g.bind(a.__closeButton,"mousedown",b);a.domElement.insertBefore(a.__resize_handle,a.domElement.firstElementChild)}function D(a,b){a.domElement.style.width=b+"px";if(a.__save_row&&a.autoPlace)a.__save_row.style.width=b+"px";if(a.__closeButton)a.__closeButton.style.width=
+        b+"px"}function z(a,b){var c={};i.each(a.__rememberedObjects,function(d,e){var f={};i.each(a.__rememberedObjectIndecesToControllers[e],function(a,c){f[c]=b?a.initialValue:a.getValue()});c[e]=f});return c}function C(a,b,c){var d=document.createElement("option");d.innerHTML=b;d.value=b;a.__preset_select.appendChild(d);if(c)a.__preset_select.selectedIndex=a.__preset_select.length-1}function B(a,b){var c=a.__preset_select[a.__preset_select.selectedIndex];c.innerHTML=b?c.value+"*":c.value}function E(a){a.length!=
+    0&&o(function(){E(a)});i.each(a,function(a){a.updateDisplay()})}e.inject(c);var w="Default",u;try{u="localStorage"in window&&window.localStorage!==null}catch(K){u=false}var x,F=true,v,A=false,G=[],k=function(a){function b(){localStorage.setItem(document.location.href+".gui",JSON.stringify(d.getSaveObject()))}function c(){var a=d.getRoot();a.width+=1;i.defer(function(){a.width-=1})}var d=this;this.domElement=document.createElement("div");this.__ul=document.createElement("ul");this.domElement.appendChild(this.__ul);
+        g.addClass(this.domElement,"dg");this.__folders={};this.__controllers=[];this.__rememberedObjects=[];this.__rememberedObjectIndecesToControllers=[];this.__listening=[];a=a||{};a=i.defaults(a,{autoPlace:true,width:k.DEFAULT_WIDTH});a=i.defaults(a,{resizable:a.autoPlace,hideable:a.autoPlace});if(i.isUndefined(a.load))a.load={preset:w};else if(a.preset)a.load.preset=a.preset;i.isUndefined(a.parent)&&a.hideable&&G.push(this);a.resizable=i.isUndefined(a.parent)&&a.resizable;if(a.autoPlace&&i.isUndefined(a.scrollable))a.scrollable=
+            true;var e=u&&localStorage.getItem(document.location.href+".isLocal")==="true";Object.defineProperties(this,{parent:{get:function(){return a.parent}},scrollable:{get:function(){return a.scrollable}},autoPlace:{get:function(){return a.autoPlace}},preset:{get:function(){return d.parent?d.getRoot().preset:a.load.preset},set:function(b){d.parent?d.getRoot().preset=b:a.load.preset=b;for(b=0;b<this.__preset_select.length;b++)if(this.__preset_select[b].value==this.preset)this.__preset_select.selectedIndex=
+                    b;d.revert()}},width:{get:function(){return a.width},set:function(b){a.width=b;D(d,b)}},name:{get:function(){return a.name},set:function(b){a.name=b;if(m)m.innerHTML=a.name}},closed:{get:function(){return a.closed},set:function(b){a.closed=b;a.closed?g.addClass(d.__ul,k.CLASS_CLOSED):g.removeClass(d.__ul,k.CLASS_CLOSED);this.onResize();if(d.__closeButton)d.__closeButton.innerHTML=b?k.TEXT_OPEN:k.TEXT_CLOSED}},load:{get:function(){return a.load}},useLocalStorage:{get:function(){return e},set:function(a){u&&
+                ((e=a)?g.bind(window,"unload",b):g.unbind(window,"unload",b),localStorage.setItem(document.location.href+".isLocal",a))}}});if(i.isUndefined(a.parent)){a.closed=false;g.addClass(this.domElement,k.CLASS_MAIN);g.makeSelectable(this.domElement,false);if(u&&e){d.useLocalStorage=true;var f=localStorage.getItem(document.location.href+".gui");if(f)a.load=JSON.parse(f)}this.__closeButton=document.createElement("div");this.__closeButton.innerHTML=k.TEXT_CLOSED;g.addClass(this.__closeButton,k.CLASS_CLOSE_BUTTON);
+            this.domElement.appendChild(this.__closeButton);g.bind(this.__closeButton,"click",function(){d.closed=!d.closed})}else{if(a.closed===void 0)a.closed=true;var m=document.createTextNode(a.name);g.addClass(m,"controller-name");f=s(d,m);g.addClass(this.__ul,k.CLASS_CLOSED);g.addClass(f,"title");g.bind(f,"click",function(a){a.preventDefault();d.closed=!d.closed;return false});if(!a.closed)this.closed=false}a.autoPlace&&(i.isUndefined(a.parent)&&(F&&(v=document.createElement("div"),g.addClass(v,"dg"),g.addClass(v,
+            k.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(v),F=false),v.appendChild(this.domElement),g.addClass(this.domElement,k.CLASS_AUTO_PLACE)),this.parent||D(d,a.width));g.bind(window,"resize",function(){d.onResize()});g.bind(this.__ul,"webkitTransitionEnd",function(){d.onResize()});g.bind(this.__ul,"transitionend",function(){d.onResize()});g.bind(this.__ul,"oTransitionEnd",function(){d.onResize()});this.onResize();a.resizable&&J(this);d.getRoot();a.parent||c()};k.toggleHide=function(){A=!A;i.each(G,
+        function(a){a.domElement.style.zIndex=A?-999:999;a.domElement.style.opacity=A?0:1})};k.CLASS_AUTO_PLACE="a";k.CLASS_AUTO_PLACE_CONTAINER="ac";k.CLASS_MAIN="main";k.CLASS_CONTROLLER_ROW="cr";k.CLASS_TOO_TALL="taller-than-window";k.CLASS_CLOSED="closed";k.CLASS_CLOSE_BUTTON="close-button";k.CLASS_DRAG="drag";k.DEFAULT_WIDTH=245;k.TEXT_CLOSED="Close Controls";k.TEXT_OPEN="Open Controls";g.bind(window,"keydown",function(a){document.activeElement.type!=="text"&&(a.which===72||a.keyCode==72)&&k.toggleHide()},
+        false);i.extend(k.prototype,{add:function(a,b){return q(this,a,b,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(a,b){return q(this,a,b,{color:true})},remove:function(a){this.__ul.removeChild(a.__li);this.__controllers.slice(this.__controllers.indexOf(a),1);var b=this;i.defer(function(){b.onResize()})},destroy:function(){this.autoPlace&&v.removeChild(this.domElement)},addFolder:function(a){if(this.__folders[a]!==void 0)throw Error('You already have a folder in this GUI by the name "'+
+            a+'"');var b={name:a,parent:this};b.autoPlace=this.autoPlace;if(this.load&&this.load.folders&&this.load.folders[a])b.closed=this.load.folders[a].closed,b.load=this.load.folders[a];b=new k(b);this.__folders[a]=b;a=s(this,b.domElement);g.addClass(a,"folder");return b},open:function(){this.closed=false},close:function(){this.closed=true},onResize:function(){var a=this.getRoot();if(a.scrollable){var b=g.getOffset(a.__ul).top,c=0;i.each(a.__ul.childNodes,function(b){a.autoPlace&&b===a.__save_row||(c+=
+            g.getHeight(b))});window.innerHeight-b-20<c?(g.addClass(a.domElement,k.CLASS_TOO_TALL),a.__ul.style.height=window.innerHeight-b-20+"px"):(g.removeClass(a.domElement,k.CLASS_TOO_TALL),a.__ul.style.height="auto")}a.__resize_handle&&i.defer(function(){a.__resize_handle.style.height=a.__ul.offsetHeight+"px"});if(a.__closeButton)a.__closeButton.style.width=a.width+"px"},remember:function(){if(i.isUndefined(x))x=new y,x.domElement.innerHTML=a;if(this.parent)throw Error("You can only call remember on a top level GUI.");
+            var b=this;i.each(Array.prototype.slice.call(arguments),function(a){b.__rememberedObjects.length==0&&I(b);b.__rememberedObjects.indexOf(a)==-1&&b.__rememberedObjects.push(a)});this.autoPlace&&D(this,this.width)},getRoot:function(){for(var a=this;a.parent;)a=a.parent;return a},getSaveObject:function(){var a=this.load;a.closed=this.closed;if(this.__rememberedObjects.length>0){a.preset=this.preset;if(!a.remembered)a.remembered={};a.remembered[this.preset]=z(this)}a.folders={};i.each(this.__folders,function(b,
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         c){a.folders[c]=b.getSaveObject()});return a},save:function(){if(!this.load.remembered)this.load.remembered={};this.load.remembered[this.preset]=z(this);B(this,false)},saveAs:function(a){if(!this.load.remembered)this.load.remembered={},this.load.remembered[w]=z(this,true);this.load.remembered[a]=z(this);this.preset=a;C(this,a,true)},revert:function(a){i.each(this.__controllers,function(b){this.getRoot().load.remembered?t(a||this.getRoot(),b):b.setValue(b.initialValue)},this);i.each(this.__folders,
+            function(a){a.revert(a)});a||B(this.getRoot(),false)},listen:function(a){var b=this.__listening.length==0;this.__listening.push(a);b&&E(this.__listening)}});return k}(dat.utils.css,'<div id="dg-save" class="dg dialogue">\n\n  Here\'s the new load parameter for your <code>GUI</code>\'s constructor:\n\n  <textarea id="dg-new-constructor"></textarea>\n\n  <div id="dg-save-locally">\n\n    <input id="dg-local-storage" type="checkbox"/> Automatically save\n    values to <code>localStorage</code> on exit.\n\n    <div id="dg-local-explain">The values saved to <code>localStorage</code> will\n      override those passed to <code>dat.GUI</code>\'s constructor. This makes it\n      easier to work incrementally, but <code>localStorage</code> is fragile,\n      and your friends may not see the same values you do.\n      \n    </div>\n    \n  </div>\n\n</div>',
+    ".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity 0.1s linear;-o-transition:opacity 0.1s linear;-moz-transition:opacity 0.1s linear;transition:opacity 0.1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity 0.1s linear;-o-transition:opacity 0.1s linear;-moz-transition:opacity 0.1s linear;transition:opacity 0.1s linear;border:0;position:absolute;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-x:hidden}.dg.a.has-save ul{margin-top:27px}.dg.a.has-save ul.closed{margin-top:0}.dg.a .save-row{position:fixed;top:0;z-index:1002}.dg li{-webkit-transition:height 0.1s ease-out;-o-transition:height 0.1s ease-out;-moz-transition:height 0.1s ease-out;transition:height 0.1s ease-out}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;overflow:hidden;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li > *{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:9px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2fa1d6}.dg .cr.number input[type=text]{color:#2fa1d6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2fa1d6}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n",
+    dat.controllers.factory=function(e,a,c,d,f,b,n){return function(h,j,m,l){var o=h[j];if(n.isArray(m)||n.isObject(m))return new e(h,j,m);if(n.isNumber(o))return n.isNumber(m)&&n.isNumber(l)?new c(h,j,m,l):new a(h,j,{min:m,max:l});if(n.isString(o))return new d(h,j);if(n.isFunction(o))return new f(h,j,"");if(n.isBoolean(o))return new b(h,j)}}(dat.controllers.OptionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.StringController=function(e,a,c){var d=
+        function(c,b){function e(){h.setValue(h.__input.value)}d.superclass.call(this,c,b);var h=this;this.__input=document.createElement("input");this.__input.setAttribute("type","text");a.bind(this.__input,"keyup",e);a.bind(this.__input,"change",e);a.bind(this.__input,"blur",function(){h.__onFinishChange&&h.__onFinishChange.call(h,h.getValue())});a.bind(this.__input,"keydown",function(a){a.keyCode===13&&this.blur()});this.updateDisplay();this.domElement.appendChild(this.__input)};d.superclass=e;c.extend(d.prototype,
+        e.prototype,{updateDisplay:function(){if(!a.isActive(this.__input))this.__input.value=this.getValue();return d.superclass.prototype.updateDisplay.call(this)}});return d}(dat.controllers.Controller,dat.dom.dom,dat.utils.common),dat.controllers.FunctionController,dat.controllers.BooleanController,dat.utils.common),dat.controllers.Controller,dat.controllers.BooleanController,dat.controllers.FunctionController,dat.controllers.NumberControllerBox,dat.controllers.NumberControllerSlider,dat.controllers.OptionController,
+    dat.controllers.ColorController=function(e,a,c,d,f){function b(a,b,c,d){a.style.background="";f.each(j,function(e){a.style.cssText+="background: "+e+"linear-gradient("+b+", "+c+" 0%, "+d+" 100%); "})}function n(a){a.style.background="";a.style.cssText+="background: -moz-linear-gradient(top,  #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);";a.style.cssText+="background: -webkit-linear-gradient(top,  #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";
+        a.style.cssText+="background: -o-linear-gradient(top,  #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: -ms-linear-gradient(top,  #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);";a.style.cssText+="background: linear-gradient(top,  #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}var h=function(e,l){function o(b){q(b);a.bind(window,"mousemove",q);a.bind(window,
+        "mouseup",j)}function j(){a.unbind(window,"mousemove",q);a.unbind(window,"mouseup",j)}function g(){var a=d(this.value);a!==false?(p.__color.__state=a,p.setValue(p.__color.toOriginal())):this.value=p.__color.toString()}function i(){a.unbind(window,"mousemove",s);a.unbind(window,"mouseup",i)}function q(b){b.preventDefault();var c=a.getWidth(p.__saturation_field),d=a.getOffset(p.__saturation_field),e=(b.clientX-d.left+document.body.scrollLeft)/c,b=1-(b.clientY-d.top+document.body.scrollTop)/c;b>1?b=
+        1:b<0&&(b=0);e>1?e=1:e<0&&(e=0);p.__color.v=b;p.__color.s=e;p.setValue(p.__color.toOriginal());return false}function s(b){b.preventDefault();var c=a.getHeight(p.__hue_field),d=a.getOffset(p.__hue_field),b=1-(b.clientY-d.top+document.body.scrollTop)/c;b>1?b=1:b<0&&(b=0);p.__color.h=b*360;p.setValue(p.__color.toOriginal());return false}h.superclass.call(this,e,l);this.__color=new c(this.getValue());this.__temp=new c(0);var p=this;this.domElement=document.createElement("div");a.makeSelectable(this.domElement,
+        false);this.__selector=document.createElement("div");this.__selector.className="selector";this.__saturation_field=document.createElement("div");this.__saturation_field.className="saturation-field";this.__field_knob=document.createElement("div");this.__field_knob.className="field-knob";this.__field_knob_border="2px solid ";this.__hue_knob=document.createElement("div");this.__hue_knob.className="hue-knob";this.__hue_field=document.createElement("div");this.__hue_field.className="hue-field";this.__input=
+        document.createElement("input");this.__input.type="text";this.__input_textShadow="0 1px 1px ";a.bind(this.__input,"keydown",function(a){a.keyCode===13&&g.call(this)});a.bind(this.__input,"blur",g);a.bind(this.__selector,"mousedown",function(){a.addClass(this,"drag").bind(window,"mouseup",function(){a.removeClass(p.__selector,"drag")})});var t=document.createElement("div");f.extend(this.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"});
+        f.extend(this.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:this.__field_knob_border+(this.__color.v<0.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1});f.extend(this.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1});f.extend(this.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"});f.extend(t.style,
+            {width:"100%",height:"100%",background:"none"});b(t,"top","rgba(0,0,0,0)","#000");f.extend(this.__hue_field.style,{width:"15px",height:"100px",display:"inline-block",border:"1px solid #555",cursor:"ns-resize"});n(this.__hue_field);f.extend(this.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:this.__input_textShadow+"rgba(0,0,0,0.7)"});a.bind(this.__saturation_field,"mousedown",o);a.bind(this.__field_knob,"mousedown",o);a.bind(this.__hue_field,"mousedown",
+            function(b){s(b);a.bind(window,"mousemove",s);a.bind(window,"mouseup",i)});this.__saturation_field.appendChild(t);this.__selector.appendChild(this.__field_knob);this.__selector.appendChild(this.__saturation_field);this.__selector.appendChild(this.__hue_field);this.__hue_field.appendChild(this.__hue_knob);this.domElement.appendChild(this.__input);this.domElement.appendChild(this.__selector);this.updateDisplay()};h.superclass=e;f.extend(h.prototype,e.prototype,{updateDisplay:function(){var a=d(this.getValue());
+            if(a!==false){var e=false;f.each(c.COMPONENTS,function(b){if(!f.isUndefined(a[b])&&!f.isUndefined(this.__color.__state[b])&&a[b]!==this.__color.__state[b])return e=true,{}},this);e&&f.extend(this.__color.__state,a)}f.extend(this.__temp.__state,this.__color.__state);this.__temp.a=1;var h=this.__color.v<0.5||this.__color.s>0.5?255:0,j=255-h;f.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toString(),border:this.__field_knob_border+
+                    "rgb("+h+","+h+","+h+")"});this.__hue_knob.style.marginTop=(1-this.__color.h/360)*100+"px";this.__temp.s=1;this.__temp.v=1;b(this.__saturation_field,"left","#fff",this.__temp.toString());f.extend(this.__input.style,{backgroundColor:this.__input.value=this.__color.toString(),color:"rgb("+h+","+h+","+h+")",textShadow:this.__input_textShadow+"rgba("+j+","+j+","+j+",.7)"})}});var j=["-moz-","-o-","-webkit-","-ms-",""];return h}(dat.controllers.Controller,dat.dom.dom,dat.color.Color=function(e,a,c,d){function f(a,
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    b,c){Object.defineProperty(a,b,{get:function(){if(this.__state.space==="RGB")return this.__state[b];n(this,b,c);return this.__state[b]},set:function(a){if(this.__state.space!=="RGB")n(this,b,c),this.__state.space="RGB";this.__state[b]=a}})}function b(a,b){Object.defineProperty(a,b,{get:function(){if(this.__state.space==="HSV")return this.__state[b];h(this);return this.__state[b]},set:function(a){if(this.__state.space!=="HSV")h(this),this.__state.space="HSV";this.__state[b]=a}})}function n(b,c,e){if(b.__state.space===
+        "HEX")b.__state[c]=a.component_from_hex(b.__state.hex,e);else if(b.__state.space==="HSV")d.extend(b.__state,a.hsv_to_rgb(b.__state.h,b.__state.s,b.__state.v));else throw"Corrupted color state";}function h(b){var c=a.rgb_to_hsv(b.r,b.g,b.b);d.extend(b.__state,{s:c.s,v:c.v});if(d.isNaN(c.h)){if(d.isUndefined(b.__state.h))b.__state.h=0}else b.__state.h=c.h}var j=function(){this.__state=e.apply(this,arguments);if(this.__state===false)throw"Failed to interpret color arguments";this.__state.a=this.__state.a||
+        1};j.COMPONENTS="r,g,b,h,s,v,hex,a".split(",");d.extend(j.prototype,{toString:function(){return c(this)},toOriginal:function(){return this.__state.conversion.write(this)}});f(j.prototype,"r",2);f(j.prototype,"g",1);f(j.prototype,"b",0);b(j.prototype,"h");b(j.prototype,"s");b(j.prototype,"v");Object.defineProperty(j.prototype,"a",{get:function(){return this.__state.a},set:function(a){this.__state.a=a}});Object.defineProperty(j.prototype,"hex",{get:function(){if(!this.__state.space!=="HEX")this.__state.hex=
+            a.rgb_to_hex(this.r,this.g,this.b);return this.__state.hex},set:function(a){this.__state.space="HEX";this.__state.hex=a}});return j}(dat.color.interpret,dat.color.math=function(){var e;return{hsv_to_rgb:function(a,c,d){var e=a/60-Math.floor(a/60),b=d*(1-c),n=d*(1-e*c),c=d*(1-(1-e)*c),a=[[d,c,b],[n,d,b],[b,d,c],[b,n,d],[c,b,d],[d,b,n]][Math.floor(a/60)%6];return{r:a[0]*255,g:a[1]*255,b:a[2]*255}},rgb_to_hsv:function(a,c,d){var e=Math.min(a,c,d),b=Math.max(a,c,d),e=b-e;if(b==0)return{h:NaN,s:0,v:0};
+            a=a==b?(c-d)/e:c==b?2+(d-a)/e:4+(a-c)/e;a/=6;a<0&&(a+=1);return{h:a*360,s:e/b,v:b/255}},rgb_to_hex:function(a,c,d){a=this.hex_with_component(0,2,a);a=this.hex_with_component(a,1,c);return a=this.hex_with_component(a,0,d)},component_from_hex:function(a,c){return a>>c*8&255},hex_with_component:function(a,c,d){return d<<(e=c*8)|a&~(255<<e)}}}(),dat.color.toString,dat.utils.common),dat.color.interpret,dat.utils.common),dat.utils.requestAnimationFrame=function(){return window.webkitRequestAnimationFrame||
+        window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1E3/60)}}(),dat.dom.CenteredDiv=function(e,a){var c=function(){this.backgroundElement=document.createElement("div");a.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear"});e.makeFullscreen(this.backgroundElement);this.backgroundElement.style.position="fixed";this.domElement=
+        document.createElement("div");a.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear"});document.body.appendChild(this.backgroundElement);document.body.appendChild(this.domElement);var c=this;e.bind(this.backgroundElement,"click",function(){c.hide()})};c.prototype.show=function(){var c=this;this.backgroundElement.style.display="block";this.domElement.style.display="block";this.domElement.style.opacity=
+        0;this.domElement.style.webkitTransform="scale(1.1)";this.layout();a.defer(function(){c.backgroundElement.style.opacity=1;c.domElement.style.opacity=1;c.domElement.style.webkitTransform="scale(1)"})};c.prototype.hide=function(){var a=this,c=function(){a.domElement.style.display="none";a.backgroundElement.style.display="none";e.unbind(a.domElement,"webkitTransitionEnd",c);e.unbind(a.domElement,"transitionend",c);e.unbind(a.domElement,"oTransitionEnd",c)};e.bind(this.domElement,"webkitTransitionEnd",
+        c);e.bind(this.domElement,"transitionend",c);e.bind(this.domElement,"oTransitionEnd",c);this.backgroundElement.style.opacity=0;this.domElement.style.opacity=0;this.domElement.style.webkitTransform="scale(1.1)"};c.prototype.layout=function(){this.domElement.style.left=window.innerWidth/2-e.getWidth(this.domElement)/2+"px";this.domElement.style.top=window.innerHeight/2-e.getHeight(this.domElement)/2+"px"};return c}(dat.dom.dom,dat.utils.common),dat.dom.dom,dat.utils.common);
\ No newline at end of file
diff --git a/COGNET/lib/jquery-1.8.3.min.js b/COGNET/lib/jquery-1.8.3.min.js
new file mode 100644
index 0000000..3883779
--- /dev/null
+++ b/COGNET/lib/jquery-1.8.3.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v1.8.3 jquery.com | jquery.org/license */
+(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);
\ No newline at end of file
diff --git a/COGNET/lib/sprintf.js b/COGNET/lib/sprintf.js
new file mode 100644
index 0000000..019324e
--- /dev/null
+++ b/COGNET/lib/sprintf.js
@@ -0,0 +1,134 @@
+/*! sprintf.js | Copyright (c) 2007-2013 Alexandru Marasteanu <hello at alexei dot ro> | 3 clause BSD license */
+
+(function(ctx) {
+	var sprintf = function() {
+		if (!sprintf.cache.hasOwnProperty(arguments[0])) {
+			sprintf.cache[arguments[0]] = sprintf.parse(arguments[0]);
+		}
+		return sprintf.format.call(null, sprintf.cache[arguments[0]], arguments);
+	};
+
+	sprintf.format = function(parse_tree, argv) {
+		var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length;
+		for (i = 0; i < tree_length; i++) {
+			node_type = get_type(parse_tree[i]);
+			if (node_type === 'string') {
+				output.push(parse_tree[i]);
+			}
+			else if (node_type === 'array') {
+				match = parse_tree[i]; // convenience purposes only
+				if (match[2]) { // keyword argument
+					arg = argv[cursor];
+					for (k = 0; k < match[2].length; k++) {
+						if (!arg.hasOwnProperty(match[2][k])) {
+							throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
+						}
+						arg = arg[match[2][k]];
+					}
+				}
+				else if (match[1]) { // positional argument (explicit)
+					arg = argv[match[1]];
+				}
+				else { // positional argument (implicit)
+					arg = argv[cursor++];
+				}
+
+				if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) {
+					throw(sprintf('[sprintf] expecting number but found %s', get_type(arg)));
+				}
+				switch (match[8]) {
+					case 'b': arg = arg.toString(2); break;
+					case 'c': arg = String.fromCharCode(arg); break;
+					case 'd': arg = parseInt(arg, 10); break;
+					case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break;
+					case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
+					case 'o': arg = arg.toString(8); break;
+					case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break;
+					case 'u': arg = arg >>> 0; break;
+					case 'x': arg = arg.toString(16); break;
+					case 'X': arg = arg.toString(16).toUpperCase(); break;
+				}
+				arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg);
+				pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' ';
+				pad_length = match[6] - String(arg).length;
+				pad = match[6] ? str_repeat(pad_character, pad_length) : '';
+				output.push(match[5] ? arg + pad : pad + arg);
+			}
+		}
+		return output.join('');
+	};
+
+	sprintf.cache = {};
+
+	sprintf.parse = function(fmt) {
+		var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
+		while (_fmt) {
+			if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
+				parse_tree.push(match[0]);
+			}
+			else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
+				parse_tree.push('%');
+			}
+			else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) {
+				if (match[2]) {
+					arg_names |= 1;
+					var field_list = [], replacement_field = match[2], field_match = [];
+					if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
+						field_list.push(field_match[1]);
+						while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
+							if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
+								field_list.push(field_match[1]);
+							}
+							else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) {
+								field_list.push(field_match[1]);
+							}
+							else {
+								throw('[sprintf] huh?');
+							}
+						}
+					}
+					else {
+						throw('[sprintf] huh?');
+					}
+					match[2] = field_list;
+				}
+				else {
+					arg_names |= 2;
+				}
+				if (arg_names === 3) {
+					throw('[sprintf] mixing positional and named placeholders is not (yet) supported');
+				}
+				parse_tree.push(match);
+			}
+			else {
+				throw('[sprintf] huh?');
+			}
+			_fmt = _fmt.substring(match[0].length);
+		}
+		return parse_tree;
+	};
+
+	var vsprintf = function(fmt, argv, _argv) {
+		_argv = argv.slice(0);
+		_argv.splice(0, 0, fmt);
+		return sprintf.apply(null, _argv);
+	};
+
+	/**
+	 * helpers
+	 */
+	function get_type(variable) {
+		return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
+	}
+
+	function str_repeat(input, multiplier) {
+		for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */}
+		return output.join('');
+	}
+
+	/**
+	 * export to either browser or node.js
+	 */
+	ctx.sprintf = sprintf;
+	ctx.vsprintf = vsprintf;
+})(typeof exports != "undefined" ? exports : window);
\ No newline at end of file
diff --git a/COGNET/lib/stats.min.js b/COGNET/lib/stats.min.js
new file mode 100644
index 0000000..bddd408
--- /dev/null
+++ b/COGNET/lib/stats.min.js
@@ -0,0 +1,6 @@
+// stats.js - http://github.com/mrdoob/stats.js
+export var Stats=function(){var l=Date.now(),m=l,g=0,n=Infinity,o=0,h=0,p=Infinity,q=0,r=0,s=0,f=document.createElement("div");f.id="stats";f.addEventListener("mousedown",function(b){b.preventDefault();t(++s%2)},!1);f.style.cssText="width:80px;opacity:0.9;cursor:pointer";var a=document.createElement("div");a.id="fps";a.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002";f.appendChild(a);var i=document.createElement("div");i.id="fpsText";i.style.cssText="color:#0ff;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px";
+i.innerHTML="FPS";a.appendChild(i);var c=document.createElement("div");c.id="fpsGraph";c.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff";for(a.appendChild(c);74>c.children.length;){var j=document.createElement("span");j.style.cssText="width:1px;height:30px;float:left;background-color:#113";c.appendChild(j)}var d=document.createElement("div");d.id="ms";d.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none";f.appendChild(d);var k=document.createElement("div");
+k.id="msText";k.style.cssText="color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px";k.innerHTML="MS";d.appendChild(k);var e=document.createElement("div");e.id="msGraph";e.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0";for(d.appendChild(e);74>e.children.length;)j=document.createElement("span"),j.style.cssText="width:1px;height:30px;float:left;background-color:#131",e.appendChild(j);var t=function(b){s=b;switch(s){case 0:a.style.display=
+"block";d.style.display="none";break;case 1:a.style.display="none",d.style.display="block"}};return{REVISION:11,domElement:f,setMode:t,begin:function(){l=Date.now()},end:function(){var b=Date.now();g=b-l;n=Math.min(n,g);o=Math.max(o,g);k.textContent=g+" MS ("+n+"-"+o+")";var a=Math.min(30,30-30*(g/200));e.appendChild(e.firstChild).style.height=a+"px";r++;b>m+1E3&&(h=Math.round(1E3*r/(b-m)),p=Math.min(p,h),q=Math.max(q,h),i.textContent=h+" FPS ("+p+"-"+q+")",a=Math.min(30,30-30*(h/100)),c.appendChild(c.firstChild).style.height=
+a+"px",m=b,r=0);return b},update:function(){l=this.end()}}};
diff --git a/COGNET/lib/three.js b/COGNET/lib/three.js
new file mode 100644
index 0000000..2d01d65
--- /dev/null
+++ b/COGNET/lib/three.js
@@ -0,0 +1,35996 @@
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author Larry Battle / http://bateru.com/news
+ */
+
+var THREE = THREE || { REVISION: '56' };
+
+self.console = self.console || {
+
+	info: function () {},
+	log: function () {},
+	debug: function () {},
+	warn: function () {},
+	error: function () {}
+
+};
+
+self.Int32Array = self.Int32Array || Array;
+self.Float32Array = self.Float32Array || Array;
+
+String.prototype.trim = String.prototype.trim || function () {
+
+	return this.replace( /^\s+|\s+$/g, '' );
+
+};
+
+// based on https://github.com/documentcloud/underscore/blob/bf657be243a075b5e72acc8a83e6f12a564d8f55/underscore.js#L767
+THREE.extend = function ( obj, source ) {
+
+	// ECMAScript5 compatibility based on: http://www.nczonline.net/blog/2012/12/11/are-your-mixins-ecmascript-5-compatible/
+	if ( Object.keys ) {
+
+		var keys = Object.keys( source );
+
+		for (var i = 0, il = keys.length; i < il; i++) {
+
+			var prop = keys[i];
+			Object.defineProperty( obj, prop, Object.getOwnPropertyDescriptor( source, prop ) );
+
+		}
+
+	} else {
+
+		var safeHasOwnProperty = {}.hasOwnProperty;
+
+		for ( var prop in source ) {
+
+			if ( safeHasOwnProperty.call( source, prop ) ) {
+
+				obj[prop] = source[prop];
+
+			}
+
+		}
+
+	}
+
+	return obj;
+
+};
+
+// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
+// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
+
+// requestAnimationFrame polyfill by Erik M�ller
+// fixes from Paul Irish and Tino Zijdel
+
+( function () {
+
+	var lastTime = 0;
+	var vendors = [ 'ms', 'moz', 'webkit', 'o' ];
+
+	for ( var x = 0; x < vendors.length && !window.requestAnimationFrame; ++ x ) {
+
+		window.requestAnimationFrame = window[ vendors[ x ] + 'RequestAnimationFrame' ];
+		window.cancelAnimationFrame = window[ vendors[ x ] + 'CancelAnimationFrame' ] || window[ vendors[ x ] + 'CancelRequestAnimationFrame' ];
+
+	}
+
+	if ( window.requestAnimationFrame === undefined ) {
+
+		window.requestAnimationFrame = function ( callback ) {
+
+			var currTime = Date.now(), timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );
+			var id = window.setTimeout( function() { callback( currTime + timeToCall ); }, timeToCall );
+			lastTime = currTime + timeToCall;
+			return id;
+
+		};
+
+	}
+
+	window.cancelAnimationFrame = window.cancelAnimationFrame || function ( id ) { window.clearTimeout( id ) };
+
+}() );
+
+// GL STATE CONSTANTS
+
+THREE.CullFaceNone = 0;
+THREE.CullFaceBack = 1;
+THREE.CullFaceFront = 2;
+THREE.CullFaceFrontBack = 3;
+
+THREE.FrontFaceDirectionCW = 0;
+THREE.FrontFaceDirectionCCW = 1;
+
+// SHADOWING TYPES
+
+THREE.BasicShadowMap = 0;
+THREE.PCFShadowMap = 1;
+THREE.PCFSoftShadowMap = 2;
+
+// MATERIAL CONSTANTS
+
+// side
+
+THREE.FrontSide = 0;
+THREE.BackSide = 1;
+THREE.DoubleSide = 2;
+
+// shading
+
+THREE.NoShading = 0;
+THREE.FlatShading = 1;
+THREE.SmoothShading = 2;
+
+// colors
+
+THREE.NoColors = 0;
+THREE.FaceColors = 1;
+THREE.VertexColors = 2;
+
+// blending modes
+
+THREE.NoBlending = 0;
+THREE.NormalBlending = 1;
+THREE.AdditiveBlending = 2;
+THREE.SubtractiveBlending = 3;
+THREE.MultiplyBlending = 4;
+THREE.CustomBlending = 5;
+
+// custom blending equations
+// (numbers start from 100 not to clash with other
+//  mappings to OpenGL constants defined in Texture.js)
+
+THREE.AddEquation = 100;
+THREE.SubtractEquation = 101;
+THREE.ReverseSubtractEquation = 102;
+
+// custom blending destination factors
+
+THREE.ZeroFactor = 200;
+THREE.OneFactor = 201;
+THREE.SrcColorFactor = 202;
+THREE.OneMinusSrcColorFactor = 203;
+THREE.SrcAlphaFactor = 204;
+THREE.OneMinusSrcAlphaFactor = 205;
+THREE.DstAlphaFactor = 206;
+THREE.OneMinusDstAlphaFactor = 207;
+
+// custom blending source factors
+
+//THREE.ZeroFactor = 200;
+//THREE.OneFactor = 201;
+//THREE.SrcAlphaFactor = 204;
+//THREE.OneMinusSrcAlphaFactor = 205;
+//THREE.DstAlphaFactor = 206;
+//THREE.OneMinusDstAlphaFactor = 207;
+THREE.DstColorFactor = 208;
+THREE.OneMinusDstColorFactor = 209;
+THREE.SrcAlphaSaturateFactor = 210;
+
+
+// TEXTURE CONSTANTS
+
+THREE.MultiplyOperation = 0;
+THREE.MixOperation = 1;
+THREE.AddOperation = 2;
+
+// Mapping modes
+
+THREE.UVMapping = function () {};
+
+THREE.CubeReflectionMapping = function () {};
+THREE.CubeRefractionMapping = function () {};
+
+THREE.SphericalReflectionMapping = function () {};
+THREE.SphericalRefractionMapping = function () {};
+
+// Wrapping modes
+
+THREE.RepeatWrapping = 1000;
+THREE.ClampToEdgeWrapping = 1001;
+THREE.MirroredRepeatWrapping = 1002;
+
+// Filters
+
+THREE.NearestFilter = 1003;
+THREE.NearestMipMapNearestFilter = 1004;
+THREE.NearestMipMapLinearFilter = 1005;
+THREE.LinearFilter = 1006;
+THREE.LinearMipMapNearestFilter = 1007;
+THREE.LinearMipMapLinearFilter = 1008;
+
+// Data types
+
+THREE.UnsignedByteType = 1009;
+THREE.ByteType = 1010;
+THREE.ShortType = 1011;
+THREE.UnsignedShortType = 1012;
+THREE.IntType = 1013;
+THREE.UnsignedIntType = 1014;
+THREE.FloatType = 1015;
+
+// Pixel types
+
+//THREE.UnsignedByteType = 1009;
+THREE.UnsignedShort4444Type = 1016;
+THREE.UnsignedShort5551Type = 1017;
+THREE.UnsignedShort565Type = 1018;
+
+// Pixel formats
+
+THREE.AlphaFormat = 1019;
+THREE.RGBFormat = 1020;
+THREE.RGBAFormat = 1021;
+THREE.LuminanceFormat = 1022;
+THREE.LuminanceAlphaFormat = 1023;
+
+// Compressed texture formats
+
+THREE.RGB_S3TC_DXT1_Format = 2001;
+THREE.RGBA_S3TC_DXT1_Format = 2002;
+THREE.RGBA_S3TC_DXT3_Format = 2003;
+THREE.RGBA_S3TC_DXT5_Format = 2004;
+
+/*
+// Potential future PVRTC compressed texture formats
+THREE.RGB_PVRTC_4BPPV1_Format = 2100;
+THREE.RGB_PVRTC_2BPPV1_Format = 2101;
+THREE.RGBA_PVRTC_4BPPV1_Format = 2102;
+THREE.RGBA_PVRTC_2BPPV1_Format = 2103;
+*/
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Color = function ( value ) {
+
+	if ( value !== undefined ) this.set( value );
+
+	return this;
+
+};
+
+THREE.extend( THREE.Color.prototype, {
+
+	r: 1, g: 1, b: 1,
+
+	set: function ( value ) {
+
+		switch ( typeof value ) {
+
+			case "number":
+				this.setHex( value );
+				break;
+
+			case "string":
+				this.setStyle( value );
+				break;
+
+		}
+
+	},
+
+	setHex: function ( hex ) {
+
+		hex = Math.floor( hex );
+
+		this.r = ( hex >> 16 & 255 ) / 255;
+		this.g = ( hex >> 8 & 255 ) / 255;
+		this.b = ( hex & 255 ) / 255;
+
+		return this;
+
+	},
+
+	setRGB: function ( r, g, b ) {
+
+		this.r = r;
+		this.g = g;
+		this.b = b;
+
+		return this;
+
+	},
+
+	setHSV: function ( h, s, v ) {
+
+		console.log( 'DEPRECATED: Color\'s .setHSV() will be removed. Use .setHSL( h, s, l ) instead.' );
+		return this.setHSL(h,s*v/((h=(2-s)*v)<1?h:2-h),h/2); // https://gist.github.com/xpansive/1337890
+
+	},
+
+	setHSL: function ( h, s, l ) {
+
+		// h,s,l ranges are in 0.0 - 1.0
+
+		if ( s === 0 ) {
+
+			this.r = this.g = this.b = l;
+
+		} else {
+
+			var hue2rgb = function ( p, q, t ) {
+
+				if ( t < 0 ) t += 1;
+				if ( t > 1 ) t -= 1;
+				if ( t < 1 / 6 ) return p + ( q - p ) * 6 * t;
+				if ( t < 1 / 2 ) return q;
+				if ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t );
+				return p;
+
+			};
+
+			var p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s );
+			var q = ( 2 * l ) - p;
+
+			this.r = hue2rgb( q, p, h + 1 / 3 );
+			this.g = hue2rgb( q, p, h );
+			this.b = hue2rgb( q, p, h - 1 / 3 );
+
+		}
+
+		return this;
+
+	},
+
+	setStyle: function ( style ) {
+
+		// rgb(255,0,0)
+
+		if ( /^rgb\((\d+),(\d+),(\d+)\)$/i.test( style ) ) {
+
+			var color = /^rgb\((\d+),(\d+),(\d+)\)$/i.exec( style );
+
+			this.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255;
+			this.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255;
+			this.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255;
+
+			return this;
+
+		}
+
+		// rgb(100%,0%,0%)
+
+		if ( /^rgb\((\d+)\%,(\d+)\%,(\d+)\%\)$/i.test( style ) ) {
+
+			var color = /^rgb\((\d+)\%,(\d+)\%,(\d+)\%\)$/i.exec( style );
+
+			this.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100;
+			this.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100;
+			this.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100;
+
+			return this;
+
+		}
+
+		// #ff0000
+
+		if ( /^\#([0-9a-f]{6})$/i.test( style ) ) {
+
+			var color = /^\#([0-9a-f]{6})$/i.exec( style );
+
+			this.setHex( parseInt( color[ 1 ], 16 ) );
+
+			return this;
+
+		}
+
+		// #f00
+
+		if ( /^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.test( style ) ) {
+
+			var color = /^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec( style );
+
+			this.setHex( parseInt( color[ 1 ] + color[ 1 ] + color[ 2 ] + color[ 2 ] + color[ 3 ] + color[ 3 ], 16 ) );
+
+			return this;
+
+		}
+
+		// red
+
+		if ( /^(\w+)$/i.test( style ) ) {
+
+			this.setHex( THREE.ColorKeywords[ style ] );
+
+			return this;
+
+		}
+
+
+	},
+
+	copy: function ( color ) {
+
+		this.r = color.r;
+		this.g = color.g;
+		this.b = color.b;
+
+		return this;
+
+	},
+
+	copyGammaToLinear: function ( color ) {
+
+		this.r = color.r * color.r;
+		this.g = color.g * color.g;
+		this.b = color.b * color.b;
+
+		return this;
+
+	},
+
+	copyLinearToGamma: function ( color ) {
+
+		this.r = Math.sqrt( color.r );
+		this.g = Math.sqrt( color.g );
+		this.b = Math.sqrt( color.b );
+
+		return this;
+
+	},
+
+	convertGammaToLinear: function () {
+
+		var r = this.r, g = this.g, b = this.b;
+
+		this.r = r * r;
+		this.g = g * g;
+		this.b = b * b;
+
+		return this;
+
+	},
+
+	convertLinearToGamma: function () {
+
+		this.r = Math.sqrt( this.r );
+		this.g = Math.sqrt( this.g );
+		this.b = Math.sqrt( this.b );
+
+		return this;
+
+	},
+
+	getHex: function () {
+
+		return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0;
+
+	},
+
+	getHexString: function () {
+
+		return ( '000000' + this.getHex().toString( 16 ) ).slice( - 6 );
+
+	},
+
+	getHSL: function () {
+
+		var hsl = { h: 0, s: 0, l: 0 };
+
+		return function () {
+
+			// h,s,l ranges are in 0.0 - 1.0
+
+			var r = this.r, g = this.g, b = this.b;
+
+			var max = Math.max( r, g, b );
+			var min = Math.min( r, g, b );
+
+			var hue, saturation;
+			var lightness = ( min + max ) / 2.0;
+
+			if ( min === max ) {
+
+				hue = 0;
+				saturation = 0;
+
+			} else {
+
+				var delta = max - min;
+
+				saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );
+
+				switch ( max ) {
+
+					case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;
+					case g: hue = ( b - r ) / delta + 2; break;
+					case b: hue = ( r - g ) / delta + 4; break;
+
+				}
+
+				hue /= 6;
+
+			}
+
+			hsl.h = hue;
+			hsl.s = saturation;
+			hsl.l = lightness;
+
+			return hsl;
+
+		};
+
+	}(),
+
+	getStyle: function () {
+
+		return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')';
+
+	},
+
+	offsetHSL: function ( h, s, l ) {
+
+		var hsl = this.getHSL();
+
+		hsl.h += h; hsl.s += s; hsl.l += l;
+
+		this.setHSL( hsl.h, hsl.s, hsl.l );
+
+		return this;
+
+	},
+
+	add: function ( color ) {
+
+		this.r += color.r;
+		this.g += color.g;
+		this.b += color.b;
+
+		return this;
+
+	},
+
+	addColors: function ( color1, color2 ) {
+
+		this.r = color1.r + color2.r;
+		this.g = color1.g + color2.g;
+		this.b = color1.b + color2.b;
+
+		return this;
+
+	},
+
+	addScalar: function ( s ) {
+
+		this.r += s;
+		this.g += s;
+		this.b += s;
+
+		return this;
+
+	},
+
+	multiply: function ( color ) {
+
+		this.r *= color.r;
+		this.g *= color.g;
+		this.b *= color.b;
+
+		return this;
+
+	},
+
+	multiplyScalar: function ( s ) {
+
+		this.r *= s;
+		this.g *= s;
+		this.b *= s;
+
+		return this;
+
+	},
+
+	lerp: function ( color, alpha ) {
+
+		this.r += ( color.r - this.r ) * alpha;
+		this.g += ( color.g - this.g ) * alpha;
+		this.b += ( color.b - this.b ) * alpha;
+
+		return this;
+
+	},
+
+	clone: function () {
+
+		return new THREE.Color().setRGB( this.r, this.g, this.b );
+
+	}
+
+} );
+
+THREE.ColorKeywords = { "aliceblue": 0xF0F8FF, "antiquewhite": 0xFAEBD7, "aqua": 0x00FFFF, "aquamarine": 0x7FFFD4, "azure": 0xF0FFFF,
+"beige": 0xF5F5DC, "bisque": 0xFFE4C4, "black": 0x000000, "blanchedalmond": 0xFFEBCD, "blue": 0x0000FF, "blueviolet": 0x8A2BE2,
+"brown": 0xA52A2A, "burlywood": 0xDEB887, "cadetblue": 0x5F9EA0, "chartreuse": 0x7FFF00, "chocolate": 0xD2691E, "coral": 0xFF7F50,
+"cornflowerblue": 0x6495ED, "cornsilk": 0xFFF8DC, "crimson": 0xDC143C, "cyan": 0x00FFFF, "darkblue": 0x00008B, "darkcyan": 0x008B8B,
+"darkgoldenrod": 0xB8860B, "darkgray": 0xA9A9A9, "darkgreen": 0x006400, "darkgrey": 0xA9A9A9, "darkkhaki": 0xBDB76B, "darkmagenta": 0x8B008B,
+"darkolivegreen": 0x556B2F, "darkorange": 0xFF8C00, "darkorchid": 0x9932CC, "darkred": 0x8B0000, "darksalmon": 0xE9967A, "darkseagreen": 0x8FBC8F,
+"darkslateblue": 0x483D8B, "darkslategray": 0x2F4F4F, "darkslategrey": 0x2F4F4F, "darkturquoise": 0x00CED1, "darkviolet": 0x9400D3,
+"deeppink": 0xFF1493, "deepskyblue": 0x00BFFF, "dimgray": 0x696969, "dimgrey": 0x696969, "dodgerblue": 0x1E90FF, "firebrick": 0xB22222,
+"floralwhite": 0xFFFAF0, "forestgreen": 0x228B22, "fuchsia": 0xFF00FF, "gainsboro": 0xDCDCDC, "ghostwhite": 0xF8F8FF, "gold": 0xFFD700,
+"goldenrod": 0xDAA520, "gray": 0x808080, "green": 0x008000, "greenyellow": 0xADFF2F, "grey": 0x808080, "honeydew": 0xF0FFF0, "hotpink": 0xFF69B4,
+"indianred": 0xCD5C5C, "indigo": 0x4B0082, "ivory": 0xFFFFF0, "khaki": 0xF0E68C, "lavender": 0xE6E6FA, "lavenderblush": 0xFFF0F5, "lawngreen": 0x7CFC00,
+"lemonchiffon": 0xFFFACD, "lightblue": 0xADD8E6, "lightcoral": 0xF08080, "lightcyan": 0xE0FFFF, "lightgoldenrodyellow": 0xFAFAD2, "lightgray": 0xD3D3D3,
+"lightgreen": 0x90EE90, "lightgrey": 0xD3D3D3, "lightpink": 0xFFB6C1, "lightsalmon": 0xFFA07A, "lightseagreen": 0x20B2AA, "lightskyblue": 0x87CEFA,
+"lightslategray": 0x778899, "lightslategrey": 0x778899, "lightsteelblue": 0xB0C4DE, "lightyellow": 0xFFFFE0, "lime": 0x00FF00, "limegreen": 0x32CD32,
+"linen": 0xFAF0E6, "magenta": 0xFF00FF, "maroon": 0x800000, "mediumaquamarine": 0x66CDAA, "mediumblue": 0x0000CD, "mediumorchid": 0xBA55D3,
+"mediumpurple": 0x9370DB, "mediumseagreen": 0x3CB371, "mediumslateblue": 0x7B68EE, "mediumspringgreen": 0x00FA9A, "mediumturquoise": 0x48D1CC,
+"mediumvioletred": 0xC71585, "midnightblue": 0x191970, "mintcream": 0xF5FFFA, "mistyrose": 0xFFE4E1, "moccasin": 0xFFE4B5, "navajowhite": 0xFFDEAD,
+"navy": 0x000080, "oldlace": 0xFDF5E6, "olive": 0x808000, "olivedrab": 0x6B8E23, "orange": 0xFFA500, "orangered": 0xFF4500, "orchid": 0xDA70D6,
+"palegoldenrod": 0xEEE8AA, "palegreen": 0x98FB98, "paleturquoise": 0xAFEEEE, "palevioletred": 0xDB7093, "papayawhip": 0xFFEFD5, "peachpuff": 0xFFDAB9,
+"peru": 0xCD853F, "pink": 0xFFC0CB, "plum": 0xDDA0DD, "powderblue": 0xB0E0E6, "purple": 0x800080, "red": 0xFF0000, "rosybrown": 0xBC8F8F,
+"royalblue": 0x4169E1, "saddlebrown": 0x8B4513, "salmon": 0xFA8072, "sandybrown": 0xF4A460, "seagreen": 0x2E8B57, "seashell": 0xFFF5EE,
+"sienna": 0xA0522D, "silver": 0xC0C0C0, "skyblue": 0x87CEEB, "slateblue": 0x6A5ACD, "slategray": 0x708090, "slategrey": 0x708090, "snow": 0xFFFAFA,
+"springgreen": 0x00FF7F, "steelblue": 0x4682B4, "tan": 0xD2B48C, "teal": 0x008080, "thistle": 0xD8BFD8, "tomato": 0xFF6347, "turquoise": 0x40E0D0,
+"violet": 0xEE82EE, "wheat": 0xF5DEB3, "white": 0xFFFFFF, "whitesmoke": 0xF5F5F5, "yellow": 0xFFFF00, "yellowgreen": 0x9ACD32 };
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ * @author WestLangley / http://github.com/WestLangley
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Quaternion = function( x, y, z, w ) {
+
+	this.x = x || 0;
+	this.y = y || 0;
+	this.z = z || 0;
+	this.w = ( w !== undefined ) ? w : 1;
+
+};
+
+THREE.extend( THREE.Quaternion.prototype, {
+
+	set: function ( x, y, z, w ) {
+
+		this.x = x;
+		this.y = y;
+		this.z = z;
+		this.w = w;
+
+		return this;
+
+	},
+
+	copy: function ( q ) {
+
+		this.x = q.x;
+		this.y = q.y;
+		this.z = q.z;
+		this.w = q.w;
+
+		return this;
+
+	},
+
+	setFromEuler: function ( v, order ) {
+
+		// http://www.mathworks.com/matlabcentral/fileexchange/
+		// 	20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/
+		//	content/SpinCalc.m
+
+		var c1 = Math.cos( v.x / 2 );
+		var c2 = Math.cos( v.y / 2 );
+		var c3 = Math.cos( v.z / 2 );
+		var s1 = Math.sin( v.x / 2 );
+		var s2 = Math.sin( v.y / 2 );
+		var s3 = Math.sin( v.z / 2 );
+
+		if ( order === undefined || order === 'XYZ' ) {
+
+			this.x = s1 * c2 * c3 + c1 * s2 * s3;
+			this.y = c1 * s2 * c3 - s1 * c2 * s3;
+			this.z = c1 * c2 * s3 + s1 * s2 * c3;
+			this.w = c1 * c2 * c3 - s1 * s2 * s3;
+
+		} else if ( order === 'YXZ' ) {
+
+			this.x = s1 * c2 * c3 + c1 * s2 * s3;
+			this.y = c1 * s2 * c3 - s1 * c2 * s3;
+			this.z = c1 * c2 * s3 - s1 * s2 * c3;
+			this.w = c1 * c2 * c3 + s1 * s2 * s3;
+
+		} else if ( order === 'ZXY' ) {
+
+			this.x = s1 * c2 * c3 - c1 * s2 * s3;
+			this.y = c1 * s2 * c3 + s1 * c2 * s3;
+			this.z = c1 * c2 * s3 + s1 * s2 * c3;
+			this.w = c1 * c2 * c3 - s1 * s2 * s3;
+
+		} else if ( order === 'ZYX' ) {
+
+			this.x = s1 * c2 * c3 - c1 * s2 * s3;
+			this.y = c1 * s2 * c3 + s1 * c2 * s3;
+			this.z = c1 * c2 * s3 - s1 * s2 * c3;
+			this.w = c1 * c2 * c3 + s1 * s2 * s3;
+
+		} else if ( order === 'YZX' ) {
+
+			this.x = s1 * c2 * c3 + c1 * s2 * s3;
+			this.y = c1 * s2 * c3 + s1 * c2 * s3;
+			this.z = c1 * c2 * s3 - s1 * s2 * c3;
+			this.w = c1 * c2 * c3 - s1 * s2 * s3;
+
+		} else if ( order === 'XZY' ) {
+
+			this.x = s1 * c2 * c3 - c1 * s2 * s3;
+			this.y = c1 * s2 * c3 - s1 * c2 * s3;
+			this.z = c1 * c2 * s3 + s1 * s2 * c3;
+			this.w = c1 * c2 * c3 + s1 * s2 * s3;
+
+		}
+
+		return this;
+
+	},
+
+	setFromAxisAngle: function ( axis, angle ) {
+
+		// from http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm
+		// axis have to be normalized
+
+		var halfAngle = angle / 2,
+			s = Math.sin( halfAngle );
+
+		this.x = axis.x * s;
+		this.y = axis.y * s;
+		this.z = axis.z * s;
+		this.w = Math.cos( halfAngle );
+
+		return this;
+
+	},
+
+	setFromRotationMatrix: function ( m ) {
+
+		// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
+
+		// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
+
+		var te = m.elements,
+
+			m11 = te[0], m12 = te[4], m13 = te[8],
+			m21 = te[1], m22 = te[5], m23 = te[9],
+			m31 = te[2], m32 = te[6], m33 = te[10],
+
+			trace = m11 + m22 + m33,
+			s;
+
+		if ( trace > 0 ) {
+
+			s = 0.5 / Math.sqrt( trace + 1.0 );
+
+			this.w = 0.25 / s;
+			this.x = ( m32 - m23 ) * s;
+			this.y = ( m13 - m31 ) * s;
+			this.z = ( m21 - m12 ) * s;
+
+		} else if ( m11 > m22 && m11 > m33 ) {
+
+			s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 );
+
+			this.w = (m32 - m23 ) / s;
+			this.x = 0.25 * s;
+			this.y = (m12 + m21 ) / s;
+			this.z = (m13 + m31 ) / s;
+
+		} else if ( m22 > m33 ) {
+
+			s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 );
+
+			this.w = (m13 - m31 ) / s;
+			this.x = (m12 + m21 ) / s;
+			this.y = 0.25 * s;
+			this.z = (m23 + m32 ) / s;
+
+		} else {
+
+			s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 );
+
+			this.w = ( m21 - m12 ) / s;
+			this.x = ( m13 + m31 ) / s;
+			this.y = ( m23 + m32 ) / s;
+			this.z = 0.25 * s;
+
+		}
+
+		return this;
+
+	},
+
+	inverse: function () {
+
+		this.conjugate().normalize();
+
+		return this;
+
+	},
+
+	conjugate: function () {
+
+		this.x *= -1;
+		this.y *= -1;
+		this.z *= -1;
+
+		return this;
+
+	},
+
+	lengthSq: function () {
+
+		return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
+
+	},
+
+	length: function () {
+
+		return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w );
+
+	},
+
+	normalize: function () {
+
+		var l = this.length();
+
+		if ( l === 0 ) {
+
+			this.x = 0;
+			this.y = 0;
+			this.z = 0;
+			this.w = 1;
+
+		} else {
+
+			l = 1 / l;
+
+			this.x = this.x * l;
+			this.y = this.y * l;
+			this.z = this.z * l;
+			this.w = this.w * l;
+
+		}
+
+		return this;
+
+	},
+
+	multiply: function ( q, p ) {
+
+		if ( p !== undefined ) {
+
+			console.warn( 'DEPRECATED: Quaternion\'s .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.' );
+			return this.multiplyQuaternions( q, p );
+
+		}
+
+		return this.multiplyQuaternions( this, q );
+
+	},
+
+	multiplyQuaternions: function ( a, b ) {
+
+		// from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm
+
+		var qax = a.x, qay = a.y, qaz = a.z, qaw = a.w;
+		var qbx = b.x, qby = b.y, qbz = b.z, qbw = b.w;
+
+		this.x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby;
+		this.y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz;
+		this.z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx;
+		this.w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz;
+
+		return this;
+
+	},
+
+	multiplyVector3: function ( vector ) {
+
+		console.warn( 'DEPRECATED: Quaternion\'s .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.' );
+		return vector.applyQuaternion( this );
+
+	},
+
+	slerp: function ( qb, t ) {
+
+		var x = this.x, y = this.y, z = this.z, w = this.w;
+
+		// http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/
+
+		var cosHalfTheta = w * qb.w + x * qb.x + y * qb.y + z * qb.z;
+
+		if ( cosHalfTheta < 0 ) {
+
+			this.w = -qb.w;
+			this.x = -qb.x;
+			this.y = -qb.y;
+			this.z = -qb.z;
+
+			cosHalfTheta = -cosHalfTheta;
+
+		} else {
+
+			this.copy( qb );
+
+		}
+
+		if ( cosHalfTheta >= 1.0 ) {
+
+			this.w = w;
+			this.x = x;
+			this.y = y;
+			this.z = z;
+
+			return this;
+
+		}
+
+		var halfTheta = Math.acos( cosHalfTheta );
+		var sinHalfTheta = Math.sqrt( 1.0 - cosHalfTheta * cosHalfTheta );
+
+		if ( Math.abs( sinHalfTheta ) < 0.001 ) {
+
+			this.w = 0.5 * ( w + this.w );
+			this.x = 0.5 * ( x + this.x );
+			this.y = 0.5 * ( y + this.y );
+			this.z = 0.5 * ( z + this.z );
+
+			return this;
+
+		}
+
+		var ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta,
+		ratioB = Math.sin( t * halfTheta ) / sinHalfTheta;
+
+		this.w = ( w * ratioA + this.w * ratioB );
+		this.x = ( x * ratioA + this.x * ratioB );
+		this.y = ( y * ratioA + this.y * ratioB );
+		this.z = ( z * ratioA + this.z * ratioB );
+
+		return this;
+
+	},
+
+	equals: function ( v ) {
+
+		return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Quaternion( this.x, this.y, this.z, this.w );
+
+	}
+
+} );
+
+THREE.Quaternion.slerp = function ( qa, qb, qm, t ) {
+
+	return qm.copy( qa ).slerp( qb, t );
+
+}
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author philogb / http://blog.thejit.org/
+ * @author egraether / http://egraether.com/
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ */
+
+THREE.Vector2 = function ( x, y ) {
+
+	this.x = x || 0;
+	this.y = y || 0;
+
+};
+
+THREE.extend( THREE.Vector2.prototype, {
+
+	set: function ( x, y ) {
+
+		this.x = x;
+		this.y = y;
+
+		return this;
+
+	},
+
+	setX: function ( x ) {
+
+		this.x = x;
+
+		return this;
+
+	},
+
+	setY: function ( y ) {
+
+		this.y = y;
+
+		return this;
+
+	},
+
+
+	setComponent: function ( index, value ) {
+
+		switch ( index ) {
+
+			case 0: this.x = value; break;
+			case 1: this.y = value; break;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	getComponent: function ( index ) {
+
+		switch ( index ) {
+
+			case 0: return this.x;
+			case 1: return this.y;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	copy: function ( v ) {
+
+		this.x = v.x;
+		this.y = v.y;
+
+		return this;
+
+	},
+
+	add: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector2\'s .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
+			return this.addVectors( v, w );
+
+		}
+
+		this.x += v.x;
+		this.y += v.y;
+
+		return this;
+
+	},
+
+	addVectors: function ( a, b ) {
+
+		this.x = a.x + b.x;
+		this.y = a.y + b.y;
+
+		return this;
+
+	},
+
+	addScalar: function ( s ) {
+
+		this.x += s;
+		this.y += s;
+
+		return this;
+
+	},
+
+	sub: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector2\'s .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' );
+			return this.subVectors( v, w );
+
+		}
+
+		this.x -= v.x;
+		this.y -= v.y;
+
+		return this;
+
+	},
+
+	subVectors: function ( a, b ) {
+
+		this.x = a.x - b.x;
+		this.y = a.y - b.y;
+
+		return this;
+
+	},
+
+	multiplyScalar: function ( s ) {
+
+		this.x *= s;
+		this.y *= s;
+
+		return this;
+
+	},
+
+	divideScalar: function ( s ) {
+
+		if ( s !== 0 ) {
+
+			this.x /= s;
+			this.y /= s;
+
+		} else {
+
+			this.set( 0, 0 );
+
+		}
+
+		return this;
+
+	},
+
+	min: function ( v ) {
+
+		if ( this.x > v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y > v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		return this;
+
+	},
+
+	max: function ( v ) {
+
+		if ( this.x < v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y < v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		return this;
+
+	},
+
+	clamp: function ( min, max ) {
+
+		// This function assumes min < max, if this assumption isn't true it will not operate correctly
+
+		if ( this.x < min.x ) {
+
+			this.x = min.x;
+
+		} else if ( this.x > max.x ) {
+
+			this.x = max.x;
+
+		}
+
+		if ( this.y < min.y ) {
+
+			this.y = min.y;
+
+		} else if ( this.y > max.y ) {
+
+			this.y = max.y;
+
+		}
+
+		return this;
+
+	},
+
+	negate: function() {
+
+		return this.multiplyScalar( - 1 );
+
+	},
+
+	dot: function ( v ) {
+
+		return this.x * v.x + this.y * v.y;
+
+	},
+
+	lengthSq: function () {
+
+		return this.x * this.x + this.y * this.y;
+
+	},
+
+	length: function () {
+
+		return Math.sqrt( this.x * this.x + this.y * this.y );
+
+	},
+
+	normalize: function () {
+
+		return this.divideScalar( this.length() );
+
+	},
+
+	distanceTo: function ( v ) {
+
+		return Math.sqrt( this.distanceToSquared( v ) );
+
+	},
+
+	distanceToSquared: function ( v ) {
+
+		var dx = this.x - v.x, dy = this.y - v.y;
+		return dx * dx + dy * dy;
+
+	},
+
+	setLength: function ( l ) {
+
+		var oldLength = this.length();
+
+		if ( oldLength !== 0 && l !== oldLength ) {
+
+			this.multiplyScalar( l / oldLength );
+		}
+
+		return this;
+
+	},
+
+	lerp: function ( v, alpha ) {
+
+		this.x += ( v.x - this.x ) * alpha;
+		this.y += ( v.y - this.y ) * alpha;
+
+		return this;
+
+	},
+
+	equals: function( v ) {
+
+		return ( ( v.x === this.x ) && ( v.y === this.y ) );
+
+	},
+
+	toArray: function () {
+
+		return [ this.x, this.y ];
+		
+	},
+
+	clone: function () {
+
+		return new THREE.Vector2( this.x, this.y );
+
+	}
+
+} );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author *kile / http://kile.stravaganza.org/
+ * @author philogb / http://blog.thejit.org/
+ * @author mikael emtinger / http://gomo.se/
+ * @author egraether / http://egraether.com/
+ * @author WestLangley / http://github.com/WestLangley
+ */
+
+THREE.Vector3 = function ( x, y, z ) {
+
+	this.x = x || 0;
+	this.y = y || 0;
+	this.z = z || 0;
+
+};
+
+THREE.extend( THREE.Vector3.prototype, {
+
+	set: function ( x, y, z ) {
+
+		this.x = x;
+		this.y = y;
+		this.z = z;
+
+		return this;
+
+	},
+
+	setX: function ( x ) {
+
+		this.x = x;
+
+		return this;
+
+	},
+
+	setY: function ( y ) {
+
+		this.y = y;
+
+		return this;
+
+	},
+
+	setZ: function ( z ) {
+
+		this.z = z;
+
+		return this;
+
+	},
+
+	setComponent: function ( index, value ) {
+
+		switch ( index ) {
+
+			case 0: this.x = value; break;
+			case 1: this.y = value; break;
+			case 2: this.z = value; break;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	getComponent: function ( index ) {
+
+		switch ( index ) {
+
+			case 0: return this.x;
+			case 1: return this.y;
+			case 2: return this.z;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	copy: function ( v ) {
+
+		this.x = v.x;
+		this.y = v.y;
+		this.z = v.z;
+
+		return this;
+
+	},
+
+	add: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector3\'s .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
+			return this.addVectors( v, w );
+
+		}
+
+		this.x += v.x;
+		this.y += v.y;
+		this.z += v.z;
+
+		return this;
+
+	},
+
+	addScalar: function ( s ) {
+
+		this.x += s;
+		this.y += s;
+		this.z += s;
+
+		return this;
+
+	},
+
+	addVectors: function ( a, b ) {
+
+		this.x = a.x + b.x;
+		this.y = a.y + b.y;
+		this.z = a.z + b.z;
+
+		return this;
+
+	},
+
+	sub: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector3\'s .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' );
+			return this.subVectors( v, w );
+
+		}
+
+		this.x -= v.x;
+		this.y -= v.y;
+		this.z -= v.z;
+
+		return this;
+
+	},
+
+	subVectors: function ( a, b ) {
+
+		this.x = a.x - b.x;
+		this.y = a.y - b.y;
+		this.z = a.z - b.z;
+
+		return this;
+
+	},
+
+	multiply: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector3\'s .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' );
+			return this.multiplyVectors( v, w );
+
+		}
+
+		this.x *= v.x;
+		this.y *= v.y;
+		this.z *= v.z;
+
+		return this;
+
+	},
+
+	multiplyScalar: function ( s ) {
+
+		this.x *= s;
+		this.y *= s;
+		this.z *= s;
+
+		return this;
+
+	},
+
+	multiplyVectors: function ( a, b ) {
+
+		this.x = a.x * b.x;
+		this.y = a.y * b.y;
+		this.z = a.z * b.z;
+
+		return this;
+
+	},
+
+	applyMatrix3: function ( m ) {
+
+		var x = this.x;
+		var y = this.y;
+		var z = this.z;
+
+		var e = m.elements;
+
+		this.x = e[0] * x + e[3] * y + e[6] * z;
+		this.y = e[1] * x + e[4] * y + e[7] * z;
+		this.z = e[2] * x + e[5] * y + e[8] * z;
+
+		return this;
+
+	},
+
+	applyMatrix4: function ( m ) {
+
+		// input: THREE.Matrix4 affine matrix
+
+		var x = this.x, y = this.y, z = this.z;
+
+		var e = m.elements;
+
+		this.x = e[0] * x + e[4] * y + e[8]  * z + e[12];
+		this.y = e[1] * x + e[5] * y + e[9]  * z + e[13];
+		this.z = e[2] * x + e[6] * y + e[10] * z + e[14];
+
+		return this;
+
+	},
+
+	applyProjection: function ( m ) {
+
+		// input: THREE.Matrix4 projection matrix
+
+		var x = this.x, y = this.y, z = this.z;
+
+		var e = m.elements;
+		var d = 1 / ( e[3] * x + e[7] * y + e[11] * z + e[15] ); // perspective divide
+
+		this.x = ( e[0] * x + e[4] * y + e[8]  * z + e[12] ) * d;
+		this.y = ( e[1] * x + e[5] * y + e[9]  * z + e[13] ) * d;
+		this.z = ( e[2] * x + e[6] * y + e[10] * z + e[14] ) * d;
+
+		return this;
+
+	},
+
+	applyQuaternion: function ( q ) {
+
+		var x = this.x;
+		var y = this.y;
+		var z = this.z;
+
+		var qx = q.x;
+		var qy = q.y;
+		var qz = q.z;
+		var qw = q.w;
+
+		// calculate quat * vector
+
+		var ix =  qw * x + qy * z - qz * y;
+		var iy =  qw * y + qz * x - qx * z;
+		var iz =  qw * z + qx * y - qy * x;
+		var iw = -qx * x - qy * y - qz * z;
+
+		// calculate result * inverse quat
+
+		this.x = ix * qw + iw * -qx + iy * -qz - iz * -qy;
+		this.y = iy * qw + iw * -qy + iz * -qx - ix * -qz;
+		this.z = iz * qw + iw * -qz + ix * -qy - iy * -qx;
+
+		return this;
+
+	},
+
+	applyEuler: function () {
+
+		var q1 = new THREE.Quaternion();
+
+		return function ( v, eulerOrder ) {
+
+			var quaternion = q1.setFromEuler( v, eulerOrder );
+
+			this.applyQuaternion( quaternion );
+
+			return this;
+
+		};
+
+	}(),
+
+	applyAxisAngle: function () {
+
+		var q1 = new THREE.Quaternion();
+
+		return function ( axis, angle ) {
+
+			var quaternion = q1.setFromAxisAngle( axis, angle );
+
+			this.applyQuaternion( quaternion );
+
+			return this;
+
+		};
+
+	}(),
+
+	transformDirection: function ( m ) {
+
+		// input: THREE.Matrix4 affine matrix
+		// vector interpreted as a direction
+
+		var x = this.x, y = this.y, z = this.z;
+
+		var e = m.elements;
+
+		this.x = e[0] * x + e[4] * y + e[8]  * z;
+		this.y = e[1] * x + e[5] * y + e[9]  * z;
+		this.z = e[2] * x + e[6] * y + e[10] * z;
+
+		this.normalize();
+
+		return this;
+
+	},
+
+	divide: function ( v ) {
+
+		this.x /= v.x;
+		this.y /= v.y;
+		this.z /= v.z;
+
+		return this;
+
+	},
+
+	divideScalar: function ( s ) {
+
+		if ( s !== 0 ) {
+
+			this.x /= s;
+			this.y /= s;
+			this.z /= s;
+
+		} else {
+
+			this.x = 0;
+			this.y = 0;
+			this.z = 0;
+
+		}
+
+		return this;
+
+	},
+
+	min: function ( v ) {
+
+		if ( this.x > v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y > v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		if ( this.z > v.z ) {
+
+			this.z = v.z;
+
+		}
+
+		return this;
+
+	},
+
+	max: function ( v ) {
+
+		if ( this.x < v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y < v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		if ( this.z < v.z ) {
+
+			this.z = v.z;
+
+		}
+
+		return this;
+
+	},
+
+	clamp: function ( min, max ) {
+
+		// This function assumes min < max, if this assumption isn't true it will not operate correctly
+
+		if ( this.x < min.x ) {
+
+			this.x = min.x;
+
+		} else if ( this.x > max.x ) {
+
+			this.x = max.x;
+
+		}
+
+		if ( this.y < min.y ) {
+
+			this.y = min.y;
+
+		} else if ( this.y > max.y ) {
+
+			this.y = max.y;
+
+		}
+
+		if ( this.z < min.z ) {
+
+			this.z = min.z;
+
+		} else if ( this.z > max.z ) {
+
+			this.z = max.z;
+
+		}
+
+		return this;
+
+	},
+
+	negate: function () {
+
+		return this.multiplyScalar( - 1 );
+
+	},
+
+	dot: function ( v ) {
+
+		return this.x * v.x + this.y * v.y + this.z * v.z;
+
+	},
+
+	lengthSq: function () {
+
+		return this.x * this.x + this.y * this.y + this.z * this.z;
+
+	},
+
+	length: function () {
+
+		return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z );
+
+	},
+
+	lengthManhattan: function () {
+
+		return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z );
+
+	},
+
+	normalize: function () {
+
+		return this.divideScalar( this.length() );
+
+	},
+
+	setLength: function ( l ) {
+
+		var oldLength = this.length();
+
+		if ( oldLength !== 0 && l !== oldLength  ) {
+
+			this.multiplyScalar( l / oldLength );
+		}
+
+		return this;
+
+	},
+
+	lerp: function ( v, alpha ) {
+
+		this.x += ( v.x - this.x ) * alpha;
+		this.y += ( v.y - this.y ) * alpha;
+		this.z += ( v.z - this.z ) * alpha;
+
+		return this;
+
+	},
+
+	cross: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector3\'s .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.' );
+			return this.crossVectors( v, w );
+
+		}
+
+		var x = this.x, y = this.y, z = this.z;
+
+		this.x = y * v.z - z * v.y;
+		this.y = z * v.x - x * v.z;
+		this.z = x * v.y - y * v.x;
+
+		return this;
+
+	},
+
+	crossVectors: function ( a, b ) {
+
+		this.x = a.y * b.z - a.z * b.y;
+		this.y = a.z * b.x - a.x * b.z;
+		this.z = a.x * b.y - a.y * b.x;
+
+		return this;
+
+	},
+
+	projectOnVector: function () {
+
+		var v1 = new THREE.Vector3();
+
+		return function( vector ) {
+
+			v1.copy( vector ).normalize();
+			var d = this.dot( v1 );
+			return this.copy( v1 ).multiplyScalar( d );
+
+		};
+
+	}(),
+
+	projectOnPlane: function () {
+
+		var v1 = new THREE.Vector3();
+
+		return function( planeNormal ) {
+
+			v1.copy( this ).projectOnVector( planeNormal );
+
+			return this.sub( v1 );
+
+		}
+
+	}(),
+
+	reflect: function () {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( vector ) {
+
+		    v1.copy( this ).projectOnVector( vector ).multiplyScalar( 2 );
+
+		    return this.subVectors( v1, this );
+
+		}
+
+	}(),
+
+	angleTo: function ( v ) {
+
+		var theta = this.dot( v ) / ( this.length() * v.length() );
+
+		// clamp, to handle numerical problems
+
+		return Math.acos( THREE.Math.clamp( theta, -1, 1 ) );
+
+	},
+
+	distanceTo: function ( v ) {
+
+		return Math.sqrt( this.distanceToSquared( v ) );
+
+	},
+
+	distanceToSquared: function ( v ) {
+
+		var dx = this.x - v.x;
+		var dy = this.y - v.y;
+		var dz = this.z - v.z;
+
+		return dx * dx + dy * dy + dz * dz;
+
+	},
+
+	getPositionFromMatrix: function ( m ) {
+
+		this.x = m.elements[12];
+		this.y = m.elements[13];
+		this.z = m.elements[14];
+
+		return this;
+
+	},
+
+	setEulerFromRotationMatrix: function ( m, order ) {
+
+		// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
+
+		// clamp, to handle numerical problems
+
+		function clamp( x ) {
+
+			return Math.min( Math.max( x, -1 ), 1 );
+
+		}
+
+		var te = m.elements;
+		var m11 = te[0], m12 = te[4], m13 = te[8];
+		var m21 = te[1], m22 = te[5], m23 = te[9];
+		var m31 = te[2], m32 = te[6], m33 = te[10];
+
+		if ( order === undefined || order === 'XYZ' ) {
+
+			this.y = Math.asin( clamp( m13 ) );
+
+			if ( Math.abs( m13 ) < 0.99999 ) {
+
+				this.x = Math.atan2( - m23, m33 );
+				this.z = Math.atan2( - m12, m11 );
+
+			} else {
+
+				this.x = Math.atan2( m32, m22 );
+				this.z = 0;
+
+			}
+
+		} else if ( order === 'YXZ' ) {
+
+			this.x = Math.asin( - clamp( m23 ) );
+
+			if ( Math.abs( m23 ) < 0.99999 ) {
+
+				this.y = Math.atan2( m13, m33 );
+				this.z = Math.atan2( m21, m22 );
+
+			} else {
+
+				this.y = Math.atan2( - m31, m11 );
+				this.z = 0;
+
+			}
+
+		} else if ( order === 'ZXY' ) {
+
+			this.x = Math.asin( clamp( m32 ) );
+
+			if ( Math.abs( m32 ) < 0.99999 ) {
+
+				this.y = Math.atan2( - m31, m33 );
+				this.z = Math.atan2( - m12, m22 );
+
+			} else {
+
+				this.y = 0;
+				this.z = Math.atan2( m21, m11 );
+
+			}
+
+		} else if ( order === 'ZYX' ) {
+
+			this.y = Math.asin( - clamp( m31 ) );
+
+			if ( Math.abs( m31 ) < 0.99999 ) {
+
+				this.x = Math.atan2( m32, m33 );
+				this.z = Math.atan2( m21, m11 );
+
+			} else {
+
+				this.x = 0;
+				this.z = Math.atan2( - m12, m22 );
+
+			}
+
+		} else if ( order === 'YZX' ) {
+
+			this.z = Math.asin( clamp( m21 ) );
+
+			if ( Math.abs( m21 ) < 0.99999 ) {
+
+				this.x = Math.atan2( - m23, m22 );
+				this.y = Math.atan2( - m31, m11 );
+
+			} else {
+
+				this.x = 0;
+				this.y = Math.atan2( m13, m33 );
+
+			}
+
+		} else if ( order === 'XZY' ) {
+
+			this.z = Math.asin( - clamp( m12 ) );
+
+			if ( Math.abs( m12 ) < 0.99999 ) {
+
+				this.x = Math.atan2( m32, m22 );
+				this.y = Math.atan2( m13, m11 );
+
+			} else {
+
+				this.x = Math.atan2( - m23, m33 );
+				this.y = 0;
+
+			}
+
+		}
+
+		return this;
+
+	},
+
+	setEulerFromQuaternion: function ( q, order ) {
+
+		// q is assumed to be normalized
+
+		// clamp, to handle numerical problems
+
+		function clamp( x ) {
+
+			return Math.min( Math.max( x, -1 ), 1 );
+
+		}
+
+		// http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
+
+		var sqx = q.x * q.x;
+		var sqy = q.y * q.y;
+		var sqz = q.z * q.z;
+		var sqw = q.w * q.w;
+
+		if ( order === undefined || order === 'XYZ' ) {
+
+			this.x = Math.atan2( 2 * ( q.x * q.w - q.y * q.z ), ( sqw - sqx - sqy + sqz ) );
+			this.y = Math.asin(  clamp( 2 * ( q.x * q.z + q.y * q.w ) ) );
+			this.z = Math.atan2( 2 * ( q.z * q.w - q.x * q.y ), ( sqw + sqx - sqy - sqz ) );
+
+		} else if ( order ===  'YXZ' ) {
+
+			this.x = Math.asin(  clamp( 2 * ( q.x * q.w - q.y * q.z ) ) );
+			this.y = Math.atan2( 2 * ( q.x * q.z + q.y * q.w ), ( sqw - sqx - sqy + sqz ) );
+			this.z = Math.atan2( 2 * ( q.x * q.y + q.z * q.w ), ( sqw - sqx + sqy - sqz ) );
+
+		} else if ( order === 'ZXY' ) {
+
+			this.x = Math.asin(  clamp( 2 * ( q.x * q.w + q.y * q.z ) ) );
+			this.y = Math.atan2( 2 * ( q.y * q.w - q.z * q.x ), ( sqw - sqx - sqy + sqz ) );
+			this.z = Math.atan2( 2 * ( q.z * q.w - q.x * q.y ), ( sqw - sqx + sqy - sqz ) );
+
+		} else if ( order === 'ZYX' ) {
+
+			this.x = Math.atan2( 2 * ( q.x * q.w + q.z * q.y ), ( sqw - sqx - sqy + sqz ) );
+			this.y = Math.asin(  clamp( 2 * ( q.y * q.w - q.x * q.z ) ) );
+			this.z = Math.atan2( 2 * ( q.x * q.y + q.z * q.w ), ( sqw + sqx - sqy - sqz ) );
+
+		} else if ( order === 'YZX' ) {
+
+			this.x = Math.atan2( 2 * ( q.x * q.w - q.z * q.y ), ( sqw - sqx + sqy - sqz ) );
+			this.y = Math.atan2( 2 * ( q.y * q.w - q.x * q.z ), ( sqw + sqx - sqy - sqz ) );
+			this.z = Math.asin(  clamp( 2 * ( q.x * q.y + q.z * q.w ) ) );
+
+		} else if ( order === 'XZY' ) {
+
+			this.x = Math.atan2( 2 * ( q.x * q.w + q.y * q.z ), ( sqw - sqx + sqy - sqz ) );
+			this.y = Math.atan2( 2 * ( q.x * q.z + q.y * q.w ), ( sqw + sqx - sqy - sqz ) );
+			this.z = Math.asin(  clamp( 2 * ( q.z * q.w - q.x * q.y ) ) );
+
+		}
+
+		return this;
+
+	},
+
+	getScaleFromMatrix: function ( m ) {
+
+		var sx = this.set( m.elements[0], m.elements[1], m.elements[2] ).length();
+		var sy = this.set( m.elements[4], m.elements[5], m.elements[6] ).length();
+		var sz = this.set( m.elements[8], m.elements[9], m.elements[10] ).length();
+
+		this.x = sx;
+		this.y = sy;
+		this.z = sz;
+
+		return this;
+	},
+
+	equals: function ( v ) {
+
+		return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) );
+
+	},
+
+	toArray: function () {
+
+		return [ this.x, this.y, this.z ];
+		
+	},
+
+	clone: function () {
+
+		return new THREE.Vector3( this.x, this.y, this.z );
+
+	}
+
+} );
+/**
+ * @author supereggbert / http://www.paulbrunt.co.uk/
+ * @author philogb / http://blog.thejit.org/
+ * @author mikael emtinger / http://gomo.se/
+ * @author egraether / http://egraether.com/
+ * @author WestLangley / http://github.com/WestLangley
+ */
+
+THREE.Vector4 = function ( x, y, z, w ) {
+
+	this.x = x || 0;
+	this.y = y || 0;
+	this.z = z || 0;
+	this.w = ( w !== undefined ) ? w : 1;
+
+};
+
+THREE.extend( THREE.Vector4.prototype, {
+
+	set: function ( x, y, z, w ) {
+
+		this.x = x;
+		this.y = y;
+		this.z = z;
+		this.w = w;
+
+		return this;
+
+	},
+
+	setX: function ( x ) {
+
+		this.x = x;
+
+		return this;
+
+	},
+
+	setY: function ( y ) {
+
+		this.y = y;
+
+		return this;
+
+	},
+
+	setZ: function ( z ) {
+
+		this.z = z;
+
+		return this;
+
+	},
+
+	setW: function ( w ) {
+
+		this.w = w;
+
+		return this;
+
+	},
+
+	setComponent: function ( index, value ) {
+
+		switch ( index ) {
+
+			case 0: this.x = value; break;
+			case 1: this.y = value; break;
+			case 2: this.z = value; break;
+			case 3: this.w = value; break;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	getComponent: function ( index ) {
+
+		switch ( index ) {
+
+			case 0: return this.x;
+			case 1: return this.y;
+			case 2: return this.z;
+			case 3: return this.w;
+			default: throw new Error( "index is out of range: " + index );
+
+		}
+
+	},
+
+	copy: function ( v ) {
+
+		this.x = v.x;
+		this.y = v.y;
+		this.z = v.z;
+		this.w = ( v.w !== undefined ) ? v.w : 1;
+
+		return this;
+
+	},
+
+	add: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector4\'s .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
+			return this.addVectors( v, w );
+
+		}
+
+		this.x += v.x;
+		this.y += v.y;
+		this.z += v.z;
+		this.w += v.w;
+
+		return this;
+
+	},
+
+	addScalar: function ( s ) {
+
+		this.x += s;
+		this.y += s;
+		this.z += s;
+		this.w += s;
+
+		return this;
+
+	},
+
+	addVectors: function ( a, b ) {
+
+		this.x = a.x + b.x;
+		this.y = a.y + b.y;
+		this.z = a.z + b.z;
+		this.w = a.w + b.w;
+
+		return this;
+
+	},
+
+	sub: function ( v, w ) {
+
+		if ( w !== undefined ) {
+
+			console.warn( 'DEPRECATED: Vector4\'s .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' );
+			return this.subVectors( v, w );
+
+		}
+
+		this.x -= v.x;
+		this.y -= v.y;
+		this.z -= v.z;
+		this.w -= v.w;
+
+		return this;
+
+	},
+
+	subVectors: function ( a, b ) {
+
+		this.x = a.x - b.x;
+		this.y = a.y - b.y;
+		this.z = a.z - b.z;
+		this.w = a.w - b.w;
+
+		return this;
+
+	},
+
+	multiplyScalar: function ( s ) {
+
+		this.x *= s;
+		this.y *= s;
+		this.z *= s;
+		this.w *= s;
+
+		return this;
+
+	},
+
+	applyMatrix4: function ( m ) {
+
+		var x = this.x;
+		var y = this.y;
+		var z = this.z;
+		var w = this.w;
+
+		var e = m.elements;
+
+		this.x = e[0] * x + e[4] * y + e[8] * z + e[12] * w;
+		this.y = e[1] * x + e[5] * y + e[9] * z + e[13] * w;
+		this.z = e[2] * x + e[6] * y + e[10] * z + e[14] * w;
+		this.w = e[3] * x + e[7] * y + e[11] * z + e[15] * w;
+
+		return this;
+
+	},
+
+	divideScalar: function ( s ) {
+
+		if ( s !== 0 ) {
+
+			this.x /= s;
+			this.y /= s;
+			this.z /= s;
+			this.w /= s;
+
+		} else {
+
+			this.x = 0;
+			this.y = 0;
+			this.z = 0;
+			this.w = 1;
+
+		}
+
+		return this;
+
+	},
+
+	setAxisAngleFromQuaternion: function ( q ) {
+
+		// http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm
+
+		// q is assumed to be normalized
+
+		this.w = 2 * Math.acos( q.w );
+
+		var s = Math.sqrt( 1 - q.w * q.w );
+
+		if ( s < 0.0001 ) {
+
+			 this.x = 1;
+			 this.y = 0;
+			 this.z = 0;
+
+		} else {
+
+			 this.x = q.x / s;
+			 this.y = q.y / s;
+			 this.z = q.z / s;
+
+		}
+
+		return this;
+
+	},
+
+	setAxisAngleFromRotationMatrix: function ( m ) {
+
+		// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm
+
+		// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
+
+		var angle, x, y, z,		// variables for result
+			epsilon = 0.01,		// margin to allow for rounding errors
+			epsilon2 = 0.1,		// margin to distinguish between 0 and 180 degrees
+
+			te = m.elements,
+
+			m11 = te[0], m12 = te[4], m13 = te[8],
+			m21 = te[1], m22 = te[5], m23 = te[9],
+			m31 = te[2], m32 = te[6], m33 = te[10];
+
+		if ( ( Math.abs( m12 - m21 ) < epsilon )
+		  && ( Math.abs( m13 - m31 ) < epsilon )
+		  && ( Math.abs( m23 - m32 ) < epsilon ) ) {
+
+			// singularity found
+			// first check for identity matrix which must have +1 for all terms
+			// in leading diagonal and zero in other terms
+
+			if ( ( Math.abs( m12 + m21 ) < epsilon2 )
+			  && ( Math.abs( m13 + m31 ) < epsilon2 )
+			  && ( Math.abs( m23 + m32 ) < epsilon2 )
+			  && ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) {
+
+				// this singularity is identity matrix so angle = 0
+
+				this.set( 1, 0, 0, 0 );
+
+				return this; // zero angle, arbitrary axis
+
+			}
+
+			// otherwise this singularity is angle = 180
+
+			angle = Math.PI;
+
+			var xx = ( m11 + 1 ) / 2;
+			var yy = ( m22 + 1 ) / 2;
+			var zz = ( m33 + 1 ) / 2;
+			var xy = ( m12 + m21 ) / 4;
+			var xz = ( m13 + m31 ) / 4;
+			var yz = ( m23 + m32 ) / 4;
+
+			if ( ( xx > yy ) && ( xx > zz ) ) { // m11 is the largest diagonal term
+
+				if ( xx < epsilon ) {
+
+					x = 0;
+					y = 0.707106781;
+					z = 0.707106781;
+
+				} else {
+
+					x = Math.sqrt( xx );
+					y = xy / x;
+					z = xz / x;
+
+				}
+
+			} else if ( yy > zz ) { // m22 is the largest diagonal term
+
+				if ( yy < epsilon ) {
+
+					x = 0.707106781;
+					y = 0;
+					z = 0.707106781;
+
+				} else {
+
+					y = Math.sqrt( yy );
+					x = xy / y;
+					z = yz / y;
+
+				}
+
+			} else { // m33 is the largest diagonal term so base result on this
+
+				if ( zz < epsilon ) {
+
+					x = 0.707106781;
+					y = 0.707106781;
+					z = 0;
+
+				} else {
+
+					z = Math.sqrt( zz );
+					x = xz / z;
+					y = yz / z;
+
+				}
+
+			}
+
+			this.set( x, y, z, angle );
+
+			return this; // return 180 deg rotation
+
+		}
+
+		// as we have reached here there are no singularities so we can handle normally
+
+		var s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 )
+						 + ( m13 - m31 ) * ( m13 - m31 )
+						 + ( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize
+
+		if ( Math.abs( s ) < 0.001 ) s = 1;
+
+		// prevent divide by zero, should not happen if matrix is orthogonal and should be
+		// caught by singularity test above, but I've left it in just in case
+
+		this.x = ( m32 - m23 ) / s;
+		this.y = ( m13 - m31 ) / s;
+		this.z = ( m21 - m12 ) / s;
+		this.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 );
+
+		return this;
+
+	},
+
+	min: function ( v ) {
+
+		if ( this.x > v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y > v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		if ( this.z > v.z ) {
+
+			this.z = v.z;
+
+		}
+
+		if ( this.w > v.w ) {
+
+			this.w = v.w;
+
+		}
+
+		return this;
+
+	},
+
+	max: function ( v ) {
+
+		if ( this.x < v.x ) {
+
+			this.x = v.x;
+
+		}
+
+		if ( this.y < v.y ) {
+
+			this.y = v.y;
+
+		}
+
+		if ( this.z < v.z ) {
+
+			this.z = v.z;
+
+		}
+
+		if ( this.w < v.w ) {
+
+			this.w = v.w;
+
+		}
+
+		return this;
+
+	},
+
+	clamp: function ( min, max ) {
+
+		// This function assumes min < max, if this assumption isn't true it will not operate correctly
+
+		if ( this.x < min.x ) {
+
+			this.x = min.x;
+
+		} else if ( this.x > max.x ) {
+
+			this.x = max.x;
+
+		}
+
+		if ( this.y < min.y ) {
+
+			this.y = min.y;
+
+		} else if ( this.y > max.y ) {
+
+			this.y = max.y;
+
+		}
+
+		if ( this.z < min.z ) {
+
+			this.z = min.z;
+
+		} else if ( this.z > max.z ) {
+
+			this.z = max.z;
+
+		}
+
+		if ( this.w < min.w ) {
+
+			this.w = min.w;
+
+		} else if ( this.w > max.w ) {
+
+			this.w = max.w;
+
+		}
+
+		return this;
+
+	},
+
+	negate: function() {
+
+		return this.multiplyScalar( -1 );
+
+	},
+
+	dot: function ( v ) {
+
+		return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w;
+
+	},
+
+	lengthSq: function () {
+
+		return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
+
+	},
+
+	length: function () {
+
+		return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w );
+
+	},
+
+	lengthManhattan: function () {
+
+		return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w );
+
+	},
+
+	normalize: function () {
+
+		return this.divideScalar( this.length() );
+
+	},
+
+	setLength: function ( l ) {
+
+		var oldLength = this.length();
+
+		if ( oldLength !== 0 && l !== oldLength ) {
+
+			this.multiplyScalar( l / oldLength );
+		}
+
+		return this;
+
+	},
+
+	lerp: function ( v, alpha ) {
+
+		this.x += ( v.x - this.x ) * alpha;
+		this.y += ( v.y - this.y ) * alpha;
+		this.z += ( v.z - this.z ) * alpha;
+		this.w += ( v.w - this.w ) * alpha;
+
+		return this;
+
+	},
+
+	equals: function ( v ) {
+
+		return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) );
+
+	},
+
+	toArray: function () {
+
+		return [ this.x, this.y, this.z, this.w ];
+		
+	},
+
+	clone: function () {
+
+		return new THREE.Vector4( this.x, this.y, this.z, this.w );
+
+	}
+
+} );
+/**
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Box2 = function ( min, max ) {
+
+	this.min = ( min !== undefined ) ? min : new THREE.Vector2( Infinity, Infinity );
+	this.max = ( max !== undefined ) ? max : new THREE.Vector2( -Infinity, -Infinity );
+
+};
+
+THREE.extend( THREE.Box2.prototype, {
+
+	set: function ( min, max ) {
+
+		this.min.copy( min );
+		this.max.copy( max );
+
+		return this;
+
+	},
+
+	setFromPoints: function ( points ) {
+
+		if ( points.length > 0 ) {
+
+			var point = points[ 0 ];
+
+			this.min.copy( point );
+			this.max.copy( point );
+
+			for ( var i = 1, il = points.length; i < il; i ++ ) {
+
+				point = points[ i ];
+
+				if ( point.x < this.min.x ) {
+
+					this.min.x = point.x;
+
+				} else if ( point.x > this.max.x ) {
+
+					this.max.x = point.x;
+
+				}
+
+				if ( point.y < this.min.y ) {
+
+					this.min.y = point.y;
+
+				} else if ( point.y > this.max.y ) {
+
+					this.max.y = point.y;
+
+				}
+
+			}
+
+		} else {
+
+			this.makeEmpty();
+
+		}
+
+		return this;
+
+	},
+
+	setFromCenterAndSize: function() {
+
+		var v1 = new THREE.Vector2();
+
+		return function ( center, size ) {
+
+			var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
+			this.min.copy( center ).sub( halfSize );
+			this.max.copy( center ).add( halfSize );
+
+			return this;
+
+		};
+
+	}(),
+
+	copy: function ( box ) {
+
+		this.min.copy( box.min );
+		this.max.copy( box.max );
+
+		return this;
+
+	},
+
+	makeEmpty: function () {
+
+		this.min.x = this.min.y = Infinity;
+		this.max.x = this.max.y = -Infinity;
+
+		return this;
+
+	},
+
+	empty: function () {
+
+		// this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes
+
+		return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y );
+
+	},
+
+	center: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector2();
+		return result.addVectors( this.min, this.max ).multiplyScalar( 0.5 );
+
+	},
+
+	size: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector2();
+		return result.subVectors( this.max, this.min );
+
+	},
+
+	expandByPoint: function ( point ) {
+
+		this.min.min( point );
+		this.max.max( point );
+
+		return this;
+	},
+
+	expandByVector: function ( vector ) {
+
+		this.min.sub( vector );
+		this.max.add( vector );
+
+		return this;
+	},
+
+	expandByScalar: function ( scalar ) {
+
+		this.min.addScalar( -scalar );
+		this.max.addScalar( scalar );
+
+		return this;
+	},
+
+	containsPoint: function ( point ) {
+
+		if ( point.x < this.min.x || point.x > this.max.x ||
+		     point.y < this.min.y || point.y > this.max.y ) {
+
+			return false;
+
+		}
+
+		return true;
+
+	},
+
+	containsBox: function ( box ) {
+
+		if ( ( this.min.x <= box.min.x ) && ( box.max.x <= this.max.x ) &&
+		     ( this.min.y <= box.min.y ) && ( box.max.y <= this.max.y ) ) {
+
+			return true;
+
+		}
+
+		return false;
+
+	},
+
+	getParameter: function ( point ) {
+
+		// This can potentially have a divide by zero if the box
+		// has a size dimension of 0.
+
+		return new THREE.Vector2(
+			( point.x - this.min.x ) / ( this.max.x - this.min.x ),
+			( point.y - this.min.y ) / ( this.max.y - this.min.y )
+		);
+
+	},
+
+	isIntersectionBox: function ( box ) {
+
+		// using 6 splitting planes to rule out intersections.
+
+		if ( box.max.x < this.min.x || box.min.x > this.max.x ||
+		     box.max.y < this.min.y || box.min.y > this.max.y ) {
+
+			return false;
+
+		}
+
+		return true;
+
+	},
+
+	clampPoint: function ( point, optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector2();
+		return result.copy( point ).clamp( this.min, this.max );
+
+	},
+
+	distanceToPoint: function() {
+
+		var v1 = new THREE.Vector2();
+
+		return function ( point ) {
+
+			var clampedPoint = v1.copy( point ).clamp( this.min, this.max );
+			return clampedPoint.sub( point ).length();
+
+		};
+
+	}(),
+
+	intersect: function ( box ) {
+
+		this.min.max( box.min );
+		this.max.min( box.max );
+
+		return this;
+
+	},
+
+	union: function ( box ) {
+
+		this.min.min( box.min );
+		this.max.max( box.max );
+
+		return this;
+
+	},
+
+	translate: function ( offset ) {
+
+		this.min.add( offset );
+		this.max.add( offset );
+
+		return this;
+
+	},
+
+	equals: function ( box ) {
+
+		return box.min.equals( this.min ) && box.max.equals( this.max );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Box2().copy( this );
+
+	}
+
+} );
+/**
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Box3 = function ( min, max ) {
+
+	this.min = ( min !== undefined ) ? min : new THREE.Vector3( Infinity, Infinity, Infinity );
+	this.max = ( max !== undefined ) ? max : new THREE.Vector3( -Infinity, -Infinity, -Infinity );
+
+};
+
+THREE.extend( THREE.Box3.prototype, {
+
+	set: function ( min, max ) {
+
+		this.min.copy( min );
+		this.max.copy( max );
+
+		return this;
+
+	},
+
+	setFromPoints: function ( points ) {
+
+		if ( points.length > 0 ) {
+
+			var point = points[ 0 ];
+
+			this.min.copy( point );
+			this.max.copy( point );
+
+			for ( var i = 1, il = points.length; i < il; i ++ ) {
+
+				point = points[ i ];
+
+				if ( point.x < this.min.x ) {
+
+					this.min.x = point.x;
+
+				} else if ( point.x > this.max.x ) {
+
+					this.max.x = point.x;
+
+				}
+
+				if ( point.y < this.min.y ) {
+
+					this.min.y = point.y;
+
+				} else if ( point.y > this.max.y ) {
+
+					this.max.y = point.y;
+
+				}
+
+				if ( point.z < this.min.z ) {
+
+					this.min.z = point.z;
+
+				} else if ( point.z > this.max.z ) {
+
+					this.max.z = point.z;
+
+				}
+
+			}
+
+		} else {
+
+			this.makeEmpty();
+
+		}
+
+		return this;
+
+	},
+
+	setFromCenterAndSize: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( center, size ) {
+
+			var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
+
+			this.min.copy( center ).sub( halfSize );
+			this.max.copy( center ).add( halfSize );
+
+			return this;
+
+		};
+
+	}(),
+
+	copy: function ( box ) {
+
+		this.min.copy( box.min );
+		this.max.copy( box.max );
+
+		return this;
+
+	},
+
+	makeEmpty: function () {
+
+		this.min.x = this.min.y = this.min.z = Infinity;
+		this.max.x = this.max.y = this.max.z = -Infinity;
+
+		return this;
+
+	},
+
+	empty: function () {
+
+		// this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes
+
+		return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z );
+
+	},
+
+	center: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.addVectors( this.min, this.max ).multiplyScalar( 0.5 );
+
+	},
+
+	size: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.subVectors( this.max, this.min );
+
+	},
+
+	expandByPoint: function ( point ) {
+
+		this.min.min( point );
+		this.max.max( point );
+
+		return this;
+
+	},
+
+	expandByVector: function ( vector ) {
+
+		this.min.sub( vector );
+		this.max.add( vector );
+
+		return this;
+
+	},
+
+	expandByScalar: function ( scalar ) {
+
+		this.min.addScalar( -scalar );
+		this.max.addScalar( scalar );
+
+		return this;
+
+	},
+
+	containsPoint: function ( point ) {
+
+		if ( point.x < this.min.x || point.x > this.max.x ||
+		     point.y < this.min.y || point.y > this.max.y ||
+		     point.z < this.min.z || point.z > this.max.z ) {
+
+			return false;
+
+		}
+
+		return true;
+
+	},
+
+	containsBox: function ( box ) {
+
+		if ( ( this.min.x <= box.min.x ) && ( box.max.x <= this.max.x ) &&
+			 ( this.min.y <= box.min.y ) && ( box.max.y <= this.max.y ) &&
+			 ( this.min.z <= box.min.z ) && ( box.max.z <= this.max.z ) ) {
+
+			return true;
+
+		}
+
+		return false;
+
+	},
+
+	getParameter: function ( point ) {
+
+		// This can potentially have a divide by zero if the box
+		// has a size dimension of 0.
+
+		return new THREE.Vector3(
+			( point.x - this.min.x ) / ( this.max.x - this.min.x ),
+			( point.y - this.min.y ) / ( this.max.y - this.min.y ),
+			( point.z - this.min.z ) / ( this.max.z - this.min.z )
+		);
+
+	},
+
+	isIntersectionBox: function ( box ) {
+
+		// using 6 splitting planes to rule out intersections.
+
+		if ( box.max.x < this.min.x || box.min.x > this.max.x ||
+		     box.max.y < this.min.y || box.min.y > this.max.y ||
+		     box.max.z < this.min.z || box.min.z > this.max.z ) {
+
+			return false;
+
+		}
+
+		return true;
+
+	},
+
+	clampPoint: function ( point, optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.copy( point ).clamp( this.min, this.max );
+
+	},
+
+	distanceToPoint: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( point ) {
+
+			var clampedPoint = v1.copy( point ).clamp( this.min, this.max );
+			return clampedPoint.sub( point ).length();
+
+		};
+
+	}(),
+
+	getBoundingSphere: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( optionalTarget ) {
+
+			var result = optionalTarget || new THREE.Sphere();
+
+			result.center = this.center();
+			result.radius = this.size( v1 ).length() * 0.5;
+
+			return result;
+
+		};
+
+	}(),
+
+	intersect: function ( box ) {
+
+		this.min.max( box.min );
+		this.max.min( box.max );
+
+		return this;
+
+	},
+
+	union: function ( box ) {
+
+		this.min.min( box.min );
+		this.max.max( box.max );
+
+		return this;
+
+	},
+
+	applyMatrix4: function() {
+
+		var points = [
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3(),
+			new THREE.Vector3()
+			];
+
+		return function ( matrix ) {
+
+			// NOTE: I am using a binary pattern to specify all 2^3 combinations below
+			points[0].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000
+			points[1].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001
+			points[2].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010
+			points[3].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011
+			points[4].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100
+			points[5].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101
+			points[6].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110
+			points[7].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix );  // 111
+
+			this.makeEmpty();
+			this.setFromPoints( points );
+
+			return this;
+
+		};
+
+	}(),
+
+	translate: function ( offset ) {
+
+		this.min.add( offset );
+		this.max.add( offset );
+
+		return this;
+
+	},
+
+	equals: function ( box ) {
+
+		return box.min.equals( this.min ) && box.max.equals( this.max );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Box3().copy( this );
+
+	}
+
+} );
+/**
+ * @author alteredq / http://alteredqualia.com/
+ * @author WestLangley / http://github.com/WestLangley
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Matrix3 = function ( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {
+
+	this.elements = new Float32Array(9);
+
+	this.set(
+
+		( n11 !== undefined ) ? n11 : 1, n12 || 0, n13 || 0,
+		n21 || 0, ( n22 !== undefined ) ? n22 : 1, n23 || 0,
+		n31 || 0, n32 || 0, ( n33 !== undefined ) ? n33 : 1
+
+	);
+};
+
+THREE.extend( THREE.Matrix3.prototype, {
+
+	set: function ( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {
+
+		var te = this.elements;
+
+		te[0] = n11; te[3] = n12; te[6] = n13;
+		te[1] = n21; te[4] = n22; te[7] = n23;
+		te[2] = n31; te[5] = n32; te[8] = n33;
+
+		return this;
+
+	},
+
+	identity: function () {
+
+		this.set(
+
+			1, 0, 0,
+			0, 1, 0,
+			0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	copy: function ( m ) {
+
+		var me = m.elements;
+
+		this.set(
+
+			me[0], me[3], me[6],
+			me[1], me[4], me[7],
+			me[2], me[5], me[8]
+
+		);
+
+		return this;
+
+	},
+
+	multiplyVector3: function ( vector ) {
+
+		console.warn( 'DEPRECATED: Matrix3\'s .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.' );
+		return vector.applyMatrix3( this );
+
+	},
+
+	multiplyVector3Array: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( a ) {
+
+			for ( var i = 0, il = a.length; i < il; i += 3 ) {
+
+				v1.x = a[ i ];
+				v1.y = a[ i + 1 ];
+				v1.z = a[ i + 2 ];
+
+				v1.applyMatrix3(this);
+
+				a[ i ]     = v1.x;
+				a[ i + 1 ] = v1.y;
+				a[ i + 2 ] = v1.z;
+
+			}
+
+			return a;
+
+		};
+
+	}(),
+
+	multiplyScalar: function ( s ) {
+
+		var te = this.elements;
+
+		te[0] *= s; te[3] *= s; te[6] *= s;
+		te[1] *= s; te[4] *= s; te[7] *= s;
+		te[2] *= s; te[5] *= s; te[8] *= s;
+
+		return this;
+
+	},
+
+	determinant: function () {
+
+		var te = this.elements;
+
+		var a = te[0], b = te[1], c = te[2],
+			d = te[3], e = te[4], f = te[5],
+			g = te[6], h = te[7], i = te[8];
+
+		return a*e*i - a*f*h - b*d*i + b*f*g + c*d*h - c*e*g;
+
+	},
+
+	getInverse: function ( matrix, throwOnInvertible ) {
+
+		// input: THREE.Matrix4
+		// ( based on http://code.google.com/p/webgl-mjs/ )
+
+		var me = matrix.elements;
+		var te = this.elements;
+
+		te[ 0 ] =   me[10] * me[5] - me[6] * me[9];
+		te[ 1 ] = - me[10] * me[1] + me[2] * me[9];
+		te[ 2 ] =   me[6] * me[1] - me[2] * me[5];
+		te[ 3 ] = - me[10] * me[4] + me[6] * me[8];
+		te[ 4 ] =   me[10] * me[0] - me[2] * me[8];
+		te[ 5 ] = - me[6] * me[0] + me[2] * me[4];
+		te[ 6 ] =   me[9] * me[4] - me[5] * me[8];
+		te[ 7 ] = - me[9] * me[0] + me[1] * me[8];
+		te[ 8 ] =   me[5] * me[0] - me[1] * me[4];
+
+		var det = me[ 0 ] * te[ 0 ] + me[ 1 ] * te[ 3 ] + me[ 2 ] * te[ 6 ];
+
+		// no inverse
+
+		if ( det === 0 ) {
+
+			var msg = "Matrix3.getInverse(): can't invert matrix, determinant is 0";
+
+			if ( throwOnInvertible || false ) {
+
+				throw new Error( msg ); 
+
+			} else {
+
+				console.warn( msg );
+
+			}
+
+			this.identity();
+
+			return this;
+
+		}
+
+		this.multiplyScalar( 1.0 / det );
+
+		return this;
+
+	},
+
+	transpose: function () {
+
+		var tmp, m = this.elements;
+
+		tmp = m[1]; m[1] = m[3]; m[3] = tmp;
+		tmp = m[2]; m[2] = m[6]; m[6] = tmp;
+		tmp = m[5]; m[5] = m[7]; m[7] = tmp;
+
+		return this;
+
+	},
+
+	getNormalMatrix: function ( m ) {
+
+		// input: THREE.Matrix4
+
+		this.getInverse( m ).transpose();
+
+		return this;
+
+	},
+
+	transposeIntoArray: function ( r ) {
+
+		var m = this.elements;
+
+		r[ 0 ] = m[ 0 ];
+		r[ 1 ] = m[ 3 ];
+		r[ 2 ] = m[ 6 ];
+		r[ 3 ] = m[ 1 ];
+		r[ 4 ] = m[ 4 ];
+		r[ 5 ] = m[ 7 ];
+		r[ 6 ] = m[ 2 ];
+		r[ 7 ] = m[ 5 ];
+		r[ 8 ] = m[ 8 ];
+
+		return this;
+
+	},
+
+	clone: function () {
+
+		var te = this.elements;
+
+		return new THREE.Matrix3(
+
+			te[0], te[3], te[6],
+			te[1], te[4], te[7],
+			te[2], te[5], te[8]
+
+		);
+
+	}
+
+} );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author supereggbert / http://www.paulbrunt.co.uk/
+ * @author philogb / http://blog.thejit.org/
+ * @author jordi_ros / http://plattsoft.com
+ * @author D1plo1d / http://github.com/D1plo1d
+ * @author alteredq / http://alteredqualia.com/
+ * @author mikael emtinger / http://gomo.se/
+ * @author timknip / http://www.floorplanner.com/
+ * @author bhouston / http://exocortex.com
+ */
+
+
+THREE.Matrix4 = function ( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) {
+
+	var te = this.elements = new Float32Array( 16 );
+
+	// TODO: if n11 is undefined, then just set to identity, otherwise copy all other values into matrix
+	//   we should not support semi specification of Matrix4, it is just weird.
+
+	te[0] = ( n11 !== undefined ) ? n11 : 1; te[4] = n12 || 0; te[8] = n13 || 0; te[12] = n14 || 0;
+	te[1] = n21 || 0; te[5] = ( n22 !== undefined ) ? n22 : 1; te[9] = n23 || 0; te[13] = n24 || 0;
+	te[2] = n31 || 0; te[6] = n32 || 0; te[10] = ( n33 !== undefined ) ? n33 : 1; te[14] = n34 || 0;
+	te[3] = n41 || 0; te[7] = n42 || 0; te[11] = n43 || 0; te[15] = ( n44 !== undefined ) ? n44 : 1;
+
+};
+
+THREE.extend( THREE.Matrix4.prototype, {
+
+	set: function ( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) {
+
+		var te = this.elements;
+
+		te[0] = n11; te[4] = n12; te[8] = n13; te[12] = n14;
+		te[1] = n21; te[5] = n22; te[9] = n23; te[13] = n24;
+		te[2] = n31; te[6] = n32; te[10] = n33; te[14] = n34;
+		te[3] = n41; te[7] = n42; te[11] = n43; te[15] = n44;
+
+		return this;
+
+	},
+
+	identity: function () {
+
+		this.set(
+
+			1, 0, 0, 0,
+			0, 1, 0, 0,
+			0, 0, 1, 0,
+			0, 0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	copy: function ( m ) {
+
+		var me = m.elements;
+
+		this.set(
+
+			me[0], me[4], me[8], me[12],
+			me[1], me[5], me[9], me[13],
+			me[2], me[6], me[10], me[14],
+			me[3], me[7], me[11], me[15]
+
+		);
+
+		return this;
+
+	},
+
+	setRotationFromEuler: function ( v, order ) {
+
+		var te = this.elements;
+
+		var x = v.x, y = v.y, z = v.z;
+		var a = Math.cos( x ), b = Math.sin( x );
+		var c = Math.cos( y ), d = Math.sin( y );
+		var e = Math.cos( z ), f = Math.sin( z );
+
+		if ( order === undefined || order === 'XYZ' ) {
+
+			var ae = a * e, af = a * f, be = b * e, bf = b * f;
+
+			te[0] = c * e;
+			te[4] = - c * f;
+			te[8] = d;
+
+			te[1] = af + be * d;
+			te[5] = ae - bf * d;
+			te[9] = - b * c;
+
+			te[2] = bf - ae * d;
+			te[6] = be + af * d;
+			te[10] = a * c;
+
+		} else if ( order === 'YXZ' ) {
+
+			var ce = c * e, cf = c * f, de = d * e, df = d * f;
+
+			te[0] = ce + df * b;
+			te[4] = de * b - cf;
+			te[8] = a * d;
+
+			te[1] = a * f;
+			te[5] = a * e;
+			te[9] = - b;
+
+			te[2] = cf * b - de;
+			te[6] = df + ce * b;
+			te[10] = a * c;
+
+		} else if ( order === 'ZXY' ) {
+
+			var ce = c * e, cf = c * f, de = d * e, df = d * f;
+
+			te[0] = ce - df * b;
+			te[4] = - a * f;
+			te[8] = de + cf * b;
+
+			te[1] = cf + de * b;
+			te[5] = a * e;
+			te[9] = df - ce * b;
+
+			te[2] = - a * d;
+			te[6] = b;
+			te[10] = a * c;
+
+		} else if ( order === 'ZYX' ) {
+
+			var ae = a * e, af = a * f, be = b * e, bf = b * f;
+
+			te[0] = c * e;
+			te[4] = be * d - af;
+			te[8] = ae * d + bf;
+
+			te[1] = c * f;
+			te[5] = bf * d + ae;
+			te[9] = af * d - be;
+
+			te[2] = - d;
+			te[6] = b * c;
+			te[10] = a * c;
+
+		} else if ( order === 'YZX' ) {
+
+			var ac = a * c, ad = a * d, bc = b * c, bd = b * d;
+
+			te[0] = c * e;
+			te[4] = bd - ac * f;
+			te[8] = bc * f + ad;
+
+			te[1] = f;
+			te[5] = a * e;
+			te[9] = - b * e;
+
+			te[2] = - d * e;
+			te[6] = ad * f + bc;
+			te[10] = ac - bd * f;
+
+		} else if ( order === 'XZY' ) {
+
+			var ac = a * c, ad = a * d, bc = b * c, bd = b * d;
+
+			te[0] = c * e;
+			te[4] = - f;
+			te[8] = d * e;
+
+			te[1] = ac * f + bd;
+			te[5] = a * e;
+			te[9] = ad * f - bc;
+
+			te[2] = bc * f - ad;
+			te[6] = b * e;
+			te[10] = bd * f + ac;
+
+		}
+
+		return this;
+
+	},
+
+	setRotationFromQuaternion: function ( q ) {
+
+		var te = this.elements;
+
+		var x = q.x, y = q.y, z = q.z, w = q.w;
+		var x2 = x + x, y2 = y + y, z2 = z + z;
+		var xx = x * x2, xy = x * y2, xz = x * z2;
+		var yy = y * y2, yz = y * z2, zz = z * z2;
+		var wx = w * x2, wy = w * y2, wz = w * z2;
+
+		te[0] = 1 - ( yy + zz );
+		te[4] = xy - wz;
+		te[8] = xz + wy;
+
+		te[1] = xy + wz;
+		te[5] = 1 - ( xx + zz );
+		te[9] = yz - wx;
+
+		te[2] = xz - wy;
+		te[6] = yz + wx;
+		te[10] = 1 - ( xx + yy );
+
+		return this;
+
+	},
+
+	lookAt: function() {
+
+		var x = new THREE.Vector3();
+		var y = new THREE.Vector3();
+		var z = new THREE.Vector3();
+
+		return function ( eye, target, up ) {
+
+			var te = this.elements;
+
+			z.subVectors( eye, target ).normalize();
+
+			if ( z.length() === 0 ) {
+
+				z.z = 1;
+
+			}
+
+			x.crossVectors( up, z ).normalize();
+
+			if ( x.length() === 0 ) {
+
+				z.x += 0.0001;
+				x.crossVectors( up, z ).normalize();
+
+			}
+
+			y.crossVectors( z, x );
+
+
+			te[0] = x.x; te[4] = y.x; te[8] = z.x;
+			te[1] = x.y; te[5] = y.y; te[9] = z.y;
+			te[2] = x.z; te[6] = y.z; te[10] = z.z;
+
+			return this;
+
+		};
+
+	}(),
+
+	multiply: function ( m, n ) {
+
+		if ( n !== undefined ) {
+
+			console.warn( 'DEPRECATED: Matrix4\'s .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.' );
+			return this.multiplyMatrices( m, n );
+
+		}
+
+		return this.multiplyMatrices( this, m );
+
+	},
+
+	multiplyMatrices: function ( a, b ) {
+
+		var ae = a.elements;
+		var be = b.elements;
+		var te = this.elements;
+
+		var a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12];
+		var a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13];
+		var a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14];
+		var a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15];
+
+		var b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12];
+		var b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13];
+		var b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14];
+		var b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15];
+
+		te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;
+		te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;
+		te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;
+		te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;
+
+		te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;
+		te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;
+		te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;
+		te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;
+
+		te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;
+		te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;
+		te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;
+		te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;
+
+		te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;
+		te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;
+		te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;
+		te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;
+
+		return this;
+
+	},
+
+	multiplyToArray: function ( a, b, r ) {
+
+		var te = this.elements;
+
+		this.multiplyMatrices( a, b );
+
+		r[ 0 ] = te[0]; r[ 1 ] = te[1]; r[ 2 ] = te[2]; r[ 3 ] = te[3];
+		r[ 4 ] = te[4]; r[ 5 ] = te[5]; r[ 6 ] = te[6]; r[ 7 ] = te[7];
+		r[ 8 ]  = te[8]; r[ 9 ]  = te[9]; r[ 10 ] = te[10]; r[ 11 ] = te[11];
+		r[ 12 ] = te[12]; r[ 13 ] = te[13]; r[ 14 ] = te[14]; r[ 15 ] = te[15];
+
+		return this;
+
+	},
+
+	multiplyScalar: function ( s ) {
+
+		var te = this.elements;
+
+		te[0] *= s; te[4] *= s; te[8] *= s; te[12] *= s;
+		te[1] *= s; te[5] *= s; te[9] *= s; te[13] *= s;
+		te[2] *= s; te[6] *= s; te[10] *= s; te[14] *= s;
+		te[3] *= s; te[7] *= s; te[11] *= s; te[15] *= s;
+
+		return this;
+
+	},
+
+	multiplyVector3: function ( vector ) {
+
+		console.warn( 'DEPRECATED: Matrix4\'s .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) or vector.applyProjection( matrix ) instead.' );
+		return vector.applyProjection( this );
+
+	},
+
+	multiplyVector4: function ( vector ) {
+
+		console.warn( 'DEPRECATED: Matrix4\'s .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.' );
+		return vector.applyMatrix4( this );
+
+	},
+
+	multiplyVector3Array: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( a ) {
+
+			for ( var i = 0, il = a.length; i < il; i += 3 ) {
+
+				v1.x = a[ i ];
+				v1.y = a[ i + 1 ];
+				v1.z = a[ i + 2 ];
+
+				v1.applyProjection( this );
+
+				a[ i ]     = v1.x;
+				a[ i + 1 ] = v1.y;
+				a[ i + 2 ] = v1.z;
+
+			}
+
+			return a;
+
+		};
+
+	}(),
+
+	rotateAxis: function ( v ) {
+
+		var te = this.elements;
+		var vx = v.x, vy = v.y, vz = v.z;
+
+		v.x = vx * te[0] + vy * te[4] + vz * te[8];
+		v.y = vx * te[1] + vy * te[5] + vz * te[9];
+		v.z = vx * te[2] + vy * te[6] + vz * te[10];
+
+		v.normalize();
+
+		return v;
+
+	},
+
+	crossVector: function ( a ) {
+
+		var te = this.elements;
+		var v = new THREE.Vector4();
+
+		v.x = te[0] * a.x + te[4] * a.y + te[8] * a.z + te[12] * a.w;
+		v.y = te[1] * a.x + te[5] * a.y + te[9] * a.z + te[13] * a.w;
+		v.z = te[2] * a.x + te[6] * a.y + te[10] * a.z + te[14] * a.w;
+
+		v.w = ( a.w ) ? te[3] * a.x + te[7] * a.y + te[11] * a.z + te[15] * a.w : 1;
+
+		return v;
+
+	},
+
+	determinant: function () {
+
+		var te = this.elements;
+
+		var n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12];
+		var n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13];
+		var n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14];
+		var n41 = te[3], n42 = te[7], n43 = te[11], n44 = te[15];
+
+		//TODO: make this more efficient
+		//( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm )
+
+		return (
+			n41 * (
+				+n14 * n23 * n32
+				-n13 * n24 * n32
+				-n14 * n22 * n33
+				+n12 * n24 * n33
+				+n13 * n22 * n34
+				-n12 * n23 * n34
+			) +
+			n42 * (
+				+n11 * n23 * n34
+				-n11 * n24 * n33
+				+n14 * n21 * n33
+				-n13 * n21 * n34
+				+n13 * n24 * n31
+				-n14 * n23 * n31
+			) +
+			n43 * (
+				+n11 * n24 * n32
+				-n11 * n22 * n34
+				-n14 * n21 * n32
+				+n12 * n21 * n34
+				+n14 * n22 * n31
+				-n12 * n24 * n31
+			) +
+			n44 * (
+				-n13 * n22 * n31
+				-n11 * n23 * n32
+				+n11 * n22 * n33
+				+n13 * n21 * n32
+				-n12 * n21 * n33
+				+n12 * n23 * n31
+			)
+
+		);
+
+	},
+
+	transpose: function () {
+
+		var te = this.elements;
+		var tmp;
+
+		tmp = te[1]; te[1] = te[4]; te[4] = tmp;
+		tmp = te[2]; te[2] = te[8]; te[8] = tmp;
+		tmp = te[6]; te[6] = te[9]; te[9] = tmp;
+
+		tmp = te[3]; te[3] = te[12]; te[12] = tmp;
+		tmp = te[7]; te[7] = te[13]; te[13] = tmp;
+		tmp = te[11]; te[11] = te[14]; te[14] = tmp;
+
+		return this;
+
+	},
+
+	flattenToArray: function ( flat ) {
+
+		var te = this.elements;
+		flat[ 0 ] = te[0]; flat[ 1 ] = te[1]; flat[ 2 ] = te[2]; flat[ 3 ] = te[3];
+		flat[ 4 ] = te[4]; flat[ 5 ] = te[5]; flat[ 6 ] = te[6]; flat[ 7 ] = te[7];
+		flat[ 8 ] = te[8]; flat[ 9 ] = te[9]; flat[ 10 ] = te[10]; flat[ 11 ] = te[11];
+		flat[ 12 ] = te[12]; flat[ 13 ] = te[13]; flat[ 14 ] = te[14]; flat[ 15 ] = te[15];
+
+		return flat;
+
+	},
+
+	flattenToArrayOffset: function( flat, offset ) {
+
+		var te = this.elements;
+		flat[ offset ] = te[0];
+		flat[ offset + 1 ] = te[1];
+		flat[ offset + 2 ] = te[2];
+		flat[ offset + 3 ] = te[3];
+
+		flat[ offset + 4 ] = te[4];
+		flat[ offset + 5 ] = te[5];
+		flat[ offset + 6 ] = te[6];
+		flat[ offset + 7 ] = te[7];
+
+		flat[ offset + 8 ]  = te[8];
+		flat[ offset + 9 ]  = te[9];
+		flat[ offset + 10 ] = te[10];
+		flat[ offset + 11 ] = te[11];
+
+		flat[ offset + 12 ] = te[12];
+		flat[ offset + 13 ] = te[13];
+		flat[ offset + 14 ] = te[14];
+		flat[ offset + 15 ] = te[15];
+
+		return flat;
+
+	},
+
+	getPosition: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function () {
+
+			console.warn( 'DEPRECATED: Matrix4\'s .getPosition() has been removed. Use Vector3.getPositionFromMatrix( matrix ) instead.' );
+
+			var te = this.elements;
+			return v1.set( te[12], te[13], te[14] );
+
+		};
+
+	}(),
+
+	setPosition: function ( v ) {
+
+		var te = this.elements;
+
+		te[12] = v.x;
+		te[13] = v.y;
+		te[14] = v.z;
+
+		return this;
+
+	},
+
+	getInverse: function ( m, throwOnInvertible ) {
+
+		// based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm
+		var te = this.elements;
+		var me = m.elements;
+
+		var n11 = me[0], n12 = me[4], n13 = me[8], n14 = me[12];
+		var n21 = me[1], n22 = me[5], n23 = me[9], n24 = me[13];
+		var n31 = me[2], n32 = me[6], n33 = me[10], n34 = me[14];
+		var n41 = me[3], n42 = me[7], n43 = me[11], n44 = me[15];
+
+		te[0] = n23*n34*n42 - n24*n33*n42 + n24*n32*n43 - n22*n34*n43 - n23*n32*n44 + n22*n33*n44;
+		te[4] = n14*n33*n42 - n13*n34*n42 - n14*n32*n43 + n12*n34*n43 + n13*n32*n44 - n12*n33*n44;
+		te[8] = n13*n24*n42 - n14*n23*n42 + n14*n22*n43 - n12*n24*n43 - n13*n22*n44 + n12*n23*n44;
+		te[12] = n14*n23*n32 - n13*n24*n32 - n14*n22*n33 + n12*n24*n33 + n13*n22*n34 - n12*n23*n34;
+		te[1] = n24*n33*n41 - n23*n34*n41 - n24*n31*n43 + n21*n34*n43 + n23*n31*n44 - n21*n33*n44;
+		te[5] = n13*n34*n41 - n14*n33*n41 + n14*n31*n43 - n11*n34*n43 - n13*n31*n44 + n11*n33*n44;
+		te[9] = n14*n23*n41 - n13*n24*n41 - n14*n21*n43 + n11*n24*n43 + n13*n21*n44 - n11*n23*n44;
+		te[13] = n13*n24*n31 - n14*n23*n31 + n14*n21*n33 - n11*n24*n33 - n13*n21*n34 + n11*n23*n34;
+		te[2] = n22*n34*n41 - n24*n32*n41 + n24*n31*n42 - n21*n34*n42 - n22*n31*n44 + n21*n32*n44;
+		te[6] = n14*n32*n41 - n12*n34*n41 - n14*n31*n42 + n11*n34*n42 + n12*n31*n44 - n11*n32*n44;
+		te[10] = n12*n24*n41 - n14*n22*n41 + n14*n21*n42 - n11*n24*n42 - n12*n21*n44 + n11*n22*n44;
+		te[14] = n14*n22*n31 - n12*n24*n31 - n14*n21*n32 + n11*n24*n32 + n12*n21*n34 - n11*n22*n34;
+		te[3] = n23*n32*n41 - n22*n33*n41 - n23*n31*n42 + n21*n33*n42 + n22*n31*n43 - n21*n32*n43;
+		te[7] = n12*n33*n41 - n13*n32*n41 + n13*n31*n42 - n11*n33*n42 - n12*n31*n43 + n11*n32*n43;
+		te[11] = n13*n22*n41 - n12*n23*n41 - n13*n21*n42 + n11*n23*n42 + n12*n21*n43 - n11*n22*n43;
+		te[15] = n12*n23*n31 - n13*n22*n31 + n13*n21*n32 - n11*n23*n32 - n12*n21*n33 + n11*n22*n33;
+
+		var det = me[ 0 ] * te[ 0 ] + me[ 1 ] * te[ 4 ] + me[ 2 ] * te[ 8 ] + me[ 3 ] * te[ 12 ];
+
+		if ( det == 0 ) {
+
+			var msg = "Matrix4.getInverse(): can't invert matrix, determinant is 0";
+
+			if ( throwOnInvertible || false ) {
+
+				throw new Error( msg ); 
+
+			} else {
+
+				console.warn( msg );
+
+			}
+
+			this.identity();
+
+			return this;
+		}
+
+		this.multiplyScalar( 1 / det );
+
+		return this;
+
+	},
+
+	compose: function() {
+
+		var mRotation = new THREE.Matrix4(),
+			mScale = new THREE.Matrix4();
+		
+		return function ( translation, rotation, scale ) {
+
+			var te = this.elements;
+
+			mRotation.identity();
+			mRotation.setRotationFromQuaternion( rotation );
+
+			mScale.makeScale( scale.x, scale.y, scale.z );
+
+			this.multiplyMatrices( mRotation, mScale );
+
+			te[12] = translation.x;
+			te[13] = translation.y;
+			te[14] = translation.z;
+
+			return this;
+
+		};
+
+	}(),
+
+	decompose: function() {
+
+		var x = new THREE.Vector3(),
+			y = new THREE.Vector3(),
+			z = new THREE.Vector3(),
+			matrix = new THREE.Matrix4();
+
+		return function ( translation, rotation, scale ) {
+
+			var te = this.elements;
+
+			// grab the axis vectors
+			x.set( te[0], te[1], te[2] );
+			y.set( te[4], te[5], te[6] );
+			z.set( te[8], te[9], te[10] );
+
+			translation = ( translation instanceof THREE.Vector3 ) ? translation : new THREE.Vector3();
+			rotation = ( rotation instanceof THREE.Quaternion ) ? rotation : new THREE.Quaternion();
+			scale = ( scale instanceof THREE.Vector3 ) ? scale : new THREE.Vector3();
+
+			scale.x = x.length();
+			scale.y = y.length();
+			scale.z = z.length();
+
+			translation.x = te[12];
+			translation.y = te[13];
+			translation.z = te[14];
+
+			// scale the rotation part
+
+			matrix.copy( this );
+
+			matrix.elements[0] /= scale.x;
+			matrix.elements[1] /= scale.x;
+			matrix.elements[2] /= scale.x;
+
+			matrix.elements[4] /= scale.y;
+			matrix.elements[5] /= scale.y;
+			matrix.elements[6] /= scale.y;
+
+			matrix.elements[8] /= scale.z;
+			matrix.elements[9] /= scale.z;
+			matrix.elements[10] /= scale.z;
+
+			rotation.setFromRotationMatrix( matrix );
+
+			return [ translation, rotation, scale ];
+
+		};
+
+	}(),
+
+	extractPosition: function ( m ) {
+
+		var te = this.elements;
+		var me = m.elements;
+
+		te[12] = me[12];
+		te[13] = me[13];
+		te[14] = me[14];
+
+		return this;
+
+	},
+
+	extractRotation: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( m ) {
+
+			var te = this.elements;
+			var me = m.elements;
+
+			var scaleX = 1 / v1.set( me[0], me[1], me[2] ).length();
+			var scaleY = 1 / v1.set( me[4], me[5], me[6] ).length();
+			var scaleZ = 1 / v1.set( me[8], me[9], me[10] ).length();
+
+			te[0] = me[0] * scaleX;
+			te[1] = me[1] * scaleX;
+			te[2] = me[2] * scaleX;
+
+			te[4] = me[4] * scaleY;
+			te[5] = me[5] * scaleY;
+			te[6] = me[6] * scaleY;
+
+			te[8] = me[8] * scaleZ;
+			te[9] = me[9] * scaleZ;
+			te[10] = me[10] * scaleZ;
+
+			return this;
+
+		};
+
+	}(),
+
+	translate: function ( v ) {
+
+		var te = this.elements;
+		var x = v.x, y = v.y, z = v.z;
+
+		te[12] = te[0] * x + te[4] * y + te[8] * z + te[12];
+		te[13] = te[1] * x + te[5] * y + te[9] * z + te[13];
+		te[14] = te[2] * x + te[6] * y + te[10] * z + te[14];
+		te[15] = te[3] * x + te[7] * y + te[11] * z + te[15];
+
+		return this;
+
+	},
+
+	rotateX: function ( angle ) {
+
+		var te = this.elements;
+		var m12 = te[4];
+		var m22 = te[5];
+		var m32 = te[6];
+		var m42 = te[7];
+		var m13 = te[8];
+		var m23 = te[9];
+		var m33 = te[10];
+		var m43 = te[11];
+		var c = Math.cos( angle );
+		var s = Math.sin( angle );
+
+		te[4] = c * m12 + s * m13;
+		te[5] = c * m22 + s * m23;
+		te[6] = c * m32 + s * m33;
+		te[7] = c * m42 + s * m43;
+
+		te[8] = c * m13 - s * m12;
+		te[9] = c * m23 - s * m22;
+		te[10] = c * m33 - s * m32;
+		te[11] = c * m43 - s * m42;
+
+		return this;
+
+	},
+
+	rotateY: function ( angle ) {
+
+		var te = this.elements;
+		var m11 = te[0];
+		var m21 = te[1];
+		var m31 = te[2];
+		var m41 = te[3];
+		var m13 = te[8];
+		var m23 = te[9];
+		var m33 = te[10];
+		var m43 = te[11];
+		var c = Math.cos( angle );
+		var s = Math.sin( angle );
+
+		te[0] = c * m11 - s * m13;
+		te[1] = c * m21 - s * m23;
+		te[2] = c * m31 - s * m33;
+		te[3] = c * m41 - s * m43;
+
+		te[8] = c * m13 + s * m11;
+		te[9] = c * m23 + s * m21;
+		te[10] = c * m33 + s * m31;
+		te[11] = c * m43 + s * m41;
+
+		return this;
+
+	},
+
+	rotateZ: function ( angle ) {
+
+		var te = this.elements;
+		var m11 = te[0];
+		var m21 = te[1];
+		var m31 = te[2];
+		var m41 = te[3];
+		var m12 = te[4];
+		var m22 = te[5];
+		var m32 = te[6];
+		var m42 = te[7];
+		var c = Math.cos( angle );
+		var s = Math.sin( angle );
+
+		te[0] = c * m11 + s * m12;
+		te[1] = c * m21 + s * m22;
+		te[2] = c * m31 + s * m32;
+		te[3] = c * m41 + s * m42;
+
+		te[4] = c * m12 - s * m11;
+		te[5] = c * m22 - s * m21;
+		te[6] = c * m32 - s * m31;
+		te[7] = c * m42 - s * m41;
+
+		return this;
+
+	},
+
+	rotateByAxis: function ( axis, angle ) {
+
+		var te = this.elements;
+
+		// optimize by checking axis
+
+		if ( axis.x === 1 && axis.y === 0 && axis.z === 0 ) {
+
+			return this.rotateX( angle );
+
+		} else if ( axis.x === 0 && axis.y === 1 && axis.z === 0 ) {
+
+			return this.rotateY( angle );
+
+		} else if ( axis.x === 0 && axis.y === 0 && axis.z === 1 ) {
+
+			return this.rotateZ( angle );
+
+		}
+
+		var x = axis.x, y = axis.y, z = axis.z;
+		var n = Math.sqrt(x * x + y * y + z * z);
+
+		x /= n;
+		y /= n;
+		z /= n;
+
+		var xx = x * x, yy = y * y, zz = z * z;
+		var c = Math.cos( angle );
+		var s = Math.sin( angle );
+		var oneMinusCosine = 1 - c;
+		var xy = x * y * oneMinusCosine;
+		var xz = x * z * oneMinusCosine;
+		var yz = y * z * oneMinusCosine;
+		var xs = x * s;
+		var ys = y * s;
+		var zs = z * s;
+
+		var r11 = xx + (1 - xx) * c;
+		var r21 = xy + zs;
+		var r31 = xz - ys;
+		var r12 = xy - zs;
+		var r22 = yy + (1 - yy) * c;
+		var r32 = yz + xs;
+		var r13 = xz + ys;
+		var r23 = yz - xs;
+		var r33 = zz + (1 - zz) * c;
+
+		var m11 = te[0], m21 = te[1], m31 = te[2], m41 = te[3];
+		var m12 = te[4], m22 = te[5], m32 = te[6], m42 = te[7];
+		var m13 = te[8], m23 = te[9], m33 = te[10], m43 = te[11];
+
+		te[0] = r11 * m11 + r21 * m12 + r31 * m13;
+		te[1] = r11 * m21 + r21 * m22 + r31 * m23;
+		te[2] = r11 * m31 + r21 * m32 + r31 * m33;
+		te[3] = r11 * m41 + r21 * m42 + r31 * m43;
+
+		te[4] = r12 * m11 + r22 * m12 + r32 * m13;
+		te[5] = r12 * m21 + r22 * m22 + r32 * m23;
+		te[6] = r12 * m31 + r22 * m32 + r32 * m33;
+		te[7] = r12 * m41 + r22 * m42 + r32 * m43;
+
+		te[8] = r13 * m11 + r23 * m12 + r33 * m13;
+		te[9] = r13 * m21 + r23 * m22 + r33 * m23;
+		te[10] = r13 * m31 + r23 * m32 + r33 * m33;
+		te[11] = r13 * m41 + r23 * m42 + r33 * m43;
+
+		return this;
+
+	},
+
+	scale: function ( v ) {
+
+		var te = this.elements;
+		var x = v.x, y = v.y, z = v.z;
+
+		te[0] *= x; te[4] *= y; te[8] *= z;
+		te[1] *= x; te[5] *= y; te[9] *= z;
+		te[2] *= x; te[6] *= y; te[10] *= z;
+		te[3] *= x; te[7] *= y; te[11] *= z;
+
+		return this;
+
+	},
+
+	getMaxScaleOnAxis: function () {
+
+		var te = this.elements;
+
+		var scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2];
+		var scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6];
+		var scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10];
+
+		return Math.sqrt( Math.max( scaleXSq, Math.max( scaleYSq, scaleZSq ) ) );
+
+	},
+
+	makeTranslation: function ( x, y, z ) {
+
+		this.set(
+
+			1, 0, 0, x,
+			0, 1, 0, y,
+			0, 0, 1, z,
+			0, 0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	makeRotationX: function ( theta ) {
+
+		var c = Math.cos( theta ), s = Math.sin( theta );
+
+		this.set(
+
+			1, 0,  0, 0,
+			0, c, -s, 0,
+			0, s,  c, 0,
+			0, 0,  0, 1
+
+		);
+
+		return this;
+
+	},
+
+	makeRotationY: function ( theta ) {
+
+		var c = Math.cos( theta ), s = Math.sin( theta );
+
+		this.set(
+
+			 c, 0, s, 0,
+			 0, 1, 0, 0,
+			-s, 0, c, 0,
+			 0, 0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	makeRotationZ: function ( theta ) {
+
+		var c = Math.cos( theta ), s = Math.sin( theta );
+
+		this.set(
+
+			c, -s, 0, 0,
+			s,  c, 0, 0,
+			0,  0, 1, 0,
+			0,  0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	makeRotationAxis: function ( axis, angle ) {
+
+		// Based on http://www.gamedev.net/reference/articles/article1199.asp
+
+		var c = Math.cos( angle );
+		var s = Math.sin( angle );
+		var t = 1 - c;
+		var x = axis.x, y = axis.y, z = axis.z;
+		var tx = t * x, ty = t * y;
+
+		this.set(
+
+			tx * x + c, tx * y - s * z, tx * z + s * y, 0,
+			tx * y + s * z, ty * y + c, ty * z - s * x, 0,
+			tx * z - s * y, ty * z + s * x, t * z * z + c, 0,
+			0, 0, 0, 1
+
+		);
+
+		 return this;
+
+	},
+
+	makeScale: function ( x, y, z ) {
+
+		this.set(
+
+			x, 0, 0, 0,
+			0, y, 0, 0,
+			0, 0, z, 0,
+			0, 0, 0, 1
+
+		);
+
+		return this;
+
+	},
+
+	makeFrustum: function ( left, right, bottom, top, near, far ) {
+
+		var te = this.elements;
+		var x = 2 * near / ( right - left );
+		var y = 2 * near / ( top - bottom );
+
+		var a = ( right + left ) / ( right - left );
+		var b = ( top + bottom ) / ( top - bottom );
+		var c = - ( far + near ) / ( far - near );
+		var d = - 2 * far * near / ( far - near );
+
+		te[0] = x;	te[4] = 0;	te[8] = a;	te[12] = 0;
+		te[1] = 0;	te[5] = y;	te[9] = b;	te[13] = 0;
+		te[2] = 0;	te[6] = 0;	te[10] = c;	te[14] = d;
+		te[3] = 0;	te[7] = 0;	te[11] = - 1;	te[15] = 0;
+
+		return this;
+
+	},
+
+	makePerspective: function ( fov, aspect, near, far ) {
+
+		var ymax = near * Math.tan( THREE.Math.degToRad( fov * 0.5 ) );
+		var ymin = - ymax;
+		var xmin = ymin * aspect;
+		var xmax = ymax * aspect;
+
+		return this.makeFrustum( xmin, xmax, ymin, ymax, near, far );
+
+	},
+
+	makeOrthographic: function ( left, right, top, bottom, near, far ) {
+
+		var te = this.elements;
+		var w = right - left;
+		var h = top - bottom;
+		var p = far - near;
+
+		var x = ( right + left ) / w;
+		var y = ( top + bottom ) / h;
+		var z = ( far + near ) / p;
+
+		te[0] = 2 / w;	te[4] = 0;	te[8] = 0;	te[12] = -x;
+		te[1] = 0;	te[5] = 2 / h;	te[9] = 0;	te[13] = -y;
+		te[2] = 0;	te[6] = 0;	te[10] = -2/p;	te[14] = -z;
+		te[3] = 0;	te[7] = 0;	te[11] = 0;	te[15] = 1;
+
+		return this;
+
+	},
+
+	clone: function () {
+
+		var te = this.elements;
+
+		return new THREE.Matrix4(
+
+			te[0], te[4], te[8], te[12],
+			te[1], te[5], te[9], te[13],
+			te[2], te[6], te[10], te[14],
+			te[3], te[7], te[11], te[15]
+
+		);
+
+	}
+
+} );
+/**
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Ray = function ( origin, direction ) {
+
+	this.origin = ( origin !== undefined ) ? origin : new THREE.Vector3();
+	this.direction = ( direction !== undefined ) ? direction : new THREE.Vector3();
+
+};
+
+THREE.extend( THREE.Ray.prototype, {
+
+	set: function ( origin, direction ) {
+
+		this.origin.copy( origin );
+		this.direction.copy( direction );
+
+		return this;
+
+	},
+
+	copy: function ( ray ) {
+
+		this.origin.copy( ray.origin );
+		this.direction.copy( ray.direction );
+
+		return this;
+
+	},
+
+	at: function( t, optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+
+		return result.copy( this.direction ).multiplyScalar( t ).add( this.origin );
+
+	},
+
+	recast: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( t ) {
+
+			this.origin.copy( this.at( t, v1 ) );
+
+			return this;
+
+		};
+
+	}(),
+
+	closestPointToPoint: function ( point, optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		result.subVectors( point, this.origin );
+		var directionDistance = result.dot( this.direction );
+
+		return result.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
+
+	},
+
+	distanceToPoint: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( point ) {
+
+			var directionDistance = v1.subVectors( point, this.origin ).dot( this.direction );
+			v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
+
+			return v1.distanceTo( point );
+
+		};
+
+	}(),
+
+	isIntersectionSphere: function( sphere ) {
+
+		return ( this.distanceToPoint( sphere.center ) <= sphere.radius );
+
+	},
+
+	isIntersectionPlane: function ( plane ) {
+
+		// check if the line and plane are non-perpendicular, if they
+		// eventually they will intersect.
+		var denominator = plane.normal.dot( this.direction );
+		if ( denominator != 0 ) {
+
+			return true;
+
+		}
+
+		// line is coplanar, return origin
+		if( plane.distanceToPoint( this.origin ) == 0 ) {
+
+			return true;
+
+		}
+
+		return false;
+
+	},
+
+	distanceToPlane: function ( plane ) {
+
+		var denominator = plane.normal.dot( this.direction );
+		if ( denominator == 0 ) {
+
+			// line is coplanar, return origin
+			if( plane.distanceToPoint( this.origin ) == 0 ) {
+
+				return 0;
+
+			}
+
+			// Unsure if this is the correct method to handle this case.
+			return undefined;
+
+		}
+
+		var t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator;
+
+		return t;
+
+	},
+
+	intersectPlane: function ( plane, optionalTarget ) {
+
+		var t = this.distanceToPlane( plane );
+
+		if ( t === undefined ) {
+
+			return undefined;
+		}
+
+		return this.at( t, optionalTarget );
+
+	},
+
+	applyMatrix4: function ( matrix4 ) {
+
+		this.direction.add( this.origin ).applyMatrix4( matrix4 );
+		this.origin.applyMatrix4( matrix4 );
+		this.direction.sub( this.origin );
+
+		return this;
+	},
+
+	equals: function ( ray ) {
+
+		return ray.origin.equals( this.origin ) && ray.direction.equals( this.direction );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Ray().copy( this );
+
+	}
+
+} );
+/**
+ * @author bhouston / http://exocortex.com
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Sphere = function ( center, radius ) {
+
+	this.center = ( center !== undefined ) ? center : new THREE.Vector3();
+	this.radius = ( radius !== undefined ) ? radius : 0;
+
+};
+
+THREE.extend( THREE.Sphere.prototype, {
+
+	set: function ( center, radius ) {
+
+		this.center.copy( center );
+		this.radius = radius;
+
+		return this;
+	},
+
+	setFromCenterAndPoints: function ( center, points ) {
+
+		var maxRadiusSq = 0;
+
+		for ( var i = 0, il = points.length; i < il; i ++ ) {
+
+			var radiusSq = center.distanceToSquared( points[ i ] );
+			maxRadiusSq = Math.max( maxRadiusSq, radiusSq );
+
+		}
+
+		this.center = center;
+		this.radius = Math.sqrt( maxRadiusSq );
+
+		return this;
+
+	},
+
+	copy: function ( sphere ) {
+
+		this.center.copy( sphere.center );
+		this.radius = sphere.radius;
+
+		return this;
+
+	},
+
+	empty: function () {
+
+		return ( this.radius <= 0 );
+
+	},
+
+	containsPoint: function ( point ) {
+
+		return ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) );
+
+	},
+
+	distanceToPoint: function ( point ) {
+
+		return ( point.distanceTo( this.center ) - this.radius );
+
+	},
+
+	intersectsSphere: function ( sphere ) {
+
+		var radiusSum = this.radius + sphere.radius;
+
+		return sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum );
+
+	},
+
+	clampPoint: function ( point, optionalTarget ) {
+
+		var deltaLengthSq = this.center.distanceToSquared( point );
+
+		var result = optionalTarget || new THREE.Vector3();
+		result.copy( point );
+
+		if ( deltaLengthSq > ( this.radius * this.radius ) ) {
+
+			result.sub( this.center ).normalize();
+			result.multiplyScalar( this.radius ).add( this.center );
+
+		}
+
+		return result;
+
+	},
+
+	getBoundingBox: function ( optionalTarget ) {
+
+		var box = optionalTarget || new THREE.Box3();
+
+		box.set( this.center, this.center );
+		box.expandByScalar( this.radius );
+
+		return box;
+
+	},
+
+	applyMatrix4: function ( matrix ) {
+
+		this.center.applyMatrix4( matrix );
+		this.radius = this.radius * matrix.getMaxScaleOnAxis();
+
+		return this;
+
+	},
+
+	translate: function ( offset ) {
+
+		this.center.add( offset );
+
+		return this;
+
+	},
+
+	equals: function ( sphere ) {
+
+		return sphere.center.equals( this.center ) && ( sphere.radius === this.radius );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Sphere().copy( this );
+
+	}
+
+} );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Frustum = function ( p0, p1, p2, p3, p4, p5 ) {
+
+	this.planes = [
+
+		( p0 !== undefined ) ? p0 : new THREE.Plane(),
+		( p1 !== undefined ) ? p1 : new THREE.Plane(),
+		( p2 !== undefined ) ? p2 : new THREE.Plane(),
+		( p3 !== undefined ) ? p3 : new THREE.Plane(),
+		( p4 !== undefined ) ? p4 : new THREE.Plane(),
+		( p5 !== undefined ) ? p5 : new THREE.Plane()
+
+	];
+
+};
+
+THREE.extend( THREE.Frustum.prototype, {
+
+	set: function ( p0, p1, p2, p3, p4, p5 ) {
+
+		var planes = this.planes;
+
+		planes[0].copy( p0 );
+		planes[1].copy( p1 );
+		planes[2].copy( p2 );
+		planes[3].copy( p3 );
+		planes[4].copy( p4 );
+		planes[5].copy( p5 );
+
+		return this;
+
+	},
+
+	copy: function ( frustum ) {
+
+		var planes = this.planes;
+
+		for( var i = 0; i < 6; i ++ ) {
+
+			planes[i].copy( frustum.planes[i] );
+
+		}
+
+		return this;
+
+	},
+
+	setFromMatrix: function ( m ) {
+
+		var planes = this.planes;
+		var me = m.elements;
+		var me0 = me[0], me1 = me[1], me2 = me[2], me3 = me[3];
+		var me4 = me[4], me5 = me[5], me6 = me[6], me7 = me[7];
+		var me8 = me[8], me9 = me[9], me10 = me[10], me11 = me[11];
+		var me12 = me[12], me13 = me[13], me14 = me[14], me15 = me[15];
+
+		planes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize();
+		planes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize();
+		planes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize();
+		planes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize();
+		planes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize();
+		planes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize();
+
+		return this;
+
+	},
+
+	intersectsObject: function () {
+
+		var center = new THREE.Vector3();
+
+		return function ( object ) {
+
+			// this method is expanded inlined for performance reasons.
+
+			var matrix = object.matrixWorld;
+			var planes = this.planes;
+			var negRadius = - object.geometry.boundingSphere.radius * matrix.getMaxScaleOnAxis();
+
+			center.getPositionFromMatrix( matrix );
+
+			for ( var i = 0; i < 6; i ++ ) {
+
+				var distance = planes[ i ].distanceToPoint( center );
+
+				if ( distance < negRadius ) {
+
+					return false;
+
+				}
+
+			}
+
+			return true;
+
+		};
+
+	}(),
+
+	intersectsSphere: function ( sphere ) {
+
+		var planes = this.planes;
+		var center = sphere.center;
+		var negRadius = -sphere.radius;
+
+		for ( var i = 0; i < 6; i ++ ) {
+
+			var distance = planes[ i ].distanceToPoint( center );
+
+			if ( distance < negRadius ) {
+
+				return false;
+
+			}
+
+		}
+
+		return true;
+
+	},
+
+	containsPoint: function ( point ) {
+
+		var planes = this.planes;
+
+		for ( var i = 0; i < 6; i ++ ) {
+
+			if ( planes[ i ].distanceToPoint( point ) < 0 ) {
+
+				return false;
+
+			}
+
+		}
+
+		return true;
+
+	},
+
+	clone: function () {
+
+		return new THREE.Frustum().copy( this );
+
+	}
+
+} );
+/**
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Plane = function ( normal, constant ) {
+
+	this.normal = ( normal !== undefined ) ? normal : new THREE.Vector3( 1, 0, 0 );
+	this.constant = ( constant !== undefined ) ? constant : 0;
+
+};
+
+THREE.extend( THREE.Plane.prototype, {
+
+	set: function ( normal, constant ) {
+
+		this.normal.copy( normal );
+		this.constant = constant;
+
+		return this;
+
+	},
+
+	setComponents: function ( x, y, z, w ) {
+
+		this.normal.set( x, y, z );
+		this.constant = w;
+
+		return this;
+
+	},
+
+	setFromNormalAndCoplanarPoint: function ( normal, point ) {
+
+		this.normal.copy( normal );
+		this.constant = - point.dot( this.normal );	// must be this.normal, not normal, as this.normal is normalized
+
+		return this;
+
+	},
+
+	setFromCoplanarPoints: function() {
+
+		var v1 = new THREE.Vector3();
+		var v2 = new THREE.Vector3();
+
+		return function ( a, b, c ) {
+
+			var normal = v1.subVectors( c, b ).cross( v2.subVectors( a, b ) ).normalize();
+
+			// Q: should an error be thrown if normal is zero (e.g. degenerate plane)?
+
+			this.setFromNormalAndCoplanarPoint( normal, a );
+
+			return this;
+
+		};
+
+	}(),
+
+
+	copy: function ( plane ) {
+
+		this.normal.copy( plane.normal );
+		this.constant = plane.constant;
+
+		return this;
+
+	},
+
+	normalize: function () {
+
+		// Note: will lead to a divide by zero if the plane is invalid.
+
+		var inverseNormalLength = 1.0 / this.normal.length();
+		this.normal.multiplyScalar( inverseNormalLength );
+		this.constant *= inverseNormalLength;
+
+		return this;
+
+	},
+
+	negate: function () {
+
+		this.constant *= -1;
+		this.normal.negate();
+
+		return this;
+
+	},
+
+	distanceToPoint: function ( point ) {
+
+		return this.normal.dot( point ) + this.constant;
+
+	},
+
+	distanceToSphere: function ( sphere ) {
+
+		return this.distanceToPoint( sphere.center ) - sphere.radius;
+
+	},
+
+	projectPoint: function ( point, optionalTarget ) {
+
+		return this.orthoPoint( point, optionalTarget ).sub( point ).negate();
+
+	},
+
+	orthoPoint: function ( point, optionalTarget ) {
+
+		var perpendicularMagnitude = this.distanceToPoint( point );
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.copy( this.normal ).multiplyScalar( perpendicularMagnitude );
+
+	},
+
+	isIntersectionLine: function ( line ) {
+
+		// Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it.
+
+		var startSign = this.distanceToPoint( line.start );
+		var endSign = this.distanceToPoint( line.end );
+
+		return ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 );
+
+	},
+
+	intersectLine: function() {
+
+		var v1 = new THREE.Vector3();
+
+		return function ( line, optionalTarget ) {
+
+			var result = optionalTarget || new THREE.Vector3();
+
+			var direction = line.delta( v1 );
+
+			var denominator = this.normal.dot( direction );
+
+			if ( denominator == 0 ) {
+
+				// line is coplanar, return origin
+				if( this.distanceToPoint( line.start ) == 0 ) {
+
+					return result.copy( line.start );
+
+				}
+
+				// Unsure if this is the correct method to handle this case.
+				return undefined;
+
+			}
+
+			var t = - ( line.start.dot( this.normal ) + this.constant ) / denominator;
+
+			if( t < 0 || t > 1 ) {
+
+				return undefined;
+
+			}
+
+			return result.copy( direction ).multiplyScalar( t ).add( line.start );
+
+		};
+
+	}(),
+
+
+	coplanarPoint: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.copy( this.normal ).multiplyScalar( - this.constant );
+
+	},
+
+	applyMatrix4: function() {
+
+		var v1 = new THREE.Vector3();
+		var v2 = new THREE.Vector3();
+
+		return function ( matrix, optionalNormalMatrix ) {
+
+			// compute new normal based on theory here:
+			// http://www.songho.ca/opengl/gl_normaltransform.html
+			optionalNormalMatrix = optionalNormalMatrix || new THREE.Matrix3().getInverse( matrix ).transpose();
+			var newNormal = v1.copy( this.normal ).applyMatrix3( optionalNormalMatrix );
+
+			var newCoplanarPoint = this.coplanarPoint( v2 );
+			newCoplanarPoint.applyMatrix4( matrix );
+
+			this.setFromNormalAndCoplanarPoint( newNormal, newCoplanarPoint );
+
+			return this;
+
+		};
+
+	}(),
+
+	translate: function ( offset ) {
+
+		this.constant = this.constant - offset.dot( this.normal );
+
+		return this;
+
+	},
+
+	equals: function ( plane ) {
+
+		return plane.normal.equals( this.normal ) && ( plane.constant == this.constant );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Plane().copy( this );
+
+	}
+
+} );
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Math = {
+
+	// Clamp value to range <a, b>
+
+	clamp: function ( x, a, b ) {
+
+		return ( x < a ) ? a : ( ( x > b ) ? b : x );
+
+	},
+
+	// Clamp value to range <a, inf)
+
+	clampBottom: function ( x, a ) {
+
+		return x < a ? a : x;
+
+	},
+
+	// Linear mapping from range <a1, a2> to range <b1, b2>
+
+	mapLinear: function ( x, a1, a2, b1, b2 ) {
+
+		return b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 );
+
+	},
+
+	// http://en.wikipedia.org/wiki/Smoothstep
+
+	smoothstep: function ( x, min, max ) {
+
+		if ( x <= min ) return 0;
+		if ( x >= max ) return 1;
+
+		x = ( x - min )/( max - min );
+
+		return x*x*(3 - 2*x);
+
+	},
+
+	smootherstep: function ( x, min, max ) {
+
+		if ( x <= min ) return 0;
+		if ( x >= max ) return 1;
+
+		x = ( x - min )/( max - min );
+
+		return x*x*x*(x*(x*6 - 15) + 10);
+
+	},
+
+	// Random float from <0, 1> with 16 bits of randomness
+	// (standard Math.random() creates repetitive patterns when applied over larger space)
+
+	random16: function () {
+
+		return ( 65280 * Math.random() + 255 * Math.random() ) / 65535;
+
+	},
+
+	// Random integer from <low, high> interval
+
+	randInt: function ( low, high ) {
+
+		return low + Math.floor( Math.random() * ( high - low + 1 ) );
+
+	},
+
+	// Random float from <low, high> interval
+
+	randFloat: function ( low, high ) {
+
+		return low + Math.random() * ( high - low );
+
+	},
+
+	// Random float from <-range/2, range/2> interval
+
+	randFloatSpread: function ( range ) {
+
+		return range * ( 0.5 - Math.random() );
+
+	},
+
+	sign: function ( x ) {
+
+		return ( x < 0 ) ? -1 : ( ( x > 0 ) ? 1 : 0 );
+
+	},
+
+	degToRad: function() {
+
+		var degreeToRadiansFactor = Math.PI / 180;
+
+		return function ( degrees ) {
+
+			return degrees * degreeToRadiansFactor;
+
+		};
+
+	}(),
+
+	radToDeg: function() {
+
+		var radianToDegreesFactor = 180 / Math.PI;
+
+		return function ( radians ) {
+
+			return radians * radianToDegreesFactor;
+
+		};
+
+	}()
+
+};
+/**
+ * Spline from Tween.js, slightly optimized (and trashed)
+ * http://sole.github.com/tween.js/examples/05_spline.html
+ *
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Spline = function ( points ) {
+
+	this.points = points;
+
+	var c = [], v3 = { x: 0, y: 0, z: 0 },
+	point, intPoint, weight, w2, w3,
+	pa, pb, pc, pd;
+
+	this.initFromArray = function( a ) {
+
+		this.points = [];
+
+		for ( var i = 0; i < a.length; i++ ) {
+
+			this.points[ i ] = { x: a[ i ][ 0 ], y: a[ i ][ 1 ], z: a[ i ][ 2 ] };
+
+		}
+
+	};
+
+	this.getPoint = function ( k ) {
+
+		point = ( this.points.length - 1 ) * k;
+		intPoint = Math.floor( point );
+		weight = point - intPoint;
+
+		c[ 0 ] = intPoint === 0 ? intPoint : intPoint - 1;
+		c[ 1 ] = intPoint;
+		c[ 2 ] = intPoint  > this.points.length - 2 ? this.points.length - 1 : intPoint + 1;
+		c[ 3 ] = intPoint  > this.points.length - 3 ? this.points.length - 1 : intPoint + 2;
+
+		pa = this.points[ c[ 0 ] ];
+		pb = this.points[ c[ 1 ] ];
+		pc = this.points[ c[ 2 ] ];
+		pd = this.points[ c[ 3 ] ];
+
+		w2 = weight * weight;
+		w3 = weight * w2;
+
+		v3.x = interpolate( pa.x, pb.x, pc.x, pd.x, weight, w2, w3 );
+		v3.y = interpolate( pa.y, pb.y, pc.y, pd.y, weight, w2, w3 );
+		v3.z = interpolate( pa.z, pb.z, pc.z, pd.z, weight, w2, w3 );
+
+		return v3;
+
+	};
+
+	this.getControlPointsArray = function () {
+
+		var i, p, l = this.points.length,
+			coords = [];
+
+		for ( i = 0; i < l; i ++ ) {
+
+			p = this.points[ i ];
+			coords[ i ] = [ p.x, p.y, p.z ];
+
+		}
+
+		return coords;
+
+	};
+
+	// approximate length by summing linear segments
+
+	this.getLength = function ( nSubDivisions ) {
+
+		var i, index, nSamples, position,
+			point = 0, intPoint = 0, oldIntPoint = 0,
+			oldPosition = new THREE.Vector3(),
+			tmpVec = new THREE.Vector3(),
+			chunkLengths = [],
+			totalLength = 0;
+
+		// first point has 0 length
+
+		chunkLengths[ 0 ] = 0;
+
+		if ( !nSubDivisions ) nSubDivisions = 100;
+
+		nSamples = this.points.length * nSubDivisions;
+
+		oldPosition.copy( this.points[ 0 ] );
+
+		for ( i = 1; i < nSamples; i ++ ) {
+
+			index = i / nSamples;
+
+			position = this.getPoint( index );
+			tmpVec.copy( position );
+
+			totalLength += tmpVec.distanceTo( oldPosition );
+
+			oldPosition.copy( position );
+
+			point = ( this.points.length - 1 ) * index;
+			intPoint = Math.floor( point );
+
+			if ( intPoint != oldIntPoint ) {
+
+				chunkLengths[ intPoint ] = totalLength;
+				oldIntPoint = intPoint;
+
+			}
+
+		}
+
+		// last point ends with total length
+
+		chunkLengths[ chunkLengths.length ] = totalLength;
+
+		return { chunks: chunkLengths, total: totalLength };
+
+	};
+
+	this.reparametrizeByArcLength = function ( samplingCoef ) {
+
+		var i, j,
+			index, indexCurrent, indexNext,
+			linearDistance, realDistance,
+			sampling, position,
+			newpoints = [],
+			tmpVec = new THREE.Vector3(),
+			sl = this.getLength();
+
+		newpoints.push( tmpVec.copy( this.points[ 0 ] ).clone() );
+
+		for ( i = 1; i < this.points.length; i++ ) {
+
+			//tmpVec.copy( this.points[ i - 1 ] );
+			//linearDistance = tmpVec.distanceTo( this.points[ i ] );
+
+			realDistance = sl.chunks[ i ] - sl.chunks[ i - 1 ];
+
+			sampling = Math.ceil( samplingCoef * realDistance / sl.total );
+
+			indexCurrent = ( i - 1 ) / ( this.points.length - 1 );
+			indexNext = i / ( this.points.length - 1 );
+
+			for ( j = 1; j < sampling - 1; j++ ) {
+
+				index = indexCurrent + j * ( 1 / sampling ) * ( indexNext - indexCurrent );
+
+				position = this.getPoint( index );
+				newpoints.push( tmpVec.copy( position ).clone() );
+
+			}
+
+			newpoints.push( tmpVec.copy( this.points[ i ] ).clone() );
+
+		}
+
+		this.points = newpoints;
+
+	};
+
+	// Catmull-Rom
+
+	function interpolate( p0, p1, p2, p3, t, t2, t3 ) {
+
+		var v0 = ( p2 - p0 ) * 0.5,
+			v1 = ( p3 - p1 ) * 0.5;
+
+		return ( 2 * ( p1 - p2 ) + v0 + v1 ) * t3 + ( - 3 * ( p1 - p2 ) - 2 * v0 - v1 ) * t2 + v0 * t + p1;
+
+	};
+
+};
+/**
+ * @author bhouston / http://exocortex.com
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Triangle = function ( a, b, c ) {
+
+	this.a = ( a !== undefined ) ? a : new THREE.Vector3();
+	this.b = ( b !== undefined ) ? b : new THREE.Vector3();
+	this.c = ( c !== undefined ) ? c : new THREE.Vector3();
+
+};
+
+THREE.Triangle.normal = function() {
+
+	var v0 = new THREE.Vector3();
+
+	return function( a, b, c, optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+
+		result.subVectors( c, b );
+		v0.subVectors( a, b );
+		result.cross( v0 );
+
+		var resultLengthSq = result.lengthSq();
+		if( resultLengthSq > 0 ) {
+
+			return result.multiplyScalar( 1 / Math.sqrt( resultLengthSq ) );
+
+		}
+
+		return result.set( 0, 0, 0 );
+
+	};
+
+}();
+
+// static/instance method to calculate barycoordinates
+// based on: http://www.blackpawn.com/texts/pointinpoly/default.html
+THREE.Triangle.barycoordFromPoint = function() {
+
+	var v0 = new THREE.Vector3(),
+		v1 = new THREE.Vector3(),
+		v2 = new THREE.Vector3();
+
+	return function ( point, a, b, c, optionalTarget ) {
+
+		v0.subVectors( c, a );
+		v1.subVectors( b, a );
+		v2.subVectors( point, a );
+
+		var dot00 = v0.dot( v0 );
+		var dot01 = v0.dot( v1 );
+		var dot02 = v0.dot( v2 );
+		var dot11 = v1.dot( v1 );
+		var dot12 = v1.dot( v2 );
+
+		var denom = ( dot00 * dot11 - dot01 * dot01 );
+
+		var result = optionalTarget || new THREE.Vector3();
+
+		// colinear or singular triangle
+		if( denom == 0 ) {
+			// arbitrary location outside of triangle?
+			// not sure if this is the best idea, maybe should be returning undefined
+			return result.set( -2, -1, -1 );
+		}
+
+		var invDenom = 1 / denom;
+		var u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;
+		var v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;
+
+		// barycoordinates must always sum to 1
+		return result.set( 1 - u - v, v, u );
+
+	};
+
+}();
+
+THREE.Triangle.containsPoint = function() {
+
+	var v1 = new THREE.Vector3();
+
+	return function ( point, a, b, c ) {
+
+		var result = THREE.Triangle.barycoordFromPoint( point, a, b, c, v1 );
+
+		return ( result.x >= 0 ) && ( result.y >= 0 ) && ( ( result.x + result.y ) <= 1 );
+
+	};
+
+}();
+
+THREE.extend( THREE.Triangle.prototype, {
+
+	constructor: THREE.Triangle,
+
+	set: function ( a, b, c ) {
+
+		this.a.copy( a );
+		this.b.copy( b );
+		this.c.copy( c );
+
+		return this;
+
+	},
+
+	setFromPointsAndIndices: function ( points, i0, i1, i2 ) {
+
+		this.a.copy( points[i0] );
+		this.b.copy( points[i1] );
+		this.c.copy( points[i2] );
+
+		return this;
+
+	},
+
+	copy: function ( triangle ) {
+
+		this.a.copy( triangle.a );
+		this.b.copy( triangle.b );
+		this.c.copy( triangle.c );
+
+		return this;
+
+	},
+
+	area: function() {
+
+		var v0 = new THREE.Vector3();
+		var v1 = new THREE.Vector3();
+
+		return function () {
+
+			v0.subVectors( this.c, this.b );
+			v1.subVectors( this.a, this.b );
+
+			return v0.cross( v1 ).length() * 0.5;
+
+		};
+
+	}(),
+
+	midpoint: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Vector3();
+		return result.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );
+
+	},
+
+	normal: function ( optionalTarget ) {
+
+		return THREE.Triangle.normal( this.a, this.b, this.c, optionalTarget );
+
+	},
+
+	plane: function ( optionalTarget ) {
+
+		var result = optionalTarget || new THREE.Plane();
+
+		return result.setFromCoplanarPoints( this.a, this.b, this.c );
+
+	},
+
+	barycoordFromPoint: function ( point, optionalTarget ) {
+
+		return THREE.Triangle.barycoordFromPoint( point, this.a, this.b, this.c, optionalTarget );
+
+	},
+
+	containsPoint: function ( point ) {
+
+		return THREE.Triangle.containsPoint( point, this.a, this.b, this.c );
+
+	},
+
+	equals: function ( triangle ) {
+
+		return triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );
+
+	},
+
+	clone: function () {
+
+		return new THREE.Triangle().copy( this );
+
+	}
+
+} );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Vertex = function ( v ) {
+
+	console.warn( 'THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.')
+	return v;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.UV = function ( u, v ) {
+
+	console.warn( 'THREE.UV has been DEPRECATED. Use THREE.Vector2 instead.')
+	return new THREE.Vector2( u, v );
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Clock = function ( autoStart ) {
+
+	this.autoStart = ( autoStart !== undefined ) ? autoStart : true;
+
+	this.startTime = 0;
+	this.oldTime = 0;
+	this.elapsedTime = 0;
+
+	this.running = false;
+
+};
+
+THREE.extend( THREE.Clock.prototype, {
+
+	start: function () {
+
+		this.startTime = window.performance !== undefined && window.performance.now !== undefined
+					? window.performance.now()
+					: Date.now();
+
+		this.oldTime = this.startTime;
+		this.running = true;
+	},
+
+	stop: function () {
+
+		this.getElapsedTime();
+		this.running = false;
+
+	},
+
+	getElapsedTime: function () {
+
+		this.getDelta();
+		return this.elapsedTime;
+
+	},
+
+	getDelta: function () {
+
+		var diff = 0;
+
+		if ( this.autoStart && ! this.running ) {
+
+			this.start();
+
+		}
+
+		if ( this.running ) {
+
+			var newTime = window.performance !== undefined && window.performance.now !== undefined
+					? window.performance.now()
+					: Date.now();
+
+			diff = 0.001 * ( newTime - this.oldTime );
+			this.oldTime = newTime;
+
+			this.elapsedTime += diff;
+
+		}
+
+		return diff;
+
+	}
+
+} );
+/**
+ * https://github.com/mrdoob/eventdispatcher.js/
+ */
+
+THREE.EventDispatcher = function () {
+
+	var listeners = {};
+
+	this.addEventListener = function ( type, listener ) {
+
+		if ( listeners[ type ] === undefined ) {
+
+			listeners[ type ] = [];
+
+		}
+
+		if ( listeners[ type ].indexOf( listener ) === - 1 ) {
+
+			listeners[ type ].push( listener );
+
+		}
+
+	};
+
+	this.removeEventListener = function ( type, listener ) {
+
+		var index = listeners[ type ].indexOf( listener );
+
+		if ( index !== - 1 ) {
+
+			listeners[ type ].splice( index, 1 );
+
+		}
+
+	};
+
+	this.dispatchEvent = function ( event ) {
+
+		var listenerArray = listeners[ event.type ];
+
+		if ( listenerArray !== undefined ) {
+
+			event.target = this;
+
+			for ( var i = 0, l = listenerArray.length; i < l; i ++ ) {
+
+				listenerArray[ i ].call( this, event );
+
+			}
+
+		}
+
+	};
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author bhouston / http://exocortex.com/
+ */
+
+( function ( THREE ) {
+
+	THREE.Raycaster = function ( origin, direction, near, far ) {
+
+		this.ray = new THREE.Ray( origin, direction );
+
+		// normalized ray.direction required for accurate distance calculations
+		if( this.ray.direction.lengthSq() > 0 ) {
+
+			this.ray.direction.normalize();
+
+		}
+
+		this.near = near || 0;
+		this.far = far || Infinity;
+
+	};
+
+	var sphere = new THREE.Sphere();
+	var localRay = new THREE.Ray();
+	var facePlane = new THREE.Plane();
+	var intersectPoint = new THREE.Vector3();
+	var matrixPosition = new THREE.Vector3();
+
+	var inverseMatrix = new THREE.Matrix4();
+
+	var descSort = function ( a, b ) {
+
+		return a.distance - b.distance;
+
+	};
+
+	var intersectObject = function ( object, raycaster, intersects ) {
+
+		if ( object instanceof THREE.Particle ) {
+
+			matrixPosition.getPositionFromMatrix( object.matrixWorld );
+			var distance = raycaster.ray.distanceToPoint( matrixPosition );
+
+			if ( distance > object.scale.x ) {
+
+				return intersects;
+
+			}
+
+			intersects.push( {
+
+				distance: distance,
+				point: object.position,
+				face: null,
+				object: object
+
+			} );
+
+		} else if ( object instanceof THREE.Mesh ) {
+
+			// Checking boundingSphere distance to ray
+			matrixPosition.getPositionFromMatrix( object.matrixWorld );
+			sphere.set(
+				matrixPosition,
+				object.geometry.boundingSphere.radius * object.matrixWorld.getMaxScaleOnAxis() );
+
+			if ( ! raycaster.ray.isIntersectionSphere( sphere ) ) {
+
+				return intersects;
+
+			}
+
+			// Checking faces
+
+			var geometry = object.geometry;
+			var vertices = geometry.vertices;
+
+			var isFaceMaterial = object.material instanceof THREE.MeshFaceMaterial;
+			var objectMaterials = isFaceMaterial === true ? object.material.materials : null;
+
+			var side = object.material.side;
+
+			var a, b, c, d;
+			var precision = raycaster.precision;
+
+			object.matrixRotationWorld.extractRotation( object.matrixWorld );
+
+			inverseMatrix.getInverse( object.matrixWorld );
+
+			localRay.copy( raycaster.ray ).applyMatrix4( inverseMatrix );
+
+			for ( var f = 0, fl = geometry.faces.length; f < fl; f ++ ) {
+
+				var face = geometry.faces[ f ];
+
+				var material = isFaceMaterial === true ? objectMaterials[ face.materialIndex ] : object.material;
+
+				if ( material === undefined ) continue;
+
+				facePlane.setFromNormalAndCoplanarPoint( face.normal, vertices[face.a] );
+
+				var planeDistance = localRay.distanceToPlane( facePlane );
+
+				// bail if raycaster and plane are parallel
+				if ( Math.abs( planeDistance ) < precision ) continue;
+
+				// if negative distance, then plane is behind raycaster
+				if ( planeDistance < 0 ) continue;
+
+				// check if we hit the wrong side of a single sided face
+				side = material.side;
+				if( side !== THREE.DoubleSide ) {
+
+					var planeSign = localRay.direction.dot( facePlane.normal );
+
+					if( ! ( side === THREE.FrontSide ? planeSign < 0 : planeSign > 0 ) ) continue;
+
+				}
+
+				// this can be done using the planeDistance from localRay because localRay wasn't normalized, but ray was
+				if ( planeDistance < raycaster.near || planeDistance > raycaster.far ) continue;
+
+				intersectPoint = localRay.at( planeDistance, intersectPoint ); // passing in intersectPoint avoids a copy
+
+				if ( face instanceof THREE.Face3 ) {
+
+					a = vertices[ face.a ];
+					b = vertices[ face.b ];
+					c = vertices[ face.c ];
+
+					if ( ! THREE.Triangle.containsPoint( intersectPoint, a, b, c ) ) continue;
+
+				} else if ( face instanceof THREE.Face4 ) {
+
+					a = vertices[ face.a ];
+					b = vertices[ face.b ];
+					c = vertices[ face.c ];
+					d = vertices[ face.d ];
+
+					if ( ( ! THREE.Triangle.containsPoint( intersectPoint, a, b, d ) ) &&
+						 ( ! THREE.Triangle.containsPoint( intersectPoint, b, c, d ) ) ) continue;
+
+				} else {
+
+					// This is added because if we call out of this if/else group when none of the cases
+					//    match it will add a point to the intersection list erroneously.
+					throw Error( "face type not supported" );
+
+				}
+
+				intersects.push( {
+
+					distance: planeDistance,	// this works because the original ray was normalized, and the transformed localRay wasn't
+					point: raycaster.ray.at( planeDistance ),
+					face: face,
+					faceIndex: f,
+					object: object
+
+				} );
+
+			}
+
+		}
+
+	};
+
+	var intersectDescendants = function ( object, raycaster, intersects ) {
+
+		var descendants = object.getDescendants();
+
+		for ( var i = 0, l = descendants.length; i < l; i ++ ) {
+
+			intersectObject( descendants[ i ], raycaster, intersects );
+
+		}
+	};
+
+	//
+
+	THREE.Raycaster.prototype.precision = 0.0001;
+
+	THREE.Raycaster.prototype.set = function ( origin, direction ) {
+
+		this.ray.set( origin, direction );
+
+		// normalized ray.direction required for accurate distance calculations
+		if( this.ray.direction.length() > 0 ) {
+
+			this.ray.direction.normalize();
+
+		}
+
+	};
+
+	THREE.Raycaster.prototype.intersectObject = function ( object, recursive ) {
+
+		var intersects = [];
+
+		if ( recursive === true ) {
+
+			intersectDescendants( object, this, intersects );
+
+		}
+
+		intersectObject( object, this, intersects );
+
+		intersects.sort( descSort );
+
+		return intersects;
+
+	};
+
+	THREE.Raycaster.prototype.intersectObjects = function ( objects, recursive ) {
+
+		var intersects = [];
+
+		for ( var i = 0, l = objects.length; i < l; i ++ ) {
+
+			intersectObject( objects[ i ], this, intersects );
+
+			if ( recursive === true ) {
+
+				intersectDescendants( objects[ i ], this, intersects );
+
+			}
+		}
+
+		intersects.sort( descSort );
+
+		return intersects;
+
+	};
+
+}( THREE ) );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Object3D = function () {
+
+	this.id = THREE.Object3DIdCount ++;
+
+	this.name = '';
+	this.properties = {};
+
+	this.parent = undefined;
+	this.children = [];
+
+	this.up = new THREE.Vector3( 0, 1, 0 );
+
+	this.position = new THREE.Vector3();
+	this.rotation = new THREE.Vector3();
+	this.eulerOrder = THREE.Object3D.defaultEulerOrder;
+	this.scale = new THREE.Vector3( 1, 1, 1 );
+
+	this.renderDepth = null;
+
+	this.rotationAutoUpdate = true;
+
+	this.matrix = new THREE.Matrix4();
+	this.matrixWorld = new THREE.Matrix4();
+	this.matrixRotationWorld = new THREE.Matrix4();
+
+	this.matrixAutoUpdate = true;
+	this.matrixWorldNeedsUpdate = true;
+
+	this.quaternion = new THREE.Quaternion();
+	this.useQuaternion = false;
+
+	this.visible = true;
+
+	this.castShadow = false;
+	this.receiveShadow = false;
+
+	this.frustumCulled = true;
+
+	this._vector = new THREE.Vector3();
+
+};
+
+
+THREE.Object3D.prototype = {
+
+	constructor: THREE.Object3D,
+
+	applyMatrix: function ( matrix ) {
+
+		this.matrix.multiplyMatrices( matrix, this.matrix );
+
+		this.scale.getScaleFromMatrix( this.matrix );
+
+		var mat = new THREE.Matrix4().extractRotation( this.matrix );
+		this.rotation.setEulerFromRotationMatrix( mat, this.eulerOrder );
+
+		this.position.getPositionFromMatrix( this.matrix );
+
+	},
+
+	translate: function ( distance, axis ) {
+
+		this.matrix.rotateAxis( axis );
+		this.position.add( axis.multiplyScalar( distance ) );
+
+	},
+
+	translateX: function ( distance ) {
+
+		this.translate( distance, this._vector.set( 1, 0, 0 ) );
+
+	},
+
+	translateY: function ( distance ) {
+
+		this.translate( distance, this._vector.set( 0, 1, 0 ) );
+
+	},
+
+	translateZ: function ( distance ) {
+
+		this.translate( distance, this._vector.set( 0, 0, 1 ) );
+
+	},
+
+	localToWorld: function ( vector ) {
+
+		return vector.applyMatrix4( this.matrixWorld );
+
+	},
+
+	worldToLocal: function ( vector ) {
+
+		return vector.applyMatrix4( THREE.Object3D.__m1.getInverse( this.matrixWorld ) );
+
+	},
+
+	lookAt: function ( vector ) {
+
+		// TODO: Add hierarchy support.
+
+		this.matrix.lookAt( vector, this.position, this.up );
+
+		if ( this.rotationAutoUpdate ) {
+
+			if ( this.useQuaternion === false )  {
+
+				this.rotation.setEulerFromRotationMatrix( this.matrix, this.eulerOrder );
+
+			} else {
+
+				this.quaternion.copy( this.matrix.decompose()[ 1 ] );
+
+			}
+
+		}
+
+	},
+
+	add: function ( object ) {
+
+		if ( object === this ) {
+
+			console.warn( 'THREE.Object3D.add: An object can\'t be added as a child of itself.' );
+			return;
+
+		}
+
+		if ( object instanceof THREE.Object3D ) {
+
+			if ( object.parent !== undefined ) {
+
+				object.parent.remove( object );
+
+			}
+
+			object.parent = this;
+			this.children.push( object );
+
+			// add to scene
+
+			var scene = this;
+
+			while ( scene.parent !== undefined ) {
+
+				scene = scene.parent;
+
+			}
+
+			if ( scene !== undefined && scene instanceof THREE.Scene )  {
+
+				scene.__addObject( object );
+
+			}
+
+		}
+
+	},
+
+	remove: function ( object ) {
+
+		var index = this.children.indexOf( object );
+
+		if ( index !== - 1 ) {
+
+			object.parent = undefined;
+			this.children.splice( index, 1 );
+
+			// remove from scene
+
+			var scene = this;
+
+			while ( scene.parent !== undefined ) {
+
+				scene = scene.parent;
+
+			}
+
+			if ( scene !== undefined && scene instanceof THREE.Scene ) {
+
+				scene.__removeObject( object );
+
+			}
+
+		}
+
+	},
+
+	traverse: function ( callback ) {
+
+		callback( this );
+
+		for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+			this.children[ i ].traverse( callback );
+
+		}
+
+	},
+
+	getChildByName: function ( name, recursive ) {
+
+		for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+			var child = this.children[ i ];
+
+			if ( child.name === name ) {
+
+				return child;
+
+			}
+
+			if ( recursive === true ) {
+
+				child = child.getChildByName( name, recursive );
+
+				if ( child !== undefined ) {
+
+					return child;
+
+				}
+
+			}
+
+		}
+
+		return undefined;
+
+	},
+
+	getDescendants: function ( array ) {
+
+		if ( array === undefined ) array = [];
+
+		Array.prototype.push.apply( array, this.children );
+
+		for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+			this.children[ i ].getDescendants( array );
+
+		}
+
+		return array;
+
+	},
+
+	updateMatrix: function () {
+
+		this.matrix.setPosition( this.position );
+
+		if ( this.useQuaternion === false )  {
+
+			this.matrix.setRotationFromEuler( this.rotation, this.eulerOrder );
+
+		} else {
+
+			this.matrix.setRotationFromQuaternion( this.quaternion );
+
+		}
+
+		if ( this.scale.x !== 1 || this.scale.y !== 1 || this.scale.z !== 1 ) {
+
+			this.matrix.scale( this.scale );
+
+		}
+
+		this.matrixWorldNeedsUpdate = true;
+
+	},
+
+	updateMatrixWorld: function ( force ) {
+
+		if ( this.matrixAutoUpdate === true ) this.updateMatrix();
+
+		if ( this.matrixWorldNeedsUpdate === true || force === true ) {
+
+			if ( this.parent === undefined ) {
+
+				this.matrixWorld.copy( this.matrix );
+
+			} else {
+
+				this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );
+
+			}
+
+			this.matrixWorldNeedsUpdate = false;
+
+			force = true;
+
+		}
+
+		// update children
+
+		for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+			this.children[ i ].updateMatrixWorld( force );
+
+		}
+
+	},
+
+	clone: function ( object ) {
+
+		if ( object === undefined ) object = new THREE.Object3D();
+
+		object.name = this.name;
+
+		object.up.copy( this.up );
+
+		object.position.copy( this.position );
+		if ( object.rotation instanceof THREE.Vector3 ) object.rotation.copy( this.rotation ); // because of Sprite madness
+		object.eulerOrder = this.eulerOrder;
+		object.scale.copy( this.scale );
+
+		object.renderDepth = this.renderDepth;
+
+		object.rotationAutoUpdate = this.rotationAutoUpdate;
+
+		object.matrix.copy( this.matrix );
+		object.matrixWorld.copy( this.matrixWorld );
+		object.matrixRotationWorld.copy( this.matrixRotationWorld );
+
+		object.matrixAutoUpdate = this.matrixAutoUpdate;
+		object.matrixWorldNeedsUpdate = this.matrixWorldNeedsUpdate;
+
+		object.quaternion.copy( this.quaternion );
+		object.useQuaternion = this.useQuaternion;
+
+		object.visible = this.visible;
+
+		object.castShadow = this.castShadow;
+		object.receiveShadow = this.receiveShadow;
+
+		object.frustumCulled = this.frustumCulled;
+
+		for ( var i = 0; i < this.children.length; i ++ ) {
+
+			var child = this.children[ i ];
+			object.add( child.clone() );
+
+		}
+
+		return object;
+
+	}
+
+};
+
+THREE.Object3D.__m1 = new THREE.Matrix4();
+THREE.Object3D.defaultEulerOrder = 'XYZ',
+
+THREE.Object3DIdCount = 0;
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author supereggbert / http://www.paulbrunt.co.uk/
+ * @author julianwa / https://github.com/julianwa
+ */
+
+THREE.Projector = function () {
+
+	var _object, _objectCount, _objectPool = [], _objectPoolLength = 0,
+	_vertex, _vertexCount, _vertexPool = [], _vertexPoolLength = 0,
+	_face, _face3Count, _face3Pool = [], _face3PoolLength = 0,
+	_face4Count, _face4Pool = [], _face4PoolLength = 0,
+	_line, _lineCount, _linePool = [], _linePoolLength = 0,
+	_particle, _particleCount, _particlePool = [], _particlePoolLength = 0,
+
+	_renderData = { objects: [], sprites: [], lights: [], elements: [] },
+
+	_vector3 = new THREE.Vector3(),
+	_vector4 = new THREE.Vector4(),
+
+	_clipBox = new THREE.Box3( new THREE.Vector3( -1, -1, -1 ), new THREE.Vector3( 1, 1, 1 ) ),
+	_boundingBox = new THREE.Box3(),
+	_points3 = new Array( 3 ),
+	_points4 = new Array( 4 ),
+
+	_viewMatrix = new THREE.Matrix4(),
+	_viewProjectionMatrix = new THREE.Matrix4(),
+
+	_modelMatrix,
+	_modelViewProjectionMatrix = new THREE.Matrix4(),
+
+	_normalMatrix = new THREE.Matrix3(),
+	_normalViewMatrix = new THREE.Matrix3(),
+
+	_centroid = new THREE.Vector3(),
+
+	_frustum = new THREE.Frustum(),
+
+	_clippedVertex1PositionScreen = new THREE.Vector4(),
+	_clippedVertex2PositionScreen = new THREE.Vector4();
+
+	this.projectVector = function ( vector, camera ) {
+
+		camera.matrixWorldInverse.getInverse( camera.matrixWorld );
+
+		_viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
+
+		return vector.applyProjection( _viewProjectionMatrix );
+
+	};
+
+	this.unprojectVector = function ( vector, camera ) {
+
+		camera.projectionMatrixInverse.getInverse( camera.projectionMatrix );
+
+		_viewProjectionMatrix.multiplyMatrices( camera.matrixWorld, camera.projectionMatrixInverse );
+
+		return vector.applyProjection( _viewProjectionMatrix );
+
+	};
+
+	this.pickingRay = function ( vector, camera ) {
+
+		// set two vectors with opposing z values
+		vector.z = -1.0;
+		var end = new THREE.Vector3( vector.x, vector.y, 1.0 );
+
+		this.unprojectVector( vector, camera );
+		this.unprojectVector( end, camera );
+
+		// find direction from vector to end
+		end.sub( vector ).normalize();
+
+		return new THREE.Raycaster( vector, end );
+
+	};
+
+	var projectGraph = function ( root, sortObjects ) {
+
+		_objectCount = 0;
+
+		_renderData.objects.length = 0;
+		_renderData.sprites.length = 0;
+		_renderData.lights.length = 0;
+
+		var projectObject = function ( parent ) {
+
+			for ( var c = 0, cl = parent.children.length; c < cl; c ++ ) {
+
+				var object = parent.children[ c ];
+
+				if ( object.visible === false ) continue;
+
+				if ( object instanceof THREE.Light ) {
+
+					_renderData.lights.push( object );
+
+				} else if ( object instanceof THREE.Mesh || object instanceof THREE.Line ) {
+
+					if ( object.frustumCulled === false || _frustum.intersectsObject( object ) === true ) {
+
+						_object = getNextObjectInPool();
+						_object.object = object;
+
+						if ( object.renderDepth !== null ) {
+
+							_object.z = object.renderDepth;
+
+						} else {
+
+							_vector3.getPositionFromMatrix( object.matrixWorld );
+							_vector3.applyProjection( _viewProjectionMatrix );
+							_object.z = _vector3.z;
+
+						}
+
+						_renderData.objects.push( _object );
+
+					}
+
+				} else if ( object instanceof THREE.Sprite || object instanceof THREE.Particle ) {
+
+					_object = getNextObjectInPool();
+					_object.object = object;
+
+					// TODO: Find an elegant and performant solution and remove this dupe code.
+
+					if ( object.renderDepth !== null ) {
+
+						_object.z = object.renderDepth;
+
+					} else {
+
+						_vector3.getPositionFromMatrix( object.matrixWorld );
+						_vector3.applyProjection( _viewProjectionMatrix );
+						_object.z = _vector3.z;
+
+					}
+
+					_renderData.sprites.push( _object );
+
+				} else {
+
+					_object = getNextObjectInPool();
+					_object.object = object;
+
+					if ( object.renderDepth !== null ) {
+
+						_object.z = object.renderDepth;
+
+					} else {
+
+						_vector3.getPositionFromMatrix( object.matrixWorld );
+						_vector3.applyProjection( _viewProjectionMatrix );
+						_object.z = _vector3.z;
+
+					}
+
+					_renderData.objects.push( _object );
+
+				}
+
+				projectObject( object );
+
+			}
+
+		};
+
+		projectObject( root );
+
+		if ( sortObjects === true ) _renderData.objects.sort( painterSort );
+
+		return _renderData;
+
+	};
+
+	this.projectScene = function ( scene, camera, sortObjects, sortElements ) {
+
+		var visible = false,
+		o, ol, v, vl, f, fl, n, nl, c, cl, u, ul, object,
+		geometry, vertices, faces, face, faceVertexNormals, faceVertexUvs, uvs,
+		v1, v2, v3, v4, isFaceMaterial, objectMaterials;
+
+		_face3Count = 0;
+		_face4Count = 0;
+		_lineCount = 0;
+		_particleCount = 0;
+
+		_renderData.elements.length = 0;
+
+		scene.updateMatrixWorld();
+
+		if ( camera.parent === undefined ) camera.updateMatrixWorld();
+
+		_viewMatrix.copy( camera.matrixWorldInverse.getInverse( camera.matrixWorld ) );
+		_viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, _viewMatrix );
+
+		_normalViewMatrix.getInverse( _viewMatrix );
+		_normalViewMatrix.transpose();
+
+		_frustum.setFromMatrix( _viewProjectionMatrix );
+
+		_renderData = projectGraph( scene, sortObjects );
+
+		for ( o = 0, ol = _renderData.objects.length; o < ol; o ++ ) {
+
+			object = _renderData.objects[ o ].object;
+
+			_modelMatrix = object.matrixWorld;
+
+			_vertexCount = 0;
+
+			if ( object instanceof THREE.Mesh ) {
+
+				geometry = object.geometry;
+
+				vertices = geometry.vertices;
+				faces = geometry.faces;
+				faceVertexUvs = geometry.faceVertexUvs;
+
+				_normalMatrix.getInverse( _modelMatrix );
+				_normalMatrix.transpose();
+
+				isFaceMaterial = object.material instanceof THREE.MeshFaceMaterial;
+				objectMaterials = isFaceMaterial === true ? object.material : null;
+
+				for ( v = 0, vl = vertices.length; v < vl; v ++ ) {
+
+					_vertex = getNextVertexInPool();
+
+					_vertex.positionWorld.copy( vertices[ v ] ).applyMatrix4( _modelMatrix );
+					_vertex.positionScreen.copy( _vertex.positionWorld ).applyMatrix4( _viewProjectionMatrix );
+
+					_vertex.positionScreen.x /= _vertex.positionScreen.w;
+					_vertex.positionScreen.y /= _vertex.positionScreen.w;
+					_vertex.positionScreen.z /= _vertex.positionScreen.w;
+
+					_vertex.visible = ! ( _vertex.positionScreen.x < -1 || _vertex.positionScreen.x > 1 ||
+							      _vertex.positionScreen.y < -1 || _vertex.positionScreen.y > 1 ||
+							      _vertex.positionScreen.z < -1 || _vertex.positionScreen.z > 1 );
+
+				}
+
+				for ( f = 0, fl = faces.length; f < fl; f ++ ) {
+
+					face = faces[ f ];
+
+					var material = isFaceMaterial === true
+						? objectMaterials.materials[ face.materialIndex ]
+						: object.material;
+
+					if ( material === undefined ) continue;
+
+					var side = material.side;
+
+					if ( face instanceof THREE.Face3 ) {
+
+						v1 = _vertexPool[ face.a ];
+						v2 = _vertexPool[ face.b ];
+						v3 = _vertexPool[ face.c ];
+
+						_points3[ 0 ] = v1.positionScreen;
+						_points3[ 1 ] = v2.positionScreen;
+						_points3[ 2 ] = v3.positionScreen;
+
+						if ( v1.visible === true || v2.visible === true || v3.visible === true ||
+							_clipBox.isIntersectionBox( _boundingBox.setFromPoints( _points3 ) ) ) {
+
+							visible = ( ( v3.positionScreen.x - v1.positionScreen.x ) * ( v2.positionScreen.y - v1.positionScreen.y ) -
+								( v3.positionScreen.y - v1.positionScreen.y ) * ( v2.positionScreen.x - v1.positionScreen.x ) ) < 0;
+
+							if ( side === THREE.DoubleSide || visible === ( side === THREE.FrontSide ) ) {
+
+								_face = getNextFace3InPool();
+
+								_face.v1.copy( v1 );
+								_face.v2.copy( v2 );
+								_face.v3.copy( v3 );
+
+							} else {
+
+								continue;
+
+							}
+
+						} else {
+
+							continue;
+
+						}
+
+					} else if ( face instanceof THREE.Face4 ) {
+
+						v1 = _vertexPool[ face.a ];
+						v2 = _vertexPool[ face.b ];
+						v3 = _vertexPool[ face.c ];
+						v4 = _vertexPool[ face.d ];
+
+						_points4[ 0 ] = v1.positionScreen;
+						_points4[ 1 ] = v2.positionScreen;
+						_points4[ 2 ] = v3.positionScreen;
+						_points4[ 3 ] = v4.positionScreen;
+
+						if ( v1.visible === true || v2.visible === true || v3.visible === true || v4.visible === true ||
+							_clipBox.isIntersectionBox( _boundingBox.setFromPoints( _points4 ) ) ) {
+
+							visible = ( v4.positionScreen.x - v1.positionScreen.x ) * ( v2.positionScreen.y - v1.positionScreen.y ) -
+								( v4.positionScreen.y - v1.positionScreen.y ) * ( v2.positionScreen.x - v1.positionScreen.x ) < 0 ||
+								( v2.positionScreen.x - v3.positionScreen.x ) * ( v4.positionScreen.y - v3.positionScreen.y ) -
+								( v2.positionScreen.y - v3.positionScreen.y ) * ( v4.positionScreen.x - v3.positionScreen.x ) < 0;
+
+
+							if ( side === THREE.DoubleSide || visible === ( side === THREE.FrontSide ) ) {
+
+								_face = getNextFace4InPool();
+
+								_face.v1.copy( v1 );
+								_face.v2.copy( v2 );
+								_face.v3.copy( v3 );
+								_face.v4.copy( v4 );
+
+							} else {
+
+								continue;
+
+							}
+
+						} else {
+
+							continue;
+
+						}
+
+					}
+
+					_face.normalModel.copy( face.normal );
+
+					if ( visible === false && ( side === THREE.BackSide || side === THREE.DoubleSide ) ) {
+
+						_face.normalModel.negate();
+
+					}
+
+					_face.normalModel.applyMatrix3( _normalMatrix ).normalize();
+
+					_face.normalModelView.copy( _face.normalModel ).applyMatrix3( _normalViewMatrix );
+
+					_face.centroidModel.copy( face.centroid ).applyMatrix4( _modelMatrix );
+
+					faceVertexNormals = face.vertexNormals;
+
+					for ( n = 0, nl = faceVertexNormals.length; n < nl; n ++ ) {
+
+						var normalModel = _face.vertexNormalsModel[ n ];
+						normalModel.copy( faceVertexNormals[ n ] );
+
+						if ( visible === false && ( side === THREE.BackSide || side === THREE.DoubleSide ) ) {
+
+							normalModel.negate();
+
+						}
+
+						normalModel.applyMatrix3( _normalMatrix ).normalize();
+
+						var normalModelView = _face.vertexNormalsModelView[ n ];
+						normalModelView.copy( normalModel ).applyMatrix3( _normalViewMatrix );
+
+					}
+
+					_face.vertexNormalsLength = faceVertexNormals.length;
+
+					for ( c = 0, cl = faceVertexUvs.length; c < cl; c ++ ) {
+
+						uvs = faceVertexUvs[ c ][ f ];
+
+						if ( uvs === undefined ) continue;
+
+						for ( u = 0, ul = uvs.length; u < ul; u ++ ) {
+
+							_face.uvs[ c ][ u ] = uvs[ u ];
+
+						}
+
+					}
+
+					_face.color = face.color;
+					_face.material = material;
+
+					_centroid.copy( _face.centroidModel ).applyProjection( _viewProjectionMatrix );
+
+					_face.z = _centroid.z;
+
+					_renderData.elements.push( _face );
+
+				}
+
+			} else if ( object instanceof THREE.Line ) {
+
+				_modelViewProjectionMatrix.multiplyMatrices( _viewProjectionMatrix, _modelMatrix );
+
+				vertices = object.geometry.vertices;
+
+				v1 = getNextVertexInPool();
+				v1.positionScreen.copy( vertices[ 0 ] ).applyMatrix4( _modelViewProjectionMatrix );
+
+				// Handle LineStrip and LinePieces
+				var step = object.type === THREE.LinePieces ? 2 : 1;
+
+				for ( v = 1, vl = vertices.length; v < vl; v ++ ) {
+
+					v1 = getNextVertexInPool();
+					v1.positionScreen.copy( vertices[ v ] ).applyMatrix4( _modelViewProjectionMatrix );
+
+					if ( ( v + 1 ) % step > 0 ) continue;
+
+					v2 = _vertexPool[ _vertexCount - 2 ];
+
+					_clippedVertex1PositionScreen.copy( v1.positionScreen );
+					_clippedVertex2PositionScreen.copy( v2.positionScreen );
+
+					if ( clipLine( _clippedVertex1PositionScreen, _clippedVertex2PositionScreen ) === true ) {
+
+						// Perform the perspective divide
+						_clippedVertex1PositionScreen.multiplyScalar( 1 / _clippedVertex1PositionScreen.w );
+						_clippedVertex2PositionScreen.multiplyScalar( 1 / _clippedVertex2PositionScreen.w );
+
+						_line = getNextLineInPool();
+						_line.v1.positionScreen.copy( _clippedVertex1PositionScreen );
+						_line.v2.positionScreen.copy( _clippedVertex2PositionScreen );
+
+						_line.z = Math.max( _clippedVertex1PositionScreen.z, _clippedVertex2PositionScreen.z );
+
+						_line.material = object.material;
+
+						_renderData.elements.push( _line );
+
+					}
+
+				}
+
+			}
+
+		}
+
+		for ( o = 0, ol = _renderData.sprites.length; o < ol; o++ ) {
+
+			object = _renderData.sprites[ o ].object;
+
+			_modelMatrix = object.matrixWorld;
+
+			if ( object instanceof THREE.Particle ) {
+
+				_vector4.set( _modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1 );
+				_vector4.applyMatrix4( _viewProjectionMatrix );
+
+				_vector4.z /= _vector4.w;
+
+				if ( _vector4.z > 0 && _vector4.z < 1 ) {
+
+					_particle = getNextParticleInPool();
+					_particle.object = object;
+					_particle.x = _vector4.x / _vector4.w;
+					_particle.y = _vector4.y / _vector4.w;
+					_particle.z = _vector4.z;
+
+					_particle.rotation = object.rotation.z;
+
+					_particle.scale.x = object.scale.x * Math.abs( _particle.x - ( _vector4.x + camera.projectionMatrix.elements[0] ) / ( _vector4.w + camera.projectionMatrix.elements[12] ) );
+					_particle.scale.y = object.scale.y * Math.abs( _particle.y - ( _vector4.y + camera.projectionMatrix.elements[5] ) / ( _vector4.w + camera.projectionMatrix.elements[13] ) );
+
+					_particle.material = object.material;
+
+					_renderData.elements.push( _particle );
+
+				}
+
+			}
+
+		}
+
+		if ( sortElements === true ) _renderData.elements.sort( painterSort );
+
+		return _renderData;
+
+	};
+
+	// Pools
+
+	function getNextObjectInPool() {
+
+		if ( _objectCount === _objectPoolLength ) {
+
+			var object = new THREE.RenderableObject();
+			_objectPool.push( object );
+			_objectPoolLength ++;
+			_objectCount ++;
+			return object;
+
+		}
+
+		return _objectPool[ _objectCount ++ ];
+
+	}
+
+	function getNextVertexInPool() {
+
+		if ( _vertexCount === _vertexPoolLength ) {
+
+			var vertex = new THREE.RenderableVertex();
+			_vertexPool.push( vertex );
+			_vertexPoolLength ++;
+			_vertexCount ++;
+			return vertex;
+
+		}
+
+		return _vertexPool[ _vertexCount ++ ];
+
+	}
+
+	function getNextFace3InPool() {
+
+		if ( _face3Count === _face3PoolLength ) {
+
+			var face = new THREE.RenderableFace3();
+			_face3Pool.push( face );
+			_face3PoolLength ++;
+			_face3Count ++;
+			return face;
+
+		}
+
+		return _face3Pool[ _face3Count ++ ];
+
+
+	}
+
+	function getNextFace4InPool() {
+
+		if ( _face4Count === _face4PoolLength ) {
+
+			var face = new THREE.RenderableFace4();
+			_face4Pool.push( face );
+			_face4PoolLength ++;
+			_face4Count ++;
+			return face;
+
+		}
+
+		return _face4Pool[ _face4Count ++ ];
+
+	}
+
+	function getNextLineInPool() {
+
+		if ( _lineCount === _linePoolLength ) {
+
+			var line = new THREE.RenderableLine();
+			_linePool.push( line );
+			_linePoolLength ++;
+			_lineCount ++
+			return line;
+
+		}
+
+		return _linePool[ _lineCount ++ ];
+
+	}
+
+	function getNextParticleInPool() {
+
+		if ( _particleCount === _particlePoolLength ) {
+
+			var particle = new THREE.RenderableParticle();
+			_particlePool.push( particle );
+			_particlePoolLength ++;
+			_particleCount ++
+			return particle;
+
+		}
+
+		return _particlePool[ _particleCount ++ ];
+
+	}
+
+	//
+
+	function painterSort( a, b ) {
+
+		return b.z - a.z;
+
+	}
+
+	function clipLine( s1, s2 ) {
+
+		var alpha1 = 0, alpha2 = 1,
+
+		// Calculate the boundary coordinate of each vertex for the near and far clip planes,
+		// Z = -1 and Z = +1, respectively.
+		bc1near =  s1.z + s1.w,
+		bc2near =  s2.z + s2.w,
+		bc1far =  - s1.z + s1.w,
+		bc2far =  - s2.z + s2.w;
+
+		if ( bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0 ) {
+
+			// Both vertices lie entirely within all clip planes.
+			return true;
+
+		} else if ( ( bc1near < 0 && bc2near < 0) || (bc1far < 0 && bc2far < 0 ) ) {
+
+			// Both vertices lie entirely outside one of the clip planes.
+			return false;
+
+		} else {
+
+			// The line segment spans at least one clip plane.
+
+			if ( bc1near < 0 ) {
+
+				// v1 lies outside the near plane, v2 inside
+				alpha1 = Math.max( alpha1, bc1near / ( bc1near - bc2near ) );
+
+			} else if ( bc2near < 0 ) {
+
+				// v2 lies outside the near plane, v1 inside
+				alpha2 = Math.min( alpha2, bc1near / ( bc1near - bc2near ) );
+
+			}
+
+			if ( bc1far < 0 ) {
+
+				// v1 lies outside the far plane, v2 inside
+				alpha1 = Math.max( alpha1, bc1far / ( bc1far - bc2far ) );
+
+			} else if ( bc2far < 0 ) {
+
+				// v2 lies outside the far plane, v2 inside
+				alpha2 = Math.min( alpha2, bc1far / ( bc1far - bc2far ) );
+
+			}
+
+			if ( alpha2 < alpha1 ) {
+
+				// The line segment spans two boundaries, but is outside both of them.
+				// (This can't happen when we're only clipping against just near/far but good
+				//  to leave the check here for future usage if other clip planes are added.)
+				return false;
+
+			} else {
+
+				// Update the s1 and s2 vertices to match the clipped line segment.
+				s1.lerp( s2, alpha1 );
+				s2.lerp( s1, 1 - alpha2 );
+
+				return true;
+
+			}
+
+		}
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Face3 = function ( a, b, c, normal, color, materialIndex ) {
+
+	this.a = a;
+	this.b = b;
+	this.c = c;
+
+	this.normal = normal instanceof THREE.Vector3 ? normal : new THREE.Vector3();
+	this.vertexNormals = normal instanceof Array ? normal : [ ];
+
+	this.color = color instanceof THREE.Color ? color : new THREE.Color();
+	this.vertexColors = color instanceof Array ? color : [];
+
+	this.vertexTangents = [];
+
+	this.materialIndex = materialIndex !== undefined ? materialIndex : 0;
+
+	this.centroid = new THREE.Vector3();
+
+};
+
+THREE.Face3.prototype = {
+
+	constructor: THREE.Face3,
+
+	clone: function () {
+
+		var face = new THREE.Face3( this.a, this.b, this.c );
+
+		face.normal.copy( this.normal );
+		face.color.copy( this.color );
+		face.centroid.copy( this.centroid );
+
+		face.materialIndex = this.materialIndex;
+
+		var i, il;
+		for ( i = 0, il = this.vertexNormals.length; i < il; i ++ ) face.vertexNormals[ i ] = this.vertexNormals[ i ].clone();
+		for ( i = 0, il = this.vertexColors.length; i < il; i ++ ) face.vertexColors[ i ] = this.vertexColors[ i ].clone();
+		for ( i = 0, il = this.vertexTangents.length; i < il; i ++ ) face.vertexTangents[ i ] = this.vertexTangents[ i ].clone();
+
+		return face;
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Face4 = function ( a, b, c, d, normal, color, materialIndex ) {
+
+	this.a = a;
+	this.b = b;
+	this.c = c;
+	this.d = d;
+
+	this.normal = normal instanceof THREE.Vector3 ? normal : new THREE.Vector3();
+	this.vertexNormals = normal instanceof Array ? normal : [ ];
+
+	this.color = color instanceof THREE.Color ? color : new THREE.Color();
+	this.vertexColors = color instanceof Array ? color : [];
+
+	this.vertexTangents = [];
+
+	this.materialIndex = materialIndex !== undefined ? materialIndex : 0;
+
+	this.centroid = new THREE.Vector3();
+
+};
+
+THREE.Face4.prototype = {
+
+	constructor: THREE.Face4,
+
+	clone: function () {
+
+		var face = new THREE.Face4( this.a, this.b, this.c, this.d );
+
+		face.normal.copy( this.normal );
+		face.color.copy( this.color );
+		face.centroid.copy( this.centroid );
+
+		face.materialIndex = this.materialIndex;
+
+		var i, il;
+		for ( i = 0, il = this.vertexNormals.length; i < il; i ++ ) face.vertexNormals[ i ] = this.vertexNormals[ i ].clone();
+		for ( i = 0, il = this.vertexColors.length; i < il; i ++ ) face.vertexColors[ i ] = this.vertexColors[ i ].clone();
+		for ( i = 0, il = this.vertexTangents.length; i < il; i ++ ) face.vertexTangents[ i ] = this.vertexTangents[ i ].clone();
+
+		return face;
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author kile / http://kile.stravaganza.org/
+ * @author alteredq / http://alteredqualia.com/
+ * @author mikael emtinger / http://gomo.se/
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * @author bhouston / http://exocortex.com
+ */
+
+THREE.Geometry = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	this.id = THREE.GeometryIdCount ++;
+
+	this.name = '';
+
+	this.vertices = [];
+	this.colors = [];  // one-to-one vertex colors, used in ParticleSystem, Line and Ribbon
+	this.normals = []; // one-to-one vertex normals, used in Ribbon
+
+	this.faces = [];
+
+	this.faceUvs = [[]];
+	this.faceVertexUvs = [[]];
+
+	this.morphTargets = [];
+	this.morphColors = [];
+	this.morphNormals = [];
+
+	this.skinWeights = [];
+	this.skinIndices = [];
+
+	this.lineDistances = [];
+
+	this.boundingBox = null;
+	this.boundingSphere = null;
+
+	this.hasTangents = false;
+
+	this.dynamic = true; // the intermediate typed arrays will be deleted when set to false
+
+	// update flags
+
+	this.verticesNeedUpdate = false;
+	this.elementsNeedUpdate = false;
+	this.uvsNeedUpdate = false;
+	this.normalsNeedUpdate = false;
+	this.tangentsNeedUpdate = false;
+	this.colorsNeedUpdate = false;
+	this.lineDistancesNeedUpdate = false;
+
+	this.buffersNeedUpdate = false;
+
+};
+
+THREE.Geometry.prototype = {
+
+	constructor: THREE.Geometry,
+
+	applyMatrix: function ( matrix ) {
+
+		var normalMatrix = new THREE.Matrix3().getInverse( matrix ).transpose();
+
+		for ( var i = 0, il = this.vertices.length; i < il; i ++ ) {
+
+			var vertex = this.vertices[ i ];
+			vertex.applyMatrix4( matrix );
+
+		}
+
+		for ( var i = 0, il = this.faces.length; i < il; i ++ ) {
+
+			var face = this.faces[ i ];
+			face.normal.applyMatrix3( normalMatrix ).normalize();
+
+			for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) {
+
+				face.vertexNormals[ j ].applyMatrix3( normalMatrix ).normalize();
+
+			}
+
+			face.centroid.applyMatrix4( matrix );
+
+		}
+
+	},
+
+	computeCentroids: function () {
+
+		var f, fl, face;
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+			face.centroid.set( 0, 0, 0 );
+
+			if ( face instanceof THREE.Face3 ) {
+
+				face.centroid.add( this.vertices[ face.a ] );
+				face.centroid.add( this.vertices[ face.b ] );
+				face.centroid.add( this.vertices[ face.c ] );
+				face.centroid.divideScalar( 3 );
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				face.centroid.add( this.vertices[ face.a ] );
+				face.centroid.add( this.vertices[ face.b ] );
+				face.centroid.add( this.vertices[ face.c ] );
+				face.centroid.add( this.vertices[ face.d ] );
+				face.centroid.divideScalar( 4 );
+
+			}
+
+		}
+
+	},
+
+	computeFaceNormals: function () {
+
+		var cb = new THREE.Vector3(), ab = new THREE.Vector3();
+
+		for ( var f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			var face = this.faces[ f ];
+
+			var vA = this.vertices[ face.a ];
+			var vB = this.vertices[ face.b ];
+			var vC = this.vertices[ face.c ];
+
+			cb.subVectors( vC, vB );
+			ab.subVectors( vA, vB );
+			cb.cross( ab );
+
+			cb.normalize();
+
+			face.normal.copy( cb );
+
+		}
+
+	},
+
+	computeVertexNormals: function ( areaWeighted ) {
+
+		var v, vl, f, fl, face, vertices;
+
+		// create internal buffers for reuse when calling this method repeatedly
+		// (otherwise memory allocation / deallocation every frame is big resource hog)
+
+		if ( this.__tmpVertices === undefined ) {
+
+			this.__tmpVertices = new Array( this.vertices.length );
+			vertices = this.__tmpVertices;
+
+			for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) {
+
+				vertices[ v ] = new THREE.Vector3();
+
+			}
+
+			for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+				face = this.faces[ f ];
+
+				if ( face instanceof THREE.Face3 ) {
+
+					face.vertexNormals = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+
+				} else if ( face instanceof THREE.Face4 ) {
+
+					face.vertexNormals = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+
+				}
+
+			}
+
+		} else {
+
+			vertices = this.__tmpVertices;
+
+			for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) {
+
+				vertices[ v ].set( 0, 0, 0 );
+
+			}
+
+		}
+
+		if ( areaWeighted ) {
+
+			// vertex normals weighted by triangle areas
+			// http://www.iquilezles.org/www/articles/normals/normals.htm
+
+			var vA, vB, vC, vD;
+			var cb = new THREE.Vector3(), ab = new THREE.Vector3(),
+				db = new THREE.Vector3(), dc = new THREE.Vector3(), bc = new THREE.Vector3();
+
+			for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+				face = this.faces[ f ];
+
+				if ( face instanceof THREE.Face3 ) {
+
+					vA = this.vertices[ face.a ];
+					vB = this.vertices[ face.b ];
+					vC = this.vertices[ face.c ];
+
+					cb.subVectors( vC, vB );
+					ab.subVectors( vA, vB );
+					cb.cross( ab );
+
+					vertices[ face.a ].add( cb );
+					vertices[ face.b ].add( cb );
+					vertices[ face.c ].add( cb );
+
+				} else if ( face instanceof THREE.Face4 ) {
+
+					vA = this.vertices[ face.a ];
+					vB = this.vertices[ face.b ];
+					vC = this.vertices[ face.c ];
+					vD = this.vertices[ face.d ];
+
+					// abd
+
+					db.subVectors( vD, vB );
+					ab.subVectors( vA, vB );
+					db.cross( ab );
+
+					vertices[ face.a ].add( db );
+					vertices[ face.b ].add( db );
+					vertices[ face.d ].add( db );
+
+					// bcd
+
+					dc.subVectors( vD, vC );
+					bc.subVectors( vB, vC );
+					dc.cross( bc );
+
+					vertices[ face.b ].add( dc );
+					vertices[ face.c ].add( dc );
+					vertices[ face.d ].add( dc );
+
+				}
+
+			}
+
+		} else {
+
+			for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+				face = this.faces[ f ];
+
+				if ( face instanceof THREE.Face3 ) {
+
+					vertices[ face.a ].add( face.normal );
+					vertices[ face.b ].add( face.normal );
+					vertices[ face.c ].add( face.normal );
+
+				} else if ( face instanceof THREE.Face4 ) {
+
+					vertices[ face.a ].add( face.normal );
+					vertices[ face.b ].add( face.normal );
+					vertices[ face.c ].add( face.normal );
+					vertices[ face.d ].add( face.normal );
+
+				}
+
+			}
+
+		}
+
+		for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) {
+
+			vertices[ v ].normalize();
+
+		}
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+
+			if ( face instanceof THREE.Face3 ) {
+
+				face.vertexNormals[ 0 ].copy( vertices[ face.a ] );
+				face.vertexNormals[ 1 ].copy( vertices[ face.b ] );
+				face.vertexNormals[ 2 ].copy( vertices[ face.c ] );
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				face.vertexNormals[ 0 ].copy( vertices[ face.a ] );
+				face.vertexNormals[ 1 ].copy( vertices[ face.b ] );
+				face.vertexNormals[ 2 ].copy( vertices[ face.c ] );
+				face.vertexNormals[ 3 ].copy( vertices[ face.d ] );
+
+			}
+
+		}
+
+	},
+
+	computeMorphNormals: function () {
+
+		var i, il, f, fl, face;
+
+		// save original normals
+		// - create temp variables on first access
+		//   otherwise just copy (for faster repeated calls)
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+
+			if ( ! face.__originalFaceNormal ) {
+
+				face.__originalFaceNormal = face.normal.clone();
+
+			} else {
+
+				face.__originalFaceNormal.copy( face.normal );
+
+			}
+
+			if ( ! face.__originalVertexNormals ) face.__originalVertexNormals = [];
+
+			for ( i = 0, il = face.vertexNormals.length; i < il; i ++ ) {
+
+				if ( ! face.__originalVertexNormals[ i ] ) {
+
+					face.__originalVertexNormals[ i ] = face.vertexNormals[ i ].clone();
+
+				} else {
+
+					face.__originalVertexNormals[ i ].copy( face.vertexNormals[ i ] );
+
+				}
+
+			}
+
+		}
+
+		// use temp geometry to compute face and vertex normals for each morph
+
+		var tmpGeo = new THREE.Geometry();
+		tmpGeo.faces = this.faces;
+
+		for ( i = 0, il = this.morphTargets.length; i < il; i ++ ) {
+
+			// create on first access
+
+			if ( ! this.morphNormals[ i ] ) {
+
+				this.morphNormals[ i ] = {};
+				this.morphNormals[ i ].faceNormals = [];
+				this.morphNormals[ i ].vertexNormals = [];
+
+				var dstNormalsFace = this.morphNormals[ i ].faceNormals;
+				var dstNormalsVertex = this.morphNormals[ i ].vertexNormals;
+
+				var faceNormal, vertexNormals;
+
+				for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+					face = this.faces[ f ];
+
+					faceNormal = new THREE.Vector3();
+
+					if ( face instanceof THREE.Face3 ) {
+
+						vertexNormals = { a: new THREE.Vector3(), b: new THREE.Vector3(), c: new THREE.Vector3() };
+
+					} else {
+
+						vertexNormals = { a: new THREE.Vector3(), b: new THREE.Vector3(), c: new THREE.Vector3(), d: new THREE.Vector3() };
+
+					}
+
+					dstNormalsFace.push( faceNormal );
+					dstNormalsVertex.push( vertexNormals );
+
+				}
+
+			}
+
+			var morphNormals = this.morphNormals[ i ];
+
+			// set vertices to morph target
+
+			tmpGeo.vertices = this.morphTargets[ i ].vertices;
+
+			// compute morph normals
+
+			tmpGeo.computeFaceNormals();
+			tmpGeo.computeVertexNormals();
+
+			// store morph normals
+
+			var faceNormal, vertexNormals;
+
+			for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+				face = this.faces[ f ];
+
+				faceNormal = morphNormals.faceNormals[ f ];
+				vertexNormals = morphNormals.vertexNormals[ f ];
+
+				faceNormal.copy( face.normal );
+
+				if ( face instanceof THREE.Face3 ) {
+
+					vertexNormals.a.copy( face.vertexNormals[ 0 ] );
+					vertexNormals.b.copy( face.vertexNormals[ 1 ] );
+					vertexNormals.c.copy( face.vertexNormals[ 2 ] );
+
+				} else {
+
+					vertexNormals.a.copy( face.vertexNormals[ 0 ] );
+					vertexNormals.b.copy( face.vertexNormals[ 1 ] );
+					vertexNormals.c.copy( face.vertexNormals[ 2 ] );
+					vertexNormals.d.copy( face.vertexNormals[ 3 ] );
+
+				}
+
+			}
+
+		}
+
+		// restore original normals
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+
+			face.normal = face.__originalFaceNormal;
+			face.vertexNormals = face.__originalVertexNormals;
+
+		}
+
+	},
+
+	computeTangents: function () {
+
+		// based on http://www.terathon.com/code/tangent.html
+		// tangents go to vertices
+
+		var f, fl, v, vl, i, il, vertexIndex,
+			face, uv, vA, vB, vC, uvA, uvB, uvC,
+			x1, x2, y1, y2, z1, z2,
+			s1, s2, t1, t2, r, t, test,
+			tan1 = [], tan2 = [],
+			sdir = new THREE.Vector3(), tdir = new THREE.Vector3(),
+			tmp = new THREE.Vector3(), tmp2 = new THREE.Vector3(),
+			n = new THREE.Vector3(), w;
+
+		for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) {
+
+			tan1[ v ] = new THREE.Vector3();
+			tan2[ v ] = new THREE.Vector3();
+
+		}
+
+		function handleTriangle( context, a, b, c, ua, ub, uc ) {
+
+			vA = context.vertices[ a ];
+			vB = context.vertices[ b ];
+			vC = context.vertices[ c ];
+
+			uvA = uv[ ua ];
+			uvB = uv[ ub ];
+			uvC = uv[ uc ];
+
+			x1 = vB.x - vA.x;
+			x2 = vC.x - vA.x;
+			y1 = vB.y - vA.y;
+			y2 = vC.y - vA.y;
+			z1 = vB.z - vA.z;
+			z2 = vC.z - vA.z;
+
+			s1 = uvB.x - uvA.x;
+			s2 = uvC.x - uvA.x;
+			t1 = uvB.y - uvA.y;
+			t2 = uvC.y - uvA.y;
+
+			r = 1.0 / ( s1 * t2 - s2 * t1 );
+			sdir.set( ( t2 * x1 - t1 * x2 ) * r,
+					  ( t2 * y1 - t1 * y2 ) * r,
+					  ( t2 * z1 - t1 * z2 ) * r );
+			tdir.set( ( s1 * x2 - s2 * x1 ) * r,
+					  ( s1 * y2 - s2 * y1 ) * r,
+					  ( s1 * z2 - s2 * z1 ) * r );
+
+			tan1[ a ].add( sdir );
+			tan1[ b ].add( sdir );
+			tan1[ c ].add( sdir );
+
+			tan2[ a ].add( tdir );
+			tan2[ b ].add( tdir );
+			tan2[ c ].add( tdir );
+
+		}
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+			uv = this.faceVertexUvs[ 0 ][ f ]; // use UV layer 0 for tangents
+
+			if ( face instanceof THREE.Face3 ) {
+
+				handleTriangle( this, face.a, face.b, face.c, 0, 1, 2 );
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				handleTriangle( this, face.a, face.b, face.d, 0, 1, 3 );
+				handleTriangle( this, face.b, face.c, face.d, 1, 2, 3 );
+
+			}
+
+		}
+
+		var faceIndex = [ 'a', 'b', 'c', 'd' ];
+
+		for ( f = 0, fl = this.faces.length; f < fl; f ++ ) {
+
+			face = this.faces[ f ];
+
+			for ( i = 0; i < face.vertexNormals.length; i++ ) {
+
+				n.copy( face.vertexNormals[ i ] );
+
+				vertexIndex = face[ faceIndex[ i ] ];
+
+				t = tan1[ vertexIndex ];
+
+				// Gram-Schmidt orthogonalize
+
+				tmp.copy( t );
+				tmp.sub( n.multiplyScalar( n.dot( t ) ) ).normalize();
+
+				// Calculate handedness
+
+				tmp2.crossVectors( face.vertexNormals[ i ], t );
+				test = tmp2.dot( tan2[ vertexIndex ] );
+				w = (test < 0.0) ? -1.0 : 1.0;
+
+				face.vertexTangents[ i ] = new THREE.Vector4( tmp.x, tmp.y, tmp.z, w );
+
+			}
+
+		}
+
+		this.hasTangents = true;
+
+	},
+
+	computeLineDistances: function ( ) {
+
+		var d = 0;
+		var vertices = this.vertices;
+
+		for ( var i = 0, il = vertices.length; i < il; i ++ ) {
+
+			if ( i > 0 ) {
+
+				d += vertices[ i ].distanceTo( vertices[ i - 1 ] );
+
+			}
+
+			this.lineDistances[ i ] = d;
+
+		}
+
+	},
+
+	computeBoundingBox: function () {
+
+		if ( this.boundingBox === null ) {
+
+			this.boundingBox = new THREE.Box3();
+
+		}
+
+		this.boundingBox.setFromPoints( this.vertices );
+
+	},
+
+	computeBoundingSphere: function () {
+
+		if ( this.boundingSphere === null ) {
+
+			this.boundingSphere = new THREE.Sphere();
+
+		}
+
+		this.boundingSphere.setFromCenterAndPoints( this.boundingSphere.center, this.vertices );
+
+	},
+
+	/*
+	 * Checks for duplicate vertices with hashmap.
+	 * Duplicated vertices are removed
+	 * and faces' vertices are updated.
+	 */
+
+	mergeVertices: function () {
+
+		var verticesMap = {}; // Hashmap for looking up vertice by position coordinates (and making sure they are unique)
+		var unique = [], changes = [];
+
+		var v, key;
+		var precisionPoints = 4; // number of decimal points, eg. 4 for epsilon of 0.0001
+		var precision = Math.pow( 10, precisionPoints );
+		var i,il, face;
+		var indices, k, j, jl, u;
+
+		// reset cache of vertices as it now will be changing.
+		this.__tmpVertices = undefined;
+
+		for ( i = 0, il = this.vertices.length; i < il; i ++ ) {
+
+			v = this.vertices[ i ];
+			key = [ Math.round( v.x * precision ), Math.round( v.y * precision ), Math.round( v.z * precision ) ].join( '_' );
+
+			if ( verticesMap[ key ] === undefined ) {
+
+				verticesMap[ key ] = i;
+				unique.push( this.vertices[ i ] );
+				changes[ i ] = unique.length - 1;
+
+			} else {
+
+				//console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]);
+				changes[ i ] = changes[ verticesMap[ key ] ];
+
+			}
+
+		};
+
+
+		// if faces are completely degenerate after merging vertices, we
+		// have to remove them from the geometry.
+		var faceIndicesToRemove = [];
+
+		for( i = 0, il = this.faces.length; i < il; i ++ ) {
+
+			face = this.faces[ i ];
+
+			if ( face instanceof THREE.Face3 ) {
+
+				face.a = changes[ face.a ];
+				face.b = changes[ face.b ];
+				face.c = changes[ face.c ];
+
+				indices = [ face.a, face.b, face.c ];
+
+				var dupIndex = -1;
+
+				// if any duplicate vertices are found in a Face3
+				// we have to remove the face as nothing can be saved
+				for ( var n = 0; n < 3; n ++ ) {
+					if ( indices[ n ] == indices[ ( n + 1 ) % 3 ] ) {
+
+						dupIndex = n;
+						faceIndicesToRemove.push( i );
+						break;
+
+					}
+				}
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				face.a = changes[ face.a ];
+				face.b = changes[ face.b ];
+				face.c = changes[ face.c ];
+				face.d = changes[ face.d ];
+
+				// check dups in (a, b, c, d) and convert to -> face3
+
+				indices = [ face.a, face.b, face.c, face.d ];
+
+				var dupIndex = -1;
+
+				for ( var n = 0; n < 4; n ++ ) {
+
+					if ( indices[ n ] == indices[ ( n + 1 ) % 4 ] ) {
+
+						// if more than one duplicated vertex is found
+						// we can't generate any valid Face3's, thus
+						// we need to remove this face complete.
+						if ( dupIndex >= 0 ) {
+
+							faceIndicesToRemove.push( i );
+
+						}
+
+						dupIndex = n;
+
+					}
+				}
+
+				if ( dupIndex >= 0 ) {
+
+					indices.splice( dupIndex, 1 );
+
+					var newFace = new THREE.Face3( indices[0], indices[1], indices[2], face.normal, face.color, face.materialIndex );
+
+					for ( j = 0, jl = this.faceVertexUvs.length; j < jl; j ++ ) {
+
+						u = this.faceVertexUvs[ j ][ i ];
+
+						if ( u ) {
+							u.splice( dupIndex, 1 );
+						}
+
+					}
+
+					if( face.vertexNormals && face.vertexNormals.length > 0) {
+
+						newFace.vertexNormals = face.vertexNormals;
+						newFace.vertexNormals.splice( dupIndex, 1 );
+
+					}
+
+					if( face.vertexColors && face.vertexColors.length > 0 ) {
+
+						newFace.vertexColors = face.vertexColors;
+						newFace.vertexColors.splice( dupIndex, 1 );
+					}
+
+					this.faces[ i ] = newFace;
+				}
+
+			}
+
+		}
+
+		for ( i = faceIndicesToRemove.length - 1; i >= 0; i -- ) {
+
+			this.faces.splice( i, 1 );
+
+			for ( j = 0, jl = this.faceVertexUvs.length; j < jl; j ++ ) {
+
+				this.faceVertexUvs[ j ].splice( i, 1 );
+
+			}
+
+		}
+
+		// Use unique set of vertices
+
+		var diff = this.vertices.length - unique.length;
+		this.vertices = unique;
+		return diff;
+
+	},
+
+	clone: function () {
+
+		var geometry = new THREE.Geometry();
+
+		var vertices = this.vertices;
+
+		for ( var i = 0, il = vertices.length; i < il; i ++ ) {
+
+			geometry.vertices.push( vertices[ i ].clone() );
+
+		}
+
+		var faces = this.faces;
+
+		for ( var i = 0, il = faces.length; i < il; i ++ ) {
+
+			geometry.faces.push( faces[ i ].clone() );
+
+		}
+
+		var uvs = this.faceVertexUvs[ 0 ];
+
+		for ( var i = 0, il = uvs.length; i < il; i ++ ) {
+
+			var uv = uvs[ i ], uvCopy = [];
+
+			for ( var j = 0, jl = uv.length; j < jl; j ++ ) {
+
+				uvCopy.push( new THREE.Vector2( uv[ j ].x, uv[ j ].y ) );
+
+			}
+
+			geometry.faceVertexUvs[ 0 ].push( uvCopy );
+
+		}
+
+		return geometry;
+
+	},
+
+	dispose: function () {
+
+		this.dispatchEvent( { type: 'dispose' } );
+
+	}
+
+};
+
+THREE.GeometryIdCount = 0;
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.BufferGeometry = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	this.id = THREE.GeometryIdCount ++;
+
+	// attributes
+
+	this.attributes = {};
+
+	// attributes typed arrays are kept only if dynamic flag is set
+
+	this.dynamic = false;
+
+	// offsets for chunks when using indexed elements
+
+	this.offsets = [];
+
+	// boundings
+
+	this.boundingBox = null;
+	this.boundingSphere = null;
+
+	this.hasTangents = false;
+
+	// for compatibility
+
+	this.morphTargets = [];
+
+};
+
+THREE.BufferGeometry.prototype = {
+
+	constructor : THREE.BufferGeometry,
+
+	applyMatrix: function ( matrix ) {
+
+		var positionArray;
+		var normalArray;
+
+		if ( this.attributes[ "position" ] ) positionArray = this.attributes[ "position" ].array;
+		if ( this.attributes[ "normal" ] ) normalArray = this.attributes[ "normal" ].array;
+
+		if ( positionArray !== undefined ) {
+
+			matrix.multiplyVector3Array( positionArray );
+			this.verticesNeedUpdate = true;
+
+		}
+
+		if ( normalArray !== undefined ) {
+
+			var normalMatrix = new THREE.Matrix3();
+			normalMatrix.getInverse( matrix ).transpose();
+
+			normalMatrix.multiplyVector3Array( normalArray );
+
+			this.normalizeNormals();
+
+			this.normalsNeedUpdate = true;
+
+		}
+
+	},
+
+	computeBoundingBox: function () {
+
+		if ( this.boundingBox === null ) {
+
+			this.boundingBox = new THREE.Box3();
+
+		}
+
+		var positions = this.attributes[ "position" ].array;
+
+		if ( positions ) {
+
+			var bb = this.boundingBox;
+			var x, y, z;
+
+			if( positions.length >= 3 ) {
+				bb.min.x = bb.max.x = positions[ 0 ];
+				bb.min.y = bb.max.y = positions[ 1 ];
+				bb.min.z = bb.max.z = positions[ 2 ];
+			}
+
+			for ( var i = 3, il = positions.length; i < il; i += 3 ) {
+
+				x = positions[ i ];
+				y = positions[ i + 1 ];
+				z = positions[ i + 2 ];
+
+				// bounding box
+
+				if ( x < bb.min.x ) {
+
+					bb.min.x = x;
+
+				} else if ( x > bb.max.x ) {
+
+					bb.max.x = x;
+
+				}
+
+				if ( y < bb.min.y ) {
+
+					bb.min.y = y;
+
+				} else if ( y > bb.max.y ) {
+
+					bb.max.y = y;
+
+				}
+
+				if ( z < bb.min.z ) {
+
+					bb.min.z = z;
+
+				} else if ( z > bb.max.z ) {
+
+					bb.max.z = z;
+
+				}
+
+			}
+
+		}
+
+		if ( positions === undefined || positions.length === 0 ) {
+
+			this.boundingBox.min.set( 0, 0, 0 );
+			this.boundingBox.max.set( 0, 0, 0 );
+
+		}
+
+	},
+
+	computeBoundingSphere: function () {
+
+		if ( this.boundingSphere === null ) {
+
+			this.boundingSphere = new THREE.Sphere();
+
+		}
+
+		var positions = this.attributes[ "position" ].array;
+
+		if ( positions ) {
+
+			var radiusSq, maxRadiusSq = 0;
+			var x, y, z;
+
+			for ( var i = 0, il = positions.length; i < il; i += 3 ) {
+
+				x = positions[ i ];
+				y = positions[ i + 1 ];
+				z = positions[ i + 2 ];
+
+				radiusSq =  x * x + y * y + z * z;
+				if ( radiusSq > maxRadiusSq ) maxRadiusSq = radiusSq;
+
+			}
+
+			this.boundingSphere.radius = Math.sqrt( maxRadiusSq );
+
+		}
+
+	},
+
+	computeVertexNormals: function () {
+
+		if ( this.attributes[ "position" ] ) {
+
+			var i, il;
+			var j, jl;
+
+			var nVertexElements = this.attributes[ "position" ].array.length;
+
+			if ( this.attributes[ "normal" ] === undefined ) {
+
+				this.attributes[ "normal" ] = {
+
+					itemSize: 3,
+					array: new Float32Array( nVertexElements ),
+					numItems: nVertexElements
+
+				};
+
+			} else {
+
+				// reset existing normals to zero
+
+				for ( i = 0, il = this.attributes[ "normal" ].array.length; i < il; i ++ ) {
+
+					this.attributes[ "normal" ].array[ i ] = 0;
+
+				}
+
+			}
+
+			var positions = this.attributes[ "position" ].array;
+			var normals = this.attributes[ "normal" ].array;
+
+			var vA, vB, vC, x, y, z,
+
+			pA = new THREE.Vector3(),
+			pB = new THREE.Vector3(),
+			pC = new THREE.Vector3(),
+
+			cb = new THREE.Vector3(),
+			ab = new THREE.Vector3();
+
+			// indexed elements
+
+			if ( this.attributes[ "index" ] ) {
+
+				var indices = this.attributes[ "index" ].array;
+
+				var offsets = this.offsets;
+
+				for ( j = 0, jl = offsets.length; j < jl; ++ j ) {
+
+					var start = offsets[ j ].start;
+					var count = offsets[ j ].count;
+					var index = offsets[ j ].index;
+
+					for ( i = start, il = start + count; i < il; i += 3 ) {
+
+						vA = index + indices[ i ];
+						vB = index + indices[ i + 1 ];
+						vC = index + indices[ i + 2 ];
+
+						x = positions[ vA * 3 ];
+						y = positions[ vA * 3 + 1 ];
+						z = positions[ vA * 3 + 2 ];
+						pA.set( x, y, z );
+
+						x = positions[ vB * 3 ];
+						y = positions[ vB * 3 + 1 ];
+						z = positions[ vB * 3 + 2 ];
+						pB.set( x, y, z );
+
+						x = positions[ vC * 3 ];
+						y = positions[ vC * 3 + 1 ];
+						z = positions[ vC * 3 + 2 ];
+						pC.set( x, y, z );
+
+						cb.subVectors( pC, pB );
+						ab.subVectors( pA, pB );
+						cb.cross( ab );
+
+						normals[ vA * 3 ]     += cb.x;
+						normals[ vA * 3 + 1 ] += cb.y;
+						normals[ vA * 3 + 2 ] += cb.z;
+
+						normals[ vB * 3 ]     += cb.x;
+						normals[ vB * 3 + 1 ] += cb.y;
+						normals[ vB * 3 + 2 ] += cb.z;
+
+						normals[ vC * 3 ]     += cb.x;
+						normals[ vC * 3 + 1 ] += cb.y;
+						normals[ vC * 3 + 2 ] += cb.z;
+
+					}
+
+				}
+
+			// non-indexed elements (unconnected triangle soup)
+
+			} else {
+
+				for ( i = 0, il = positions.length; i < il; i += 9 ) {
+
+					x = positions[ i ];
+					y = positions[ i + 1 ];
+					z = positions[ i + 2 ];
+					pA.set( x, y, z );
+
+					x = positions[ i + 3 ];
+					y = positions[ i + 4 ];
+					z = positions[ i + 5 ];
+					pB.set( x, y, z );
+
+					x = positions[ i + 6 ];
+					y = positions[ i + 7 ];
+					z = positions[ i + 8 ];
+					pC.set( x, y, z );
+
+					cb.subVectors( pC, pB );
+					ab.subVectors( pA, pB );
+					cb.cross( ab );
+
+					normals[ i ] 	 = cb.x;
+					normals[ i + 1 ] = cb.y;
+					normals[ i + 2 ] = cb.z;
+
+					normals[ i + 3 ] = cb.x;
+					normals[ i + 4 ] = cb.y;
+					normals[ i + 5 ] = cb.z;
+
+					normals[ i + 6 ] = cb.x;
+					normals[ i + 7 ] = cb.y;
+					normals[ i + 8 ] = cb.z;
+
+				}
+
+			}
+
+			this.normalizeNormals();
+
+			this.normalsNeedUpdate = true;
+
+		}
+
+	},
+
+	normalizeNormals: function () {
+
+		var normals = this.attributes[ "normal" ].array;
+
+		var x, y, z, n;
+
+		for ( var i = 0, il = normals.length; i < il; i += 3 ) {
+
+			x = normals[ i ];
+			y = normals[ i + 1 ];
+			z = normals[ i + 2 ];
+
+			n = 1.0 / Math.sqrt( x * x + y * y + z * z );
+
+			normals[ i ] 	 *= n;
+			normals[ i + 1 ] *= n;
+			normals[ i + 2 ] *= n;
+
+		}
+
+	},
+
+	computeTangents: function () {
+
+		// based on http://www.terathon.com/code/tangent.html
+		// (per vertex tangents)
+
+		if ( this.attributes[ "index" ] === undefined ||
+			 this.attributes[ "position" ] === undefined ||
+			 this.attributes[ "normal" ] === undefined ||
+			 this.attributes[ "uv" ] === undefined ) {
+
+			console.warn( "Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()" );
+			return;
+
+		}
+
+		var indices = this.attributes[ "index" ].array;
+		var positions = this.attributes[ "position" ].array;
+		var normals = this.attributes[ "normal" ].array;
+		var uvs = this.attributes[ "uv" ].array;
+
+		var nVertices = positions.length / 3;
+
+		if ( this.attributes[ "tangent" ] === undefined ) {
+
+			var nTangentElements = 4 * nVertices;
+
+			this.attributes[ "tangent" ] = {
+
+				itemSize: 4,
+				array: new Float32Array( nTangentElements ),
+				numItems: nTangentElements
+
+			};
+
+		}
+
+		var tangents = this.attributes[ "tangent" ].array;
+
+		var tan1 = [], tan2 = [];
+
+		for ( var k = 0; k < nVertices; k ++ ) {
+
+			tan1[ k ] = new THREE.Vector3();
+			tan2[ k ] = new THREE.Vector3();
+
+		}
+
+		var xA, yA, zA,
+			xB, yB, zB,
+			xC, yC, zC,
+
+			uA, vA,
+			uB, vB,
+			uC, vC,
+
+			x1, x2, y1, y2, z1, z2,
+			s1, s2, t1, t2, r;
+
+		var sdir = new THREE.Vector3(), tdir = new THREE.Vector3();
+
+		function handleTriangle( a, b, c ) {
+
+			xA = positions[ a * 3 ];
+			yA = positions[ a * 3 + 1 ];
+			zA = positions[ a * 3 + 2 ];
+
+			xB = positions[ b * 3 ];
+			yB = positions[ b * 3 + 1 ];
+			zB = positions[ b * 3 + 2 ];
+
+			xC = positions[ c * 3 ];
+			yC = positions[ c * 3 + 1 ];
+			zC = positions[ c * 3 + 2 ];
+
+			uA = uvs[ a * 2 ];
+			vA = uvs[ a * 2 + 1 ];
+
+			uB = uvs[ b * 2 ];
+			vB = uvs[ b * 2 + 1 ];
+
+			uC = uvs[ c * 2 ];
+			vC = uvs[ c * 2 + 1 ];
+
+			x1 = xB - xA;
+			x2 = xC - xA;
+
+			y1 = yB - yA;
+			y2 = yC - yA;
+
+			z1 = zB - zA;
+			z2 = zC - zA;
+
+			s1 = uB - uA;
+			s2 = uC - uA;
+
+			t1 = vB - vA;
+			t2 = vC - vA;
+
+			r = 1.0 / ( s1 * t2 - s2 * t1 );
+
+			sdir.set(
+				( t2 * x1 - t1 * x2 ) * r,
+				( t2 * y1 - t1 * y2 ) * r,
+				( t2 * z1 - t1 * z2 ) * r
+			);
+
+			tdir.set(
+				( s1 * x2 - s2 * x1 ) * r,
+				( s1 * y2 - s2 * y1 ) * r,
+				( s1 * z2 - s2 * z1 ) * r
+			);
+
+			tan1[ a ].add( sdir );
+			tan1[ b ].add( sdir );
+			tan1[ c ].add( sdir );
+
+			tan2[ a ].add( tdir );
+			tan2[ b ].add( tdir );
+			tan2[ c ].add( tdir );
+
+		}
+
+		var i, il;
+		var j, jl;
+		var iA, iB, iC;
+
+		var offsets = this.offsets;
+
+		for ( j = 0, jl = offsets.length; j < jl; ++ j ) {
+
+			var start = offsets[ j ].start;
+			var count = offsets[ j ].count;
+			var index = offsets[ j ].index;
+
+			for ( i = start, il = start + count; i < il; i += 3 ) {
+
+				iA = index + indices[ i ];
+				iB = index + indices[ i + 1 ];
+				iC = index + indices[ i + 2 ];
+
+				handleTriangle( iA, iB, iC );
+
+			}
+
+		}
+
+		var tmp = new THREE.Vector3(), tmp2 = new THREE.Vector3();
+		var n = new THREE.Vector3(), n2 = new THREE.Vector3();
+		var w, t, test;
+
+		function handleVertex( v ) {
+
+			n.x = normals[ v * 3 ];
+			n.y = normals[ v * 3 + 1 ];
+			n.z = normals[ v * 3 + 2 ];
+
+			n2.copy( n );
+
+			t = tan1[ v ];
+
+			// Gram-Schmidt orthogonalize
+
+			tmp.copy( t );
+			tmp.sub( n.multiplyScalar( n.dot( t ) ) ).normalize();
+
+			// Calculate handedness
+
+			tmp2.crossVectors( n2, t );
+			test = tmp2.dot( tan2[ v ] );
+			w = ( test < 0.0 ) ? -1.0 : 1.0;
+
+			tangents[ v * 4 ] 	  = tmp.x;
+			tangents[ v * 4 + 1 ] = tmp.y;
+			tangents[ v * 4 + 2 ] = tmp.z;
+			tangents[ v * 4 + 3 ] = w;
+
+		}
+
+		for ( j = 0, jl = offsets.length; j < jl; ++ j ) {
+
+			var start = offsets[ j ].start;
+			var count = offsets[ j ].count;
+			var index = offsets[ j ].index;
+
+			for ( i = start, il = start + count; i < il; i += 3 ) {
+
+				iA = index + indices[ i ];
+				iB = index + indices[ i + 1 ];
+				iC = index + indices[ i + 2 ];
+
+				handleVertex( iA );
+				handleVertex( iB );
+				handleVertex( iC );
+
+			}
+
+		}
+
+		this.hasTangents = true;
+		this.tangentsNeedUpdate = true;
+
+	},
+
+	dispose: function () {
+
+		this.dispatchEvent( { type: 'dispose' } );
+
+	}
+
+};
+
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author mikael emtinger / http://gomo.se/
+ */
+
+THREE.Camera = function () {
+
+	THREE.Object3D.call( this );
+
+	this.matrixWorldInverse = new THREE.Matrix4();
+
+	this.projectionMatrix = new THREE.Matrix4();
+	this.projectionMatrixInverse = new THREE.Matrix4();
+
+};
+
+THREE.Camera.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Camera.prototype.lookAt = function ( vector ) {
+
+	// TODO: Add hierarchy support.
+
+	this.matrix.lookAt( this.position, vector, this.up );
+
+	if ( this.rotationAutoUpdate === true ) {
+
+		if ( this.useQuaternion === false )  {
+
+			this.rotation.setEulerFromRotationMatrix( this.matrix, this.eulerOrder );
+
+		} else {
+
+			this.quaternion.copy( this.matrix.decompose()[ 1 ] );
+
+		}
+
+	}
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.OrthographicCamera = function ( left, right, top, bottom, near, far ) {
+
+	THREE.Camera.call( this );
+
+	this.left = left;
+	this.right = right;
+	this.top = top;
+	this.bottom = bottom;
+
+	this.near = ( near !== undefined ) ? near : 0.1;
+	this.far = ( far !== undefined ) ? far : 2000;
+
+	this.updateProjectionMatrix();
+
+};
+
+THREE.OrthographicCamera.prototype = Object.create( THREE.Camera.prototype );
+
+THREE.OrthographicCamera.prototype.updateProjectionMatrix = function () {
+
+	this.projectionMatrix.makeOrthographic( this.left, this.right, this.top, this.bottom, this.near, this.far );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author greggman / http://games.greggman.com/
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ */
+
+THREE.PerspectiveCamera = function ( fov, aspect, near, far ) {
+
+	THREE.Camera.call( this );
+
+	this.fov = fov !== undefined ? fov : 50;
+	this.aspect = aspect !== undefined ? aspect : 1;
+	this.near = near !== undefined ? near : 0.1;
+	this.far = far !== undefined ? far : 2000;
+
+	this.updateProjectionMatrix();
+
+};
+
+THREE.PerspectiveCamera.prototype = Object.create( THREE.Camera.prototype );
+
+
+/**
+ * Uses Focal Length (in mm) to estimate and set FOV
+ * 35mm (fullframe) camera is used if frame size is not specified;
+ * Formula based on http://www.bobatkins.com/photography/technical/field_of_view.html
+ */
+
+THREE.PerspectiveCamera.prototype.setLens = function ( focalLength, frameHeight ) {
+
+	if ( frameHeight === undefined ) frameHeight = 24;
+
+	this.fov = 2 * THREE.Math.radToDeg( Math.atan( frameHeight / ( focalLength * 2 ) ) );
+	this.updateProjectionMatrix();
+
+}
+
+
+/**
+ * Sets an offset in a larger frustum. This is useful for multi-window or
+ * multi-monitor/multi-machine setups.
+ *
+ * For example, if you have 3x2 monitors and each monitor is 1920x1080 and
+ * the monitors are in grid like this
+ *
+ *   +---+---+---+
+ *   | A | B | C |
+ *   +---+---+---+
+ *   | D | E | F |
+ *   +---+---+---+
+ *
+ * then for each monitor you would call it like this
+ *
+ *   var w = 1920;
+ *   var h = 1080;
+ *   var fullWidth = w * 3;
+ *   var fullHeight = h * 2;
+ *
+ *   --A--
+ *   camera.setOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
+ *   --B--
+ *   camera.setOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
+ *   --C--
+ *   camera.setOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
+ *   --D--
+ *   camera.setOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
+ *   --E--
+ *   camera.setOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
+ *   --F--
+ *   camera.setOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
+ *
+ *   Note there is no reason monitors have to be the same size or in a grid.
+ */
+
+THREE.PerspectiveCamera.prototype.setViewOffset = function ( fullWidth, fullHeight, x, y, width, height ) {
+
+	this.fullWidth = fullWidth;
+	this.fullHeight = fullHeight;
+	this.x = x;
+	this.y = y;
+	this.width = width;
+	this.height = height;
+
+	this.updateProjectionMatrix();
+
+};
+
+
+THREE.PerspectiveCamera.prototype.updateProjectionMatrix = function () {
+
+	if ( this.fullWidth ) {
+
+		var aspect = this.fullWidth / this.fullHeight;
+		var top = Math.tan( THREE.Math.degToRad( this.fov * 0.5 ) ) * this.near;
+		var bottom = -top;
+		var left = aspect * bottom;
+		var right = aspect * top;
+		var width = Math.abs( right - left );
+		var height = Math.abs( top - bottom );
+
+		this.projectionMatrix.makeFrustum(
+			left + this.x * width / this.fullWidth,
+			left + ( this.x + this.width ) * width / this.fullWidth,
+			top - ( this.y + this.height ) * height / this.fullHeight,
+			top - this.y * height / this.fullHeight,
+			this.near,
+			this.far
+		);
+
+	} else {
+
+		this.projectionMatrix.makePerspective( this.fov, this.aspect, this.near, this.far );
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+ 
+THREE.Light = function ( hex ) {
+
+	THREE.Object3D.call( this );
+
+	this.color = new THREE.Color( hex );
+
+};
+
+THREE.Light.prototype = Object.create( THREE.Object3D.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.AmbientLight = function ( hex ) {
+
+	THREE.Light.call( this, hex );
+
+};
+
+THREE.AmbientLight.prototype = Object.create( THREE.Light.prototype );
+/**
+ * @author MPanknin / http://www.redplant.de/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.AreaLight = function ( hex, intensity ) {
+
+	THREE.Light.call( this, hex );
+
+	this.normal = new THREE.Vector3( 0, -1, 0 );
+	this.right = new THREE.Vector3( 1, 0, 0 );
+
+	this.intensity = ( intensity !== undefined ) ? intensity : 1;
+
+	this.width = 1.0;
+	this.height = 1.0;
+
+	this.constantAttenuation = 1.5;
+	this.linearAttenuation = 0.5;
+	this.quadraticAttenuation = 0.1;
+
+};
+
+THREE.AreaLight.prototype = Object.create( THREE.Light.prototype );
+
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.DirectionalLight = function ( hex, intensity ) {
+
+	THREE.Light.call( this, hex );
+
+	this.position = new THREE.Vector3( 0, 1, 0 );
+	this.target = new THREE.Object3D();
+
+	this.intensity = ( intensity !== undefined ) ? intensity : 1;
+
+	this.castShadow = false;
+	this.onlyShadow = false;
+
+	//
+
+	this.shadowCameraNear = 50;
+	this.shadowCameraFar = 5000;
+
+	this.shadowCameraLeft = -500;
+	this.shadowCameraRight = 500;
+	this.shadowCameraTop = 500;
+	this.shadowCameraBottom = -500;
+
+	this.shadowCameraVisible = false;
+
+	this.shadowBias = 0;
+	this.shadowDarkness = 0.5;
+
+	this.shadowMapWidth = 512;
+	this.shadowMapHeight = 512;
+
+	//
+
+	this.shadowCascade = false;
+
+	this.shadowCascadeOffset = new THREE.Vector3( 0, 0, -1000 );
+	this.shadowCascadeCount = 2;
+
+	this.shadowCascadeBias = [ 0, 0, 0 ];
+	this.shadowCascadeWidth = [ 512, 512, 512 ];
+	this.shadowCascadeHeight = [ 512, 512, 512 ];
+
+	this.shadowCascadeNearZ = [ -1.000, 0.990, 0.998 ];
+	this.shadowCascadeFarZ  = [  0.990, 0.998, 1.000 ];
+
+	this.shadowCascadeArray = [];
+
+	//
+
+	this.shadowMap = null;
+	this.shadowMapSize = null;
+	this.shadowCamera = null;
+	this.shadowMatrix = null;
+
+};
+
+THREE.DirectionalLight.prototype = Object.create( THREE.Light.prototype );
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.HemisphereLight = function ( skyColorHex, groundColorHex, intensity ) {
+
+	THREE.Light.call( this, skyColorHex );
+
+	this.groundColor = new THREE.Color( groundColorHex );
+
+	this.position = new THREE.Vector3( 0, 100, 0 );
+
+	this.intensity = ( intensity !== undefined ) ? intensity : 1;
+
+};
+
+THREE.HemisphereLight.prototype = Object.create( THREE.Light.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.PointLight = function ( hex, intensity, distance ) {
+
+	THREE.Light.call( this, hex );
+
+	this.position = new THREE.Vector3( 0, 0, 0 );
+	this.intensity = ( intensity !== undefined ) ? intensity : 1;
+	this.distance = ( distance !== undefined ) ? distance : 0;
+
+};
+
+THREE.PointLight.prototype = Object.create( THREE.Light.prototype );
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.SpotLight = function ( hex, intensity, distance, angle, exponent ) {
+
+	THREE.Light.call( this, hex );
+
+	this.position = new THREE.Vector3( 0, 1, 0 );
+	this.target = new THREE.Object3D();
+
+	this.intensity = ( intensity !== undefined ) ? intensity : 1;
+	this.distance = ( distance !== undefined ) ? distance : 0;
+	this.angle = ( angle !== undefined ) ? angle : Math.PI / 2;
+	this.exponent = ( exponent !== undefined ) ? exponent : 10;
+
+	this.castShadow = false;
+	this.onlyShadow = false;
+
+	//
+
+	this.shadowCameraNear = 50;
+	this.shadowCameraFar = 5000;
+	this.shadowCameraFov = 50;
+
+	this.shadowCameraVisible = false;
+
+	this.shadowBias = 0;
+	this.shadowDarkness = 0.5;
+
+	this.shadowMapWidth = 512;
+	this.shadowMapHeight = 512;
+
+	//
+
+	this.shadowMap = null;
+	this.shadowMapSize = null;
+	this.shadowCamera = null;
+	this.shadowMatrix = null;
+
+};
+
+THREE.SpotLight.prototype = Object.create( THREE.Light.prototype );
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Loader = function ( showStatus ) {
+
+	this.showStatus = showStatus;
+	this.statusDomElement = showStatus ? THREE.Loader.prototype.addStatusElement() : null;
+
+	this.onLoadStart = function () {};
+	this.onLoadProgress = function () {};
+	this.onLoadComplete = function () {};
+
+};
+
+THREE.Loader.prototype = {
+
+	constructor: THREE.Loader,
+
+	crossOrigin: 'anonymous',
+
+	addStatusElement: function () {
+
+		var e = document.createElement( "div" );
+
+		e.style.position = "absolute";
+		e.style.right = "0px";
+		e.style.top = "0px";
+		e.style.fontSize = "0.8em";
+		e.style.textAlign = "left";
+		e.style.background = "rgba(0,0,0,0.25)";
+		e.style.color = "#fff";
+		e.style.width = "120px";
+		e.style.padding = "0.5em 0.5em 0.5em 0.5em";
+		e.style.zIndex = 1000;
+
+		e.innerHTML = "Loading ...";
+
+		return e;
+
+	},
+
+	updateProgress: function ( progress ) {
+
+		var message = "Loaded ";
+
+		if ( progress.total ) {
+
+			message += ( 100 * progress.loaded / progress.total ).toFixed(0) + "%";
+
+
+		} else {
+
+			message += ( progress.loaded / 1000 ).toFixed(2) + " KB";
+
+		}
+
+		this.statusDomElement.innerHTML = message;
+
+	},
+
+	extractUrlBase: function ( url ) {
+
+		var parts = url.split( '/' );
+		parts.pop();
+		return ( parts.length < 1 ? '.' : parts.join( '/' ) ) + '/';
+
+	},
+
+	initMaterials: function ( materials, texturePath ) {
+
+		var array = [];
+
+		for ( var i = 0; i < materials.length; ++ i ) {
+
+			array[ i ] = THREE.Loader.prototype.createMaterial( materials[ i ], texturePath );
+
+		}
+
+		return array;
+
+	},
+
+	needsTangents: function ( materials ) {
+
+		for( var i = 0, il = materials.length; i < il; i ++ ) {
+
+			var m = materials[ i ];
+
+			if ( m instanceof THREE.ShaderMaterial ) return true;
+
+		}
+
+		return false;
+
+	},
+
+	createMaterial: function ( m, texturePath ) {
+
+		var _this = this;
+
+		function is_pow2( n ) {
+
+			var l = Math.log( n ) / Math.LN2;
+			return Math.floor( l ) == l;
+
+		}
+
+		function nearest_pow2( n ) {
+
+			var l = Math.log( n ) / Math.LN2;
+			return Math.pow( 2, Math.round(  l ) );
+
+		}
+
+		function load_image( where, url ) {
+
+			var image = new Image();
+
+			image.onload = function () {
+
+				if ( !is_pow2( this.width ) || !is_pow2( this.height ) ) {
+
+					var width = nearest_pow2( this.width );
+					var height = nearest_pow2( this.height );
+
+					where.image.width = width;
+					where.image.height = height;
+					where.image.getContext( '2d' ).drawImage( this, 0, 0, width, height );
+
+				} else {
+
+					where.image = this;
+
+				}
+
+				where.needsUpdate = true;
+
+			};
+
+			image.crossOrigin = _this.crossOrigin;
+			image.src = url;
+
+		}
+
+		function create_texture( where, name, sourceFile, repeat, offset, wrap, anisotropy ) {
+
+			var isCompressed = /\.dds$/i.test( sourceFile );
+			var fullPath = texturePath + "/" + sourceFile;
+
+			if ( isCompressed ) {
+
+				var texture = THREE.ImageUtils.loadCompressedTexture( fullPath );
+
+				where[ name ] = texture;
+
+			} else {
+
+				var texture = document.createElement( 'canvas' );
+
+				where[ name ] = new THREE.Texture( texture );
+
+			}
+
+			where[ name ].sourceFile = sourceFile;
+
+			if( repeat ) {
+
+				where[ name ].repeat.set( repeat[ 0 ], repeat[ 1 ] );
+
+				if ( repeat[ 0 ] !== 1 ) where[ name ].wrapS = THREE.RepeatWrapping;
+				if ( repeat[ 1 ] !== 1 ) where[ name ].wrapT = THREE.RepeatWrapping;
+
+			}
+
+			if ( offset ) {
+
+				where[ name ].offset.set( offset[ 0 ], offset[ 1 ] );
+
+			}
+
+			if ( wrap ) {
+
+				var wrapMap = {
+					"repeat": THREE.RepeatWrapping,
+					"mirror": THREE.MirroredRepeatWrapping
+				}
+
+				if ( wrapMap[ wrap[ 0 ] ] !== undefined ) where[ name ].wrapS = wrapMap[ wrap[ 0 ] ];
+				if ( wrapMap[ wrap[ 1 ] ] !== undefined ) where[ name ].wrapT = wrapMap[ wrap[ 1 ] ];
+
+			}
+
+			if ( anisotropy ) {
+
+				where[ name ].anisotropy = anisotropy;
+
+			}
+
+			if ( ! isCompressed ) {
+
+				load_image( where[ name ], fullPath );
+
+			}
+
+		}
+
+		function rgb2hex( rgb ) {
+
+			return ( rgb[ 0 ] * 255 << 16 ) + ( rgb[ 1 ] * 255 << 8 ) + rgb[ 2 ] * 255;
+
+		}
+
+		// defaults
+
+		var mtype = "MeshLambertMaterial";
+		var mpars = { color: 0xeeeeee, opacity: 1.0, map: null, lightMap: null, normalMap: null, bumpMap: null, wireframe: false };
+
+		// parameters from model file
+
+		if ( m.shading ) {
+
+			var shading = m.shading.toLowerCase();
+
+			if ( shading === "phong" ) mtype = "MeshPhongMaterial";
+			else if ( shading === "basic" ) mtype = "MeshBasicMaterial";
+
+		}
+
+		if ( m.blending !== undefined && THREE[ m.blending ] !== undefined ) {
+
+			mpars.blending = THREE[ m.blending ];
+
+		}
+
+		if ( m.transparent !== undefined || m.opacity < 1.0 ) {
+
+			mpars.transparent = m.transparent;
+
+		}
+
+		if ( m.depthTest !== undefined ) {
+
+			mpars.depthTest = m.depthTest;
+
+		}
+
+		if ( m.depthWrite !== undefined ) {
+
+			mpars.depthWrite = m.depthWrite;
+
+		}
+
+		if ( m.visible !== undefined ) {
+
+			mpars.visible = m.visible;
+
+		}
+
+		if ( m.flipSided !== undefined ) {
+
+			mpars.side = THREE.BackSide;
+
+		}
+
+		if ( m.doubleSided !== undefined ) {
+
+			mpars.side = THREE.DoubleSide;
+
+		}
+
+		if ( m.wireframe !== undefined ) {
+
+			mpars.wireframe = m.wireframe;
+
+		}
+
+		if ( m.vertexColors !== undefined ) {
+
+			if ( m.vertexColors === "face" ) {
+
+				mpars.vertexColors = THREE.FaceColors;
+
+			} else if ( m.vertexColors ) {
+
+				mpars.vertexColors = THREE.VertexColors;
+
+			}
+
+		}
+
+		// colors
+
+		if ( m.colorDiffuse ) {
+
+			mpars.color = rgb2hex( m.colorDiffuse );
+
+		} else if ( m.DbgColor ) {
+
+			mpars.color = m.DbgColor;
+
+		}
+
+		if ( m.colorSpecular ) {
+
+			mpars.specular = rgb2hex( m.colorSpecular );
+
+		}
+
+		if ( m.colorAmbient ) {
+
+			mpars.ambient = rgb2hex( m.colorAmbient );
+
+		}
+
+		// modifiers
+
+		if ( m.transparency ) {
+
+			mpars.opacity = m.transparency;
+
+		}
+
+		if ( m.specularCoef ) {
+
+			mpars.shininess = m.specularCoef;
+
+		}
+
+		// textures
+
+		if ( m.mapDiffuse && texturePath ) {
+
+			create_texture( mpars, "map", m.mapDiffuse, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy );
+
+		}
+
+		if ( m.mapLight && texturePath ) {
+
+			create_texture( mpars, "lightMap", m.mapLight, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy );
+
+		}
+
+		if ( m.mapBump && texturePath ) {
+
+			create_texture( mpars, "bumpMap", m.mapBump, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy );
+
+		}
+
+		if ( m.mapNormal && texturePath ) {
+
+			create_texture( mpars, "normalMap", m.mapNormal, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy );
+
+		}
+
+		if ( m.mapSpecular && texturePath ) {
+
+			create_texture( mpars, "specularMap", m.mapSpecular, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy );
+
+		}
+
+		//
+
+		if ( m.mapBumpScale ) {
+
+			mpars.bumpScale = m.mapBumpScale;
+
+		}
+
+		// special case for normal mapped material
+
+		if ( m.mapNormal ) {
+
+			var shader = THREE.ShaderLib[ "normalmap" ];
+			var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+
+			uniforms[ "tNormal" ].value = mpars.normalMap;
+
+			if ( m.mapNormalFactor ) {
+
+				uniforms[ "uNormalScale" ].value.set( m.mapNormalFactor, m.mapNormalFactor );
+
+			}
+
+			if ( mpars.map ) {
+
+				uniforms[ "tDiffuse" ].value = mpars.map;
+				uniforms[ "enableDiffuse" ].value = true;
+
+			}
+
+			if ( mpars.specularMap ) {
+
+				uniforms[ "tSpecular" ].value = mpars.specularMap;
+				uniforms[ "enableSpecular" ].value = true;
+
+			}
+
+			if ( mpars.lightMap ) {
+
+				uniforms[ "tAO" ].value = mpars.lightMap;
+				uniforms[ "enableAO" ].value = true;
+
+			}
+
+			// for the moment don't handle displacement texture
+
+			uniforms[ "uDiffuseColor" ].value.setHex( mpars.color );
+			uniforms[ "uSpecularColor" ].value.setHex( mpars.specular );
+			uniforms[ "uAmbientColor" ].value.setHex( mpars.ambient );
+
+			uniforms[ "uShininess" ].value = mpars.shininess;
+
+			if ( mpars.opacity !== undefined ) {
+
+				uniforms[ "uOpacity" ].value = mpars.opacity;
+
+			}
+
+			var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: true };
+			var material = new THREE.ShaderMaterial( parameters );
+
+			if ( mpars.transparent ) {
+
+				material.transparent = true;
+
+			}
+
+		} else {
+
+			var material = new THREE[ mtype ]( mpars );
+
+		}
+
+		if ( m.DbgName !== undefined ) material.name = m.DbgName;
+
+		return material;
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.ImageLoader = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	this.crossOrigin = null;
+
+};
+
+THREE.ImageLoader.prototype = {
+
+	constructor: THREE.ImageLoader,
+
+	load: function ( url, image ) {
+
+		var scope = this;
+
+		if ( image === undefined ) image = new Image();
+
+		image.addEventListener( 'load', function () {
+
+			scope.dispatchEvent( { type: 'load', content: image } );
+
+		}, false );
+
+		image.addEventListener( 'error', function () {
+
+			scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
+
+		}, false );
+
+		if ( scope.crossOrigin ) image.crossOrigin = scope.crossOrigin;
+
+		image.src = url;
+
+	}
+
+}
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.JSONLoader = function ( showStatus ) {
+
+	THREE.Loader.call( this, showStatus );
+
+	this.withCredentials = false;
+
+};
+
+THREE.JSONLoader.prototype = Object.create( THREE.Loader.prototype );
+
+THREE.JSONLoader.prototype.load = function ( url, callback, texturePath ) {
+
+	var scope = this;
+
+	// todo: unify load API to for easier SceneLoader use
+
+	texturePath = texturePath && ( typeof texturePath === "string" ) ? texturePath : this.extractUrlBase( url );
+
+	this.onLoadStart();
+	this.loadAjaxJSON( this, url, callback, texturePath );
+
+};
+
+THREE.JSONLoader.prototype.loadAjaxJSON = function ( context, url, callback, texturePath, callbackProgress ) {
+
+	var xhr = new XMLHttpRequest();
+
+	var length = 0;
+
+	xhr.onreadystatechange = function () {
+
+		if ( xhr.readyState === xhr.DONE ) {
+
+			if ( xhr.status === 200 || xhr.status === 0 ) {
+
+				if ( xhr.responseText ) {
+
+					var json = JSON.parse( xhr.responseText );
+					context.createModel( json, callback, texturePath );
+
+				} else {
+
+					console.warn( "THREE.JSONLoader: [" + url + "] seems to be unreachable or file there is empty" );
+
+				}
+
+				// in context of more complex asset initialization
+				// do not block on single failed file
+				// maybe should go even one more level up
+
+				context.onLoadComplete();
+
+			} else {
+
+				console.error( "THREE.JSONLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
+
+			}
+
+		} else if ( xhr.readyState === xhr.LOADING ) {
+
+			if ( callbackProgress ) {
+
+				if ( length === 0 ) {
+
+					length = xhr.getResponseHeader( "Content-Length" );
+
+				}
+
+				callbackProgress( { total: length, loaded: xhr.responseText.length } );
+
+			}
+
+		} else if ( xhr.readyState === xhr.HEADERS_RECEIVED ) {
+
+			length = xhr.getResponseHeader( "Content-Length" );
+
+		}
+
+	};
+
+	xhr.open( "GET", url, true );
+	xhr.withCredentials = this.withCredentials;
+	xhr.send( null );
+
+};
+
+THREE.JSONLoader.prototype.createModel = function ( json, callback, texturePath ) {
+
+	var scope = this,
+	geometry = new THREE.Geometry(),
+	scale = ( json.scale !== undefined ) ? 1.0 / json.scale : 1.0;
+
+	parseModel( scale );
+
+	parseSkin();
+	parseMorphing( scale );
+
+	geometry.computeCentroids();
+	geometry.computeFaceNormals();
+
+	function parseModel( scale ) {
+
+		function isBitSet( value, position ) {
+
+			return value & ( 1 << position );
+
+		}
+
+		var i, j, fi,
+
+		offset, zLength, nVertices,
+
+		colorIndex, normalIndex, uvIndex, materialIndex,
+
+		type,
+		isQuad,
+		hasMaterial,
+		hasFaceUv, hasFaceVertexUv,
+		hasFaceNormal, hasFaceVertexNormal,
+		hasFaceColor, hasFaceVertexColor,
+
+		vertex, face, color, normal,
+
+		uvLayer, uvs, u, v,
+
+		faces = json.faces,
+		vertices = json.vertices,
+		normals = json.normals,
+		colors = json.colors,
+
+		nUvLayers = 0;
+
+		// disregard empty arrays
+
+		for ( i = 0; i < json.uvs.length; i++ ) {
+
+			if ( json.uvs[ i ].length ) nUvLayers ++;
+
+		}
+
+		for ( i = 0; i < nUvLayers; i++ ) {
+
+			geometry.faceUvs[ i ] = [];
+			geometry.faceVertexUvs[ i ] = [];
+
+		}
+
+		offset = 0;
+		zLength = vertices.length;
+
+		while ( offset < zLength ) {
+
+			vertex = new THREE.Vector3();
+
+			vertex.x = vertices[ offset ++ ] * scale;
+			vertex.y = vertices[ offset ++ ] * scale;
+			vertex.z = vertices[ offset ++ ] * scale;
+
+			geometry.vertices.push( vertex );
+
+		}
+
+		offset = 0;
+		zLength = faces.length;
+
+		while ( offset < zLength ) {
+
+			type = faces[ offset ++ ];
+
+
+			isQuad          	= isBitSet( type, 0 );
+			hasMaterial         = isBitSet( type, 1 );
+			hasFaceUv           = isBitSet( type, 2 );
+			hasFaceVertexUv     = isBitSet( type, 3 );
+			hasFaceNormal       = isBitSet( type, 4 );
+			hasFaceVertexNormal = isBitSet( type, 5 );
+			hasFaceColor	    = isBitSet( type, 6 );
+			hasFaceVertexColor  = isBitSet( type, 7 );
+
+			//console.log("type", type, "bits", isQuad, hasMaterial, hasFaceUv, hasFaceVertexUv, hasFaceNormal, hasFaceVertexNormal, hasFaceColor, hasFaceVertexColor);
+
+			if ( isQuad ) {
+
+				face = new THREE.Face4();
+
+				face.a = faces[ offset ++ ];
+				face.b = faces[ offset ++ ];
+				face.c = faces[ offset ++ ];
+				face.d = faces[ offset ++ ];
+
+				nVertices = 4;
+
+			} else {
+
+				face = new THREE.Face3();
+
+				face.a = faces[ offset ++ ];
+				face.b = faces[ offset ++ ];
+				face.c = faces[ offset ++ ];
+
+				nVertices = 3;
+
+			}
+
+			if ( hasMaterial ) {
+
+				materialIndex = faces[ offset ++ ];
+				face.materialIndex = materialIndex;
+
+			}
+
+			// to get face <=> uv index correspondence
+
+			fi = geometry.faces.length;
+
+			if ( hasFaceUv ) {
+
+				for ( i = 0; i < nUvLayers; i++ ) {
+
+					uvLayer = json.uvs[ i ];
+
+					uvIndex = faces[ offset ++ ];
+
+					u = uvLayer[ uvIndex * 2 ];
+					v = uvLayer[ uvIndex * 2 + 1 ];
+
+					geometry.faceUvs[ i ][ fi ] = new THREE.Vector2( u, v );
+
+				}
+
+			}
+
+			if ( hasFaceVertexUv ) {
+
+				for ( i = 0; i < nUvLayers; i++ ) {
+
+					uvLayer = json.uvs[ i ];
+
+					uvs = [];
+
+					for ( j = 0; j < nVertices; j ++ ) {
+
+						uvIndex = faces[ offset ++ ];
+
+						u = uvLayer[ uvIndex * 2 ];
+						v = uvLayer[ uvIndex * 2 + 1 ];
+
+						uvs[ j ] = new THREE.Vector2( u, v );
+
+					}
+
+					geometry.faceVertexUvs[ i ][ fi ] = uvs;
+
+				}
+
+			}
+
+			if ( hasFaceNormal ) {
+
+				normalIndex = faces[ offset ++ ] * 3;
+
+				normal = new THREE.Vector3();
+
+				normal.x = normals[ normalIndex ++ ];
+				normal.y = normals[ normalIndex ++ ];
+				normal.z = normals[ normalIndex ];
+
+				face.normal = normal;
+
+			}
+
+			if ( hasFaceVertexNormal ) {
+
+				for ( i = 0; i < nVertices; i++ ) {
+
+					normalIndex = faces[ offset ++ ] * 3;
+
+					normal = new THREE.Vector3();
+
+					normal.x = normals[ normalIndex ++ ];
+					normal.y = normals[ normalIndex ++ ];
+					normal.z = normals[ normalIndex ];
+
+					face.vertexNormals.push( normal );
+
+				}
+
+			}
+
+
+			if ( hasFaceColor ) {
+
+				colorIndex = faces[ offset ++ ];
+
+				color = new THREE.Color( colors[ colorIndex ] );
+				face.color = color;
+
+			}
+
+
+			if ( hasFaceVertexColor ) {
+
+				for ( i = 0; i < nVertices; i++ ) {
+
+					colorIndex = faces[ offset ++ ];
+
+					color = new THREE.Color( colors[ colorIndex ] );
+					face.vertexColors.push( color );
+
+				}
+
+			}
+
+			geometry.faces.push( face );
+
+		}
+
+	};
+
+	function parseSkin() {
+
+		var i, l, x, y, z, w, a, b, c, d;
+
+		if ( json.skinWeights ) {
+
+			for ( i = 0, l = json.skinWeights.length; i < l; i += 2 ) {
+
+				x = json.skinWeights[ i     ];
+				y = json.skinWeights[ i + 1 ];
+				z = 0;
+				w = 0;
+
+				geometry.skinWeights.push( new THREE.Vector4( x, y, z, w ) );
+
+			}
+
+		}
+
+		if ( json.skinIndices ) {
+
+			for ( i = 0, l = json.skinIndices.length; i < l; i += 2 ) {
+
+				a = json.skinIndices[ i     ];
+				b = json.skinIndices[ i + 1 ];
+				c = 0;
+				d = 0;
+
+				geometry.skinIndices.push( new THREE.Vector4( a, b, c, d ) );
+
+			}
+
+		}
+
+		geometry.bones = json.bones;
+		geometry.animation = json.animation;
+
+	};
+
+	function parseMorphing( scale ) {
+
+		if ( json.morphTargets !== undefined ) {
+
+			var i, l, v, vl, dstVertices, srcVertices;
+
+			for ( i = 0, l = json.morphTargets.length; i < l; i ++ ) {
+
+				geometry.morphTargets[ i ] = {};
+				geometry.morphTargets[ i ].name = json.morphTargets[ i ].name;
+				geometry.morphTargets[ i ].vertices = [];
+
+				dstVertices = geometry.morphTargets[ i ].vertices;
+				srcVertices = json.morphTargets [ i ].vertices;
+
+				for( v = 0, vl = srcVertices.length; v < vl; v += 3 ) {
+
+					var vertex = new THREE.Vector3();
+					vertex.x = srcVertices[ v ] * scale;
+					vertex.y = srcVertices[ v + 1 ] * scale;
+					vertex.z = srcVertices[ v + 2 ] * scale;
+
+					dstVertices.push( vertex );
+
+				}
+
+			}
+
+		}
+
+		if ( json.morphColors !== undefined ) {
+
+			var i, l, c, cl, dstColors, srcColors, color;
+
+			for ( i = 0, l = json.morphColors.length; i < l; i++ ) {
+
+				geometry.morphColors[ i ] = {};
+				geometry.morphColors[ i ].name = json.morphColors[ i ].name;
+				geometry.morphColors[ i ].colors = [];
+
+				dstColors = geometry.morphColors[ i ].colors;
+				srcColors = json.morphColors [ i ].colors;
+
+				for ( c = 0, cl = srcColors.length; c < cl; c += 3 ) {
+
+					color = new THREE.Color( 0xffaa00 );
+					color.setRGB( srcColors[ c ], srcColors[ c + 1 ], srcColors[ c + 2 ] );
+					dstColors.push( color );
+
+				}
+
+			}
+
+		}
+
+	};
+
+	var materials = this.initMaterials( json.materials, texturePath );
+
+	if ( this.needsTangents( materials ) ) geometry.computeTangents();
+
+	callback( geometry, materials );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.LoadingMonitor = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	var scope = this;
+
+	var loaded = 0;
+	var total = 0;
+
+	var onLoad = function ( event ) {
+
+		loaded ++;
+
+		scope.dispatchEvent( { type: 'progress', loaded: loaded, total: total } );
+
+		if ( loaded === total ) {
+
+			scope.dispatchEvent( { type: 'load' } );
+
+		}
+
+	};
+
+	this.add = function ( loader ) {
+
+		total ++;
+
+		loader.addEventListener( 'load', onLoad, false );
+
+	};
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.SceneLoader = function () {
+
+	this.onLoadStart = function () {};
+	this.onLoadProgress = function() {};
+	this.onLoadComplete = function () {};
+
+	this.callbackSync = function () {};
+	this.callbackProgress = function () {};
+
+	this.geometryHandlerMap = {};
+	this.hierarchyHandlerMap = {};
+
+	this.addGeometryHandler( "ascii", THREE.JSONLoader );
+
+};
+
+THREE.SceneLoader.prototype.constructor = THREE.SceneLoader;
+
+THREE.SceneLoader.prototype.load = function ( url, callbackFinished ) {
+
+	var scope = this;
+
+	var xhr = new XMLHttpRequest();
+
+	xhr.onreadystatechange = function () {
+
+		if ( xhr.readyState === 4 ) {
+
+			if ( xhr.status === 200 || xhr.status === 0 ) {
+
+				var json = JSON.parse( xhr.responseText );
+				scope.parse( json, callbackFinished, url );
+
+			} else {
+
+				console.error( "THREE.SceneLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
+
+			}
+
+		}
+
+	};
+
+	xhr.open( "GET", url, true );
+	xhr.send( null );
+
+};
+
+THREE.SceneLoader.prototype.addGeometryHandler = function ( typeID, loaderClass ) {
+
+	this.geometryHandlerMap[ typeID ] = { "loaderClass": loaderClass };
+
+};
+
+THREE.SceneLoader.prototype.addHierarchyHandler = function ( typeID, loaderClass ) {
+
+	this.hierarchyHandlerMap[ typeID ] = { "loaderClass": loaderClass };
+
+};
+
+THREE.SceneLoader.prototype.parse = function ( json, callbackFinished, url ) {
+
+	var scope = this;
+
+	var urlBase = THREE.Loader.prototype.extractUrlBase( url );
+
+	var geometry, material, camera, fog,
+		texture, images, color,
+		light, hex, intensity,
+		counter_models, counter_textures,
+		total_models, total_textures,
+		result;
+
+	var target_array = [];
+
+	var data = json;
+
+	// async geometry loaders
+
+	for ( var typeID in this.geometryHandlerMap ) {
+
+		var loaderClass = this.geometryHandlerMap[ typeID ][ "loaderClass" ];
+		this.geometryHandlerMap[ typeID ][ "loaderObject" ] = new loaderClass();
+
+	}
+
+	// async hierachy loaders
+
+	for ( var typeID in this.hierarchyHandlerMap ) {
+
+		var loaderClass = this.hierarchyHandlerMap[ typeID ][ "loaderClass" ];
+		this.hierarchyHandlerMap[ typeID ][ "loaderObject" ] = new loaderClass();
+
+	}
+
+	counter_models = 0;
+	counter_textures = 0;
+
+	result = {
+
+		scene: new THREE.Scene(),
+		geometries: {},
+		face_materials: {},
+		materials: {},
+		textures: {},
+		objects: {},
+		cameras: {},
+		lights: {},
+		fogs: {},
+		empties: {},
+		groups: {}
+
+	};
+
+	if ( data.transform ) {
+
+		var position = data.transform.position,
+			rotation = data.transform.rotation,
+			scale = data.transform.scale;
+
+		if ( position )
+			result.scene.position.set( position[ 0 ], position[ 1 ], position [ 2 ] );
+
+		if ( rotation )
+			result.scene.rotation.set( rotation[ 0 ], rotation[ 1 ], rotation [ 2 ] );
+
+		if ( scale )
+			result.scene.scale.set( scale[ 0 ], scale[ 1 ], scale [ 2 ] );
+
+		if ( position || rotation || scale ) {
+
+			result.scene.updateMatrix();
+			result.scene.updateMatrixWorld();
+
+		}
+
+	}
+
+	function get_url( source_url, url_type ) {
+
+		if ( url_type == "relativeToHTML" ) {
+
+			return source_url;
+
+		} else {
+
+			return urlBase + "/" + source_url;
+
+		}
+
+	};
+
+	// toplevel loader function, delegates to handle_children
+
+	function handle_objects() {
+
+		handle_children( result.scene, data.objects );
+
+	}
+
+	// handle all the children from the loaded json and attach them to given parent
+
+	function handle_children( parent, children ) {
+
+		var mat, dst, pos, rot, scl, quat;
+
+		for ( var objID in children ) {
+
+			// check by id if child has already been handled,
+			// if not, create new object
+
+			if ( result.objects[ objID ] === undefined ) {
+
+				var objJSON = children[ objID ];
+
+				var object = null;
+
+				// meshes
+
+				if ( objJSON.type && ( objJSON.type in scope.hierarchyHandlerMap ) ) {
+
+					if ( objJSON.loading === undefined ) {
+
+						var reservedTypes = { "type": 1, "url": 1, "material": 1,
+											  "position": 1, "rotation": 1, "scale" : 1,
+											  "visible": 1, "children": 1, "properties": 1,
+											  "skin": 1, "morph": 1, "mirroredLoop": 1, "duration": 1 };
+
+						var loaderParameters = {};
+
+						for ( var parType in objJSON ) {
+
+							if ( ! ( parType in reservedTypes ) ) {
+
+								loaderParameters[ parType ] = objJSON[ parType ];
+
+							}
+
+						}
+
+						material = result.materials[ objJSON.material ];
+
+						objJSON.loading = true;
+
+						var loader = scope.hierarchyHandlerMap[ objJSON.type ][ "loaderObject" ];
+
+						// ColladaLoader
+
+						if ( loader.options ) {
+
+							loader.load( get_url( objJSON.url, data.urlBaseType ), create_callback_hierachy( objID, parent, material, objJSON ) );
+
+						// UTF8Loader
+						// OBJLoader
+
+						} else {
+
+							loader.load( get_url( objJSON.url, data.urlBaseType ), create_callback_hierachy( objID, parent, material, objJSON ), loaderParameters );
+
+						}
+
+					}
+
+				} else if ( objJSON.geometry !== undefined ) {
+
+					geometry = result.geometries[ objJSON.geometry ];
+
+					// geometry already loaded
+
+					if ( geometry ) {
+
+						var needsTangents = false;
+
+						material = result.materials[ objJSON.material ];
+						needsTangents = material instanceof THREE.ShaderMaterial;
+
+						pos = objJSON.position;
+						rot = objJSON.rotation;
+						scl = objJSON.scale;
+						mat = objJSON.matrix;
+						quat = objJSON.quaternion;
+
+						// use materials from the model file
+						// if there is no material specified in the object
+
+						if ( ! objJSON.material ) {
+
+							material = new THREE.MeshFaceMaterial( result.face_materials[ objJSON.geometry ] );
+
+						}
+
+						// use materials from the model file
+						// if there is just empty face material
+						// (must create new material as each model has its own face material)
+
+						if ( ( material instanceof THREE.MeshFaceMaterial ) && material.materials.length === 0 ) {
+
+							material = new THREE.MeshFaceMaterial( result.face_materials[ objJSON.geometry ] );
+
+						}
+
+						if ( material instanceof THREE.MeshFaceMaterial ) {
+
+							for ( var i = 0; i < material.materials.length; i ++ ) {
+
+								needsTangents = needsTangents || ( material.materials[ i ] instanceof THREE.ShaderMaterial );
+
+							}
+
+						}
+
+						if ( needsTangents ) {
+
+							geometry.computeTangents();
+
+						}
+
+						if ( objJSON.skin ) {
+
+							object = new THREE.SkinnedMesh( geometry, material );
+
+						} else if ( objJSON.morph ) {
+
+							object = new THREE.MorphAnimMesh( geometry, material );
+
+							if ( objJSON.duration !== undefined ) {
+
+								object.duration = objJSON.duration;
+
+							}
+
+							if ( objJSON.time !== undefined ) {
+
+								object.time = objJSON.time;
+
+							}
+
+							if ( objJSON.mirroredLoop !== undefined ) {
+
+								object.mirroredLoop = objJSON.mirroredLoop;
+
+							}
+
+							if ( material.morphNormals ) {
+
+								geometry.computeMorphNormals();
+
+							}
+
+						} else {
+
+							object = new THREE.Mesh( geometry, material );
+
+						}
+
+						object.name = objID;
+
+						if ( mat ) {
+
+							object.matrixAutoUpdate = false;
+							object.matrix.set(
+								mat[0],  mat[1],  mat[2],  mat[3],
+								mat[4],  mat[5],  mat[6],  mat[7],
+								mat[8],  mat[9],  mat[10], mat[11],
+								mat[12], mat[13], mat[14], mat[15]
+							);
+
+						} else {
+
+							object.position.set( pos[0], pos[1], pos[2] );
+
+							if ( quat ) {
+
+								object.quaternion.set( quat[0], quat[1], quat[2], quat[3] );
+								object.useQuaternion = true;
+
+							} else {
+
+								object.rotation.set( rot[0], rot[1], rot[2] );
+
+							}
+
+							object.scale.set( scl[0], scl[1], scl[2] );
+
+						}
+
+						object.visible = objJSON.visible;
+						object.castShadow = objJSON.castShadow;
+						object.receiveShadow = objJSON.receiveShadow;
+
+						parent.add( object );
+
+						result.objects[ objID ] = object;
+
+					}
+
+				// lights
+
+				} else if ( objJSON.type === "DirectionalLight" || objJSON.type === "PointLight" || objJSON.type === "AmbientLight" ) {
+
+					hex = ( objJSON.color !== undefined ) ? objJSON.color : 0xffffff;
+					intensity = ( objJSON.intensity !== undefined ) ? objJSON.intensity : 1;
+
+					if ( objJSON.type === "DirectionalLight" ) {
+
+						pos = objJSON.direction;
+
+						light = new THREE.DirectionalLight( hex, intensity );
+						light.position.set( pos[0], pos[1], pos[2] );
+
+						if ( objJSON.target ) {
+
+							target_array.push( { "object": light, "targetName" : objJSON.target } );
+
+							// kill existing default target
+							// otherwise it gets added to scene when parent gets added
+
+							light.target = null;
+
+						}
+
+					} else if ( objJSON.type === "PointLight" ) {
+
+						pos = objJSON.position;
+						dst = objJSON.distance;
+
+						light = new THREE.PointLight( hex, intensity, dst );
+						light.position.set( pos[0], pos[1], pos[2] );
+
+					} else if ( objJSON.type === "AmbientLight" ) {
+
+						light = new THREE.AmbientLight( hex );
+
+					}
+
+					parent.add( light );
+
+					light.name = objID;
+					result.lights[ objID ] = light;
+					result.objects[ objID ] = light;
+
+				// cameras
+
+				} else if ( objJSON.type === "PerspectiveCamera" || objJSON.type === "OrthographicCamera" ) {
+
+					if ( objJSON.type === "PerspectiveCamera" ) {
+
+						camera = new THREE.PerspectiveCamera( objJSON.fov, objJSON.aspect, objJSON.near, objJSON.far );
+
+					} else if ( objJSON.type === "OrthographicCamera" ) {
+
+						camera = new THREE.OrthographicCamera( objJSON.left, objJSON.right, objJSON.top, objJSON.bottom, objJSON.near, objJSON.far );
+
+					}
+
+					pos = objJSON.position;
+					camera.position.set( pos[0], pos[1], pos[2] );
+					parent.add( camera );
+
+					camera.name = objID;
+					result.cameras[ objID ] = camera;
+					result.objects[ objID ] = camera;
+
+				// pure Object3D
+
+				} else {
+
+					pos = objJSON.position;
+					rot = objJSON.rotation;
+					scl = objJSON.scale;
+					quat = objJSON.quaternion;
+
+					object = new THREE.Object3D();
+					object.name = objID;
+					object.position.set( pos[0], pos[1], pos[2] );
+
+					if ( quat ) {
+
+						object.quaternion.set( quat[0], quat[1], quat[2], quat[3] );
+						object.useQuaternion = true;
+
+					} else {
+
+						object.rotation.set( rot[0], rot[1], rot[2] );
+
+					}
+
+					object.scale.set( scl[0], scl[1], scl[2] );
+					object.visible = ( objJSON.visible !== undefined ) ? objJSON.visible : false;
+
+					parent.add( object );
+
+					result.objects[ objID ] = object;
+					result.empties[ objID ] = object;
+
+				}
+
+				if ( object ) {
+
+					if ( objJSON.properties !== undefined )  {
+
+						for ( var key in objJSON.properties ) {
+
+							var value = objJSON.properties[ key ];
+							object.properties[ key ] = value;
+
+						}
+
+					}
+
+					if ( objJSON.groups !== undefined ) {
+
+						for ( var i = 0; i < objJSON.groups.length; i ++ ) {
+
+							var groupID = objJSON.groups[ i ];
+
+							if ( result.groups[ groupID ] === undefined ) {
+
+								result.groups[ groupID ] = [];
+
+							}
+
+							result.groups[ groupID ].push( objID );
+
+						}
+
+					}
+
+					if ( objJSON.children !== undefined ) {
+
+						handle_children( object, objJSON.children );
+
+					}
+
+				}
+
+			}
+
+		}
+
+	};
+
+	function handle_mesh( geo, mat, id ) {
+
+		result.geometries[ id ] = geo;
+		result.face_materials[ id ] = mat;
+		handle_objects();
+
+	};
+
+	function handle_hierarchy( node, id, parent, material, obj ) {
+
+		var p = obj.position;
+		var r = obj.rotation;
+		var q = obj.quaternion;
+		var s = obj.scale;
+
+		node.position.set( p[0], p[1], p[2] );
+
+		if ( q ) {
+
+			node.quaternion.set( q[0], q[1], q[2], q[3] );
+			node.useQuaternion = true;
+
+		} else {
+
+			node.rotation.set( r[0], r[1], r[2] );
+
+		}
+
+		node.scale.set( s[0], s[1], s[2] );
+
+		// override children materials
+		// if object material was specified in JSON explicitly
+
+		if ( material ) {
+
+			node.traverse( function ( child )  {
+
+				child.material = material;
+
+			} );
+
+		}
+
+		// override children visibility
+		// with root node visibility as specified in JSON
+
+		var visible = ( obj.visible !== undefined ) ? obj.visible : true;
+
+		node.traverse( function ( child )  {
+
+			child.visible = visible;
+
+		} );
+
+		parent.add( node );
+
+		node.name = id;
+
+		result.objects[ id ] = node;
+		handle_objects();
+
+	};
+
+	function create_callback_geometry( id ) {
+
+		return function( geo, mat ) {
+
+			handle_mesh( geo, mat, id );
+
+			counter_models -= 1;
+
+			scope.onLoadComplete();
+
+			async_callback_gate();
+
+		}
+
+	};
+
+	function create_callback_hierachy( id, parent, material, obj ) {
+
+		return function( event ) {
+
+			var result;
+
+			// loaders which use EventDispatcher
+
+			if ( event.content ) {
+
+				result = event.content;
+
+			// ColladaLoader
+
+			} else if ( event.dae ) {
+
+				result = event.scene;
+
+
+			// UTF8Loader
+
+			} else {
+
+				result = event;
+
+			}
+
+			handle_hierarchy( result, id, parent, material, obj );
+
+			counter_models -= 1;
+
+			scope.onLoadComplete();
+
+			async_callback_gate();
+
+		}
+
+	};
+
+	function create_callback_embed( id ) {
+
+		return function( geo, mat ) {
+
+			result.geometries[ id ] = geo;
+			result.face_materials[ id ] = mat;
+
+		}
+
+	};
+
+	function async_callback_gate() {
+
+		var progress = {
+
+			totalModels : total_models,
+			totalTextures : total_textures,
+			loadedModels : total_models - counter_models,
+			loadedTextures : total_textures - counter_textures
+
+		};
+
+		scope.callbackProgress( progress, result );
+
+		scope.onLoadProgress();
+
+		if ( counter_models === 0 && counter_textures === 0 ) {
+
+			finalize();
+			callbackFinished( result );
+
+		}
+
+	};
+
+	function finalize() {
+
+		// take care of targets which could be asynchronously loaded objects
+
+		for ( var i = 0; i < target_array.length; i ++ ) {
+
+			var ta = target_array[ i ];
+
+			var target = result.objects[ ta.targetName ];
+
+			if ( target ) {
+
+				ta.object.target = target;
+
+			} else {
+
+				// if there was error and target of specified name doesn't exist in the scene file
+				// create instead dummy target
+				// (target must be added to scene explicitly as parent is already added)
+
+				ta.object.target = new THREE.Object3D();
+				result.scene.add( ta.object.target );
+
+			}
+
+			ta.object.target.properties.targetInverse = ta.object;
+
+		}
+
+	};
+
+	var callbackTexture = function ( count ) {
+
+		counter_textures -= count;
+		async_callback_gate();
+
+		scope.onLoadComplete();
+
+	};
+
+	// must use this instead of just directly calling callbackTexture
+	// because of closure in the calling context loop
+
+	var generateTextureCallback = function ( count ) {
+
+		return function() {
+
+			callbackTexture( count );
+
+		};
+
+	};
+
+	// first go synchronous elements
+
+	// fogs
+
+	var fogID, fogJSON;
+
+	for ( fogID in data.fogs ) {
+
+		fogJSON = data.fogs[ fogID ];
+
+		if ( fogJSON.type === "linear" ) {
+
+			fog = new THREE.Fog( 0x000000, fogJSON.near, fogJSON.far );
+
+		} else if ( fogJSON.type === "exp2" ) {
+
+			fog = new THREE.FogExp2( 0x000000, fogJSON.density );
+
+		}
+
+		color = fogJSON.color;
+		fog.color.setRGB( color[0], color[1], color[2] );
+
+		result.fogs[ fogID ] = fog;
+
+	}
+
+	// now come potentially asynchronous elements
+
+	// geometries
+
+	// count how many geometries will be loaded asynchronously
+
+	var geoID, geoJSON;
+
+	for ( geoID in data.geometries ) {
+
+		geoJSON = data.geometries[ geoID ];
+
+		if ( geoJSON.type in this.geometryHandlerMap ) {
+
+			counter_models += 1;
+
+			scope.onLoadStart();
+
+		}
+
+	}
+
+	// count how many hierarchies will be loaded asynchronously
+
+	var objID, objJSON;
+
+	for ( objID in data.objects ) {
+
+		objJSON = data.objects[ objID ];
+
+		if ( objJSON.type && ( objJSON.type in this.hierarchyHandlerMap ) ) {
+
+			counter_models += 1;
+
+			scope.onLoadStart();
+
+		}
+
+	}
+
+	total_models = counter_models;
+
+	for ( geoID in data.geometries ) {
+
+		geoJSON = data.geometries[ geoID ];
+
+		if ( geoJSON.type === "cube" ) {
+
+			geometry = new THREE.CubeGeometry( geoJSON.width, geoJSON.height, geoJSON.depth, geoJSON.widthSegments, geoJSON.heightSegments, geoJSON.depthSegments );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type === "plane" ) {
+
+			geometry = new THREE.PlaneGeometry( geoJSON.width, geoJSON.height, geoJSON.widthSegments, geoJSON.heightSegments );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type === "sphere" ) {
+
+			geometry = new THREE.SphereGeometry( geoJSON.radius, geoJSON.widthSegments, geoJSON.heightSegments );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type === "cylinder" ) {
+
+			geometry = new THREE.CylinderGeometry( geoJSON.topRad, geoJSON.botRad, geoJSON.height, geoJSON.radSegs, geoJSON.heightSegs );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type === "torus" ) {
+
+			geometry = new THREE.TorusGeometry( geoJSON.radius, geoJSON.tube, geoJSON.segmentsR, geoJSON.segmentsT );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type === "icosahedron" ) {
+
+			geometry = new THREE.IcosahedronGeometry( geoJSON.radius, geoJSON.subdivisions );
+			result.geometries[ geoID ] = geometry;
+
+		} else if ( geoJSON.type in this.geometryHandlerMap ) {
+
+			var loaderParameters = {};
+
+			for ( var parType in geoJSON ) {
+
+				if ( parType !== "type" && parType !== "url" ) {
+
+					loaderParameters[ parType ] = geoJSON[ parType ];
+
+				}
+
+			}
+
+			var loader = this.geometryHandlerMap[ geoJSON.type ][ "loaderObject" ];
+			loader.load( get_url( geoJSON.url, data.urlBaseType ), create_callback_geometry( geoID ), loaderParameters );
+
+		} else if ( geoJSON.type === "embedded" ) {
+
+			var modelJson = data.embeds[ geoJSON.id ],
+				texture_path = "";
+
+			// pass metadata along to jsonLoader so it knows the format version
+
+			modelJson.metadata = data.metadata;
+
+			if ( modelJson ) {
+
+				var jsonLoader = this.geometryHandlerMap[ "ascii" ][ "loaderObject" ];
+				jsonLoader.createModel( modelJson, create_callback_embed( geoID ), texture_path );
+
+			}
+
+		}
+
+	}
+
+	// textures
+
+	// count how many textures will be loaded asynchronously
+
+	var textureID, textureJSON;
+
+	for ( textureID in data.textures ) {
+
+		textureJSON = data.textures[ textureID ];
+
+		if ( textureJSON.url instanceof Array ) {
+
+			counter_textures += textureJSON.url.length;
+
+			for( var n = 0; n < textureJSON.url.length; n ++ ) {
+
+				scope.onLoadStart();
+
+			}
+
+		} else {
+
+			counter_textures += 1;
+
+			scope.onLoadStart();
+
+		}
+
+	}
+
+	total_textures = counter_textures;
+
+	for ( textureID in data.textures ) {
+
+		textureJSON = data.textures[ textureID ];
+
+		if ( textureJSON.mapping !== undefined && THREE[ textureJSON.mapping ] !== undefined  ) {
+
+			textureJSON.mapping = new THREE[ textureJSON.mapping ]();
+
+		}
+
+		if ( textureJSON.url instanceof Array ) {
+
+			var count = textureJSON.url.length;
+			var url_array = [];
+
+			for( var i = 0; i < count; i ++ ) {
+
+				url_array[ i ] = get_url( textureJSON.url[ i ], data.urlBaseType );
+
+			}
+
+			var isCompressed = /\.dds$/i.test( url_array[ 0 ] );
+
+			if ( isCompressed ) {
+
+				texture = THREE.ImageUtils.loadCompressedTextureCube( url_array, textureJSON.mapping, generateTextureCallback( count ) );
+
+			} else {
+
+				texture = THREE.ImageUtils.loadTextureCube( url_array, textureJSON.mapping, generateTextureCallback( count ) );
+
+			}
+
+		} else {
+
+			var isCompressed = /\.dds$/i.test( textureJSON.url );
+			var fullUrl = get_url( textureJSON.url, data.urlBaseType );
+			var textureCallback = generateTextureCallback( 1 );
+
+			if ( isCompressed ) {
+
+				texture = THREE.ImageUtils.loadCompressedTexture( fullUrl, textureJSON.mapping, textureCallback );
+
+			} else {
+
+				texture = THREE.ImageUtils.loadTexture( fullUrl, textureJSON.mapping, textureCallback );
+
+			}
+
+			if ( THREE[ textureJSON.minFilter ] !== undefined )
+				texture.minFilter = THREE[ textureJSON.minFilter ];
+
+			if ( THREE[ textureJSON.magFilter ] !== undefined )
+				texture.magFilter = THREE[ textureJSON.magFilter ];
+
+			if ( textureJSON.anisotropy ) texture.anisotropy = textureJSON.anisotropy;
+
+			if ( textureJSON.repeat ) {
+
+				texture.repeat.set( textureJSON.repeat[ 0 ], textureJSON.repeat[ 1 ] );
+
+				if ( textureJSON.repeat[ 0 ] !== 1 ) texture.wrapS = THREE.RepeatWrapping;
+				if ( textureJSON.repeat[ 1 ] !== 1 ) texture.wrapT = THREE.RepeatWrapping;
+
+			}
+
+			if ( textureJSON.offset ) {
+
+				texture.offset.set( textureJSON.offset[ 0 ], textureJSON.offset[ 1 ] );
+
+			}
+
+			// handle wrap after repeat so that default repeat can be overriden
+
+			if ( textureJSON.wrap ) {
+
+				var wrapMap = {
+				"repeat" 	: THREE.RepeatWrapping,
+				"mirror"	: THREE.MirroredRepeatWrapping
+				}
+
+				if ( wrapMap[ textureJSON.wrap[ 0 ] ] !== undefined ) texture.wrapS = wrapMap[ textureJSON.wrap[ 0 ] ];
+				if ( wrapMap[ textureJSON.wrap[ 1 ] ] !== undefined ) texture.wrapT = wrapMap[ textureJSON.wrap[ 1 ] ];
+
+			}
+
+		}
+
+		result.textures[ textureID ] = texture;
+
+	}
+
+	// materials
+
+	var matID, matJSON;
+	var parID;
+
+	for ( matID in data.materials ) {
+
+		matJSON = data.materials[ matID ];
+
+		for ( parID in matJSON.parameters ) {
+
+			if ( parID === "envMap" || parID === "map" || parID === "lightMap" || parID === "bumpMap" ) {
+
+				matJSON.parameters[ parID ] = result.textures[ matJSON.parameters[ parID ] ];
+
+			} else if ( parID === "shading" ) {
+
+				matJSON.parameters[ parID ] = ( matJSON.parameters[ parID ] === "flat" ) ? THREE.FlatShading : THREE.SmoothShading;
+
+			} else if ( parID === "side" ) {
+
+				if ( matJSON.parameters[ parID ] == "double" ) {
+
+					matJSON.parameters[ parID ] = THREE.DoubleSide;
+
+				} else if ( matJSON.parameters[ parID ] == "back" ) {
+
+					matJSON.parameters[ parID ] = THREE.BackSide;
+
+				} else {
+
+					matJSON.parameters[ parID ] = THREE.FrontSide;
+
+				}
+
+			} else if ( parID === "blending" ) {
+
+				matJSON.parameters[ parID ] = matJSON.parameters[ parID ] in THREE ? THREE[ matJSON.parameters[ parID ] ] : THREE.NormalBlending;
+
+			} else if ( parID === "combine" ) {
+
+				matJSON.parameters[ parID ] = matJSON.parameters[ parID ] in THREE ? THREE[ matJSON.parameters[ parID ] ] : THREE.MultiplyOperation;
+
+			} else if ( parID === "vertexColors" ) {
+
+				if ( matJSON.parameters[ parID ] == "face" ) {
+
+					matJSON.parameters[ parID ] = THREE.FaceColors;
+
+				// default to vertex colors if "vertexColors" is anything else face colors or 0 / null / false
+
+				} else if ( matJSON.parameters[ parID ] )   {
+
+					matJSON.parameters[ parID ] = THREE.VertexColors;
+
+				}
+
+			} else if ( parID === "wrapRGB" ) {
+
+				var v3 = matJSON.parameters[ parID ];
+				matJSON.parameters[ parID ] = new THREE.Vector3( v3[ 0 ], v3[ 1 ], v3[ 2 ] );
+
+			}
+
+		}
+
+		if ( matJSON.parameters.opacity !== undefined && matJSON.parameters.opacity < 1.0 ) {
+
+			matJSON.parameters.transparent = true;
+
+		}
+
+		if ( matJSON.parameters.normalMap ) {
+
+			var shader = THREE.ShaderLib[ "normalmap" ];
+			var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+
+			var diffuse = matJSON.parameters.color;
+			var specular = matJSON.parameters.specular;
+			var ambient = matJSON.parameters.ambient;
+			var shininess = matJSON.parameters.shininess;
+
+			uniforms[ "tNormal" ].value = result.textures[ matJSON.parameters.normalMap ];
+
+			if ( matJSON.parameters.normalScale ) {
+
+				uniforms[ "uNormalScale" ].value.set( matJSON.parameters.normalScale[ 0 ], matJSON.parameters.normalScale[ 1 ] );
+
+			}
+
+			if ( matJSON.parameters.map ) {
+
+				uniforms[ "tDiffuse" ].value = matJSON.parameters.map;
+				uniforms[ "enableDiffuse" ].value = true;
+
+			}
+
+			if ( matJSON.parameters.envMap ) {
+
+				uniforms[ "tCube" ].value = matJSON.parameters.envMap;
+				uniforms[ "enableReflection" ].value = true;
+				uniforms[ "uReflectivity" ].value = matJSON.parameters.reflectivity;
+
+			}
+
+			if ( matJSON.parameters.lightMap ) {
+
+				uniforms[ "tAO" ].value = matJSON.parameters.lightMap;
+				uniforms[ "enableAO" ].value = true;
+
+			}
+
+			if ( matJSON.parameters.specularMap ) {
+
+				uniforms[ "tSpecular" ].value = result.textures[ matJSON.parameters.specularMap ];
+				uniforms[ "enableSpecular" ].value = true;
+
+			}
+
+			if ( matJSON.parameters.displacementMap ) {
+
+				uniforms[ "tDisplacement" ].value = result.textures[ matJSON.parameters.displacementMap ];
+				uniforms[ "enableDisplacement" ].value = true;
+
+				uniforms[ "uDisplacementBias" ].value = matJSON.parameters.displacementBias;
+				uniforms[ "uDisplacementScale" ].value = matJSON.parameters.displacementScale;
+
+			}
+
+			uniforms[ "uDiffuseColor" ].value.setHex( diffuse );
+			uniforms[ "uSpecularColor" ].value.setHex( specular );
+			uniforms[ "uAmbientColor" ].value.setHex( ambient );
+
+			uniforms[ "uShininess" ].value = shininess;
+
+			if ( matJSON.parameters.opacity ) {
+
+				uniforms[ "uOpacity" ].value = matJSON.parameters.opacity;
+
+			}
+
+			var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: true };
+
+			material = new THREE.ShaderMaterial( parameters );
+
+		} else {
+
+			material = new THREE[ matJSON.type ]( matJSON.parameters );
+
+		}
+
+		result.materials[ matID ] = material;
+
+	}
+
+	// second pass through all materials to initialize MeshFaceMaterials
+	// that could be referring to other materials out of order
+
+	for ( matID in data.materials ) {
+
+		matJSON = data.materials[ matID ];
+
+		if ( matJSON.parameters.materials ) {
+
+			var materialArray = [];
+
+			for ( var i = 0; i < matJSON.parameters.materials.length; i ++ ) {
+
+				var label = matJSON.parameters.materials[ i ];
+				materialArray.push( result.materials[ label ] );
+
+			}
+
+			result.materials[ matID ].materials = materialArray;
+
+		}
+
+	}
+
+	// objects ( synchronous init of procedural primitives )
+
+	handle_objects();
+
+	// defaults
+
+	if ( result.cameras && data.defaults.camera ) {
+
+		result.currentCamera = result.cameras[ data.defaults.camera ];
+
+	}
+
+	if ( result.fogs && data.defaults.fog ) {
+
+		result.scene.fog = result.fogs[ data.defaults.fog ];
+
+	}
+
+	// synchronous callback
+
+	scope.callbackSync( result );
+
+	// just in case there are no async elements
+
+	async_callback_gate();
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.TextureLoader = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	this.crossOrigin = null;
+
+};
+
+THREE.TextureLoader.prototype = {
+
+	constructor: THREE.TextureLoader,
+
+	load: function ( url ) {
+
+		var scope = this;
+
+		var image = new Image();
+
+		image.addEventListener( 'load', function () {
+
+			var texture = new THREE.Texture( image );
+			texture.needsUpdate = true;
+
+			scope.dispatchEvent( { type: 'load', content: texture } );
+
+		}, false );
+
+		image.addEventListener( 'error', function () {
+
+			scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
+
+		}, false );
+
+		if ( scope.crossOrigin ) image.crossOrigin = scope.crossOrigin;
+
+		image.src = url;
+
+	}
+
+}
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Material = function () {
+
+	THREE.EventDispatcher.call( this );
+
+	this.id = THREE.MaterialIdCount ++;
+
+	this.name = '';
+
+	this.side = THREE.FrontSide;
+
+	this.opacity = 1;
+	this.transparent = false;
+
+	this.blending = THREE.NormalBlending;
+
+	this.blendSrc = THREE.SrcAlphaFactor;
+	this.blendDst = THREE.OneMinusSrcAlphaFactor;
+	this.blendEquation = THREE.AddEquation;
+
+	this.depthTest = true;
+	this.depthWrite = true;
+
+	this.polygonOffset = false;
+	this.polygonOffsetFactor = 0;
+	this.polygonOffsetUnits = 0;
+
+	this.alphaTest = 0;
+
+	this.overdraw = false; // Boolean for fixing antialiasing gaps in CanvasRenderer
+
+	this.visible = true;
+
+	this.needsUpdate = true;
+
+};
+
+THREE.Material.prototype.setValues = function ( values ) {
+
+	if ( values === undefined ) return;
+
+	for ( var key in values ) {
+
+		var newValue = values[ key ];
+
+		if ( newValue === undefined ) {
+
+			console.warn( 'THREE.Material: \'' + key + '\' parameter is undefined.' );
+			continue;
+
+		}
+
+		if ( key in this ) {
+
+			var currentValue = this[ key ];
+
+			if ( currentValue instanceof THREE.Color && newValue instanceof THREE.Color ) {
+
+				currentValue.copy( newValue );
+
+			} else if ( currentValue instanceof THREE.Color ) {
+
+				currentValue.set( newValue );
+
+			} else if ( currentValue instanceof THREE.Vector3 && newValue instanceof THREE.Vector3 ) {
+
+				currentValue.copy( newValue );
+
+			} else {
+
+				this[ key ] = newValue;
+
+			}
+
+		}
+
+	}
+
+};
+
+THREE.Material.prototype.clone = function ( material ) {
+
+	if ( material === undefined ) material = new THREE.Material();
+
+	material.name = this.name;
+
+	material.side = this.side;
+
+	material.opacity = this.opacity;
+	material.transparent = this.transparent;
+
+	material.blending = this.blending;
+
+	material.blendSrc = this.blendSrc;
+	material.blendDst = this.blendDst;
+	material.blendEquation = this.blendEquation;
+
+	material.depthTest = this.depthTest;
+	material.depthWrite = this.depthWrite;
+
+	material.polygonOffset = this.polygonOffset;
+	material.polygonOffsetFactor = this.polygonOffsetFactor;
+	material.polygonOffsetUnits = this.polygonOffsetUnits;
+
+	material.alphaTest = this.alphaTest;
+
+	material.overdraw = this.overdraw;
+
+	material.visible = this.visible;
+
+	return material;
+
+};
+
+THREE.Material.prototype.dispose = function () {
+
+	this.dispatchEvent( { type: 'dispose' } );
+
+};
+
+THREE.MaterialIdCount = 0;
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  opacity: <float>,
+ *
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  linewidth: <float>,
+ *  linecap: "round",
+ *  linejoin: "round",
+ *
+ *  vertexColors: <bool>
+ *
+ *  fog: <bool>
+ * }
+ */
+
+THREE.LineBasicMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff );
+
+	this.linewidth = 1;
+	this.linecap = 'round';
+	this.linejoin = 'round';
+
+	this.vertexColors = false;
+
+	this.fog = true;
+
+	this.setValues( parameters );
+
+};
+
+THREE.LineBasicMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.LineBasicMaterial.prototype.clone = function () {
+
+	var material = new THREE.LineBasicMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+
+	material.linewidth = this.linewidth;
+	material.linecap = this.linecap;
+	material.linejoin = this.linejoin;
+
+	material.vertexColors = this.vertexColors;
+
+	material.fog = this.fog;
+
+	return material;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  opacity: <float>,
+ *
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  linewidth: <float>,
+ *
+ *  scale: <float>,
+ *  dashSize: <float>,
+ *  gapSize: <float>,
+ *
+ *  vertexColors: <bool>
+ *
+ *  fog: <bool>
+ * }
+ */
+
+THREE.LineDashedMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff );
+
+	this.linewidth = 1;
+
+	this.scale = 1;
+	this.dashSize = 3;
+	this.gapSize = 1;
+
+	this.vertexColors = false;
+
+	this.fog = true;
+
+	this.setValues( parameters );
+
+};
+
+THREE.LineDashedMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.LineDashedMaterial.prototype.clone = function () {
+
+	var material = new THREE.LineDashedMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+
+	material.linewidth = this.linewidth;
+
+	material.scale = this.scale;
+	material.dashSize = this.dashSize;
+	material.gapSize = this.gapSize;
+
+	material.vertexColors = this.vertexColors;
+
+	material.fog = this.fog;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  opacity: <float>,
+ *  map: new THREE.Texture( <Image> ),
+ *
+ *  lightMap: new THREE.Texture( <Image> ),
+ *
+ *  specularMap: new THREE.Texture( <Image> ),
+ *
+ *  envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
+ *  combine: THREE.Multiply,
+ *  reflectivity: <float>,
+ *  refractionRatio: <float>,
+ *
+ *  shading: THREE.SmoothShading,
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>,
+ *
+ *  vertexColors: THREE.NoColors / THREE.VertexColors / THREE.FaceColors,
+ *
+ *  skinning: <bool>,
+ *  morphTargets: <bool>,
+ *
+ *  fog: <bool>
+ * }
+ */
+
+THREE.MeshBasicMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff ); // emissive
+
+	this.map = null;
+
+	this.lightMap = null;
+
+	this.specularMap = null;
+
+	this.envMap = null;
+	this.combine = THREE.MultiplyOperation;
+	this.reflectivity = 1;
+	this.refractionRatio = 0.98;
+
+	this.fog = true;
+
+	this.shading = THREE.SmoothShading;
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+	this.wireframeLinecap = 'round';
+	this.wireframeLinejoin = 'round';
+
+	this.vertexColors = THREE.NoColors;
+
+	this.skinning = false;
+	this.morphTargets = false;
+
+	this.setValues( parameters );
+
+};
+
+THREE.MeshBasicMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.MeshBasicMaterial.prototype.clone = function () {
+
+	var material = new THREE.MeshBasicMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+
+	material.map = this.map;
+
+	material.lightMap = this.lightMap;
+
+	material.specularMap = this.specularMap;
+
+	material.envMap = this.envMap;
+	material.combine = this.combine;
+	material.reflectivity = this.reflectivity;
+	material.refractionRatio = this.refractionRatio;
+
+	material.fog = this.fog;
+
+	material.shading = this.shading;
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+	material.wireframeLinecap = this.wireframeLinecap;
+	material.wireframeLinejoin = this.wireframeLinejoin;
+
+	material.vertexColors = this.vertexColors;
+
+	material.skinning = this.skinning;
+	material.morphTargets = this.morphTargets;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  ambient: <hex>,
+ *  emissive: <hex>,
+ *  opacity: <float>,
+ *
+ *  map: new THREE.Texture( <Image> ),
+ *
+ *  lightMap: new THREE.Texture( <Image> ),
+ *
+ *  specularMap: new THREE.Texture( <Image> ),
+ *
+ *  envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
+ *  combine: THREE.Multiply,
+ *  reflectivity: <float>,
+ *  refractionRatio: <float>,
+ *
+ *  shading: THREE.SmoothShading,
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>,
+ *
+ *  vertexColors: THREE.NoColors / THREE.VertexColors / THREE.FaceColors,
+ *
+ *  skinning: <bool>,
+ *  morphTargets: <bool>,
+ *  morphNormals: <bool>,
+ *
+ *	fog: <bool>
+ * }
+ */
+
+THREE.MeshLambertMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff ); // diffuse
+	this.ambient = new THREE.Color( 0xffffff );
+	this.emissive = new THREE.Color( 0x000000 );
+
+	this.wrapAround = false;
+	this.wrapRGB = new THREE.Vector3( 1, 1, 1 );
+
+	this.map = null;
+
+	this.lightMap = null;
+
+	this.specularMap = null;
+
+	this.envMap = null;
+	this.combine = THREE.MultiplyOperation;
+	this.reflectivity = 1;
+	this.refractionRatio = 0.98;
+
+	this.fog = true;
+
+	this.shading = THREE.SmoothShading;
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+	this.wireframeLinecap = 'round';
+	this.wireframeLinejoin = 'round';
+
+	this.vertexColors = THREE.NoColors;
+
+	this.skinning = false;
+	this.morphTargets = false;
+	this.morphNormals = false;
+
+	this.setValues( parameters );
+
+};
+
+THREE.MeshLambertMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.MeshLambertMaterial.prototype.clone = function () {
+
+	var material = new THREE.MeshLambertMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+	material.ambient.copy( this.ambient );
+	material.emissive.copy( this.emissive );
+
+	material.wrapAround = this.wrapAround;
+	material.wrapRGB.copy( this.wrapRGB );
+
+	material.map = this.map;
+
+	material.lightMap = this.lightMap;
+
+	material.specularMap = this.specularMap;
+
+	material.envMap = this.envMap;
+	material.combine = this.combine;
+	material.reflectivity = this.reflectivity;
+	material.refractionRatio = this.refractionRatio;
+
+	material.fog = this.fog;
+
+	material.shading = this.shading;
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+	material.wireframeLinecap = this.wireframeLinecap;
+	material.wireframeLinejoin = this.wireframeLinejoin;
+
+	material.vertexColors = this.vertexColors;
+
+	material.skinning = this.skinning;
+	material.morphTargets = this.morphTargets;
+	material.morphNormals = this.morphNormals;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  ambient: <hex>,
+ *  emissive: <hex>,
+ *  specular: <hex>,
+ *  shininess: <float>,
+ *  opacity: <float>,
+ *
+ *  map: new THREE.Texture( <Image> ),
+ *
+ *  lightMap: new THREE.Texture( <Image> ),
+ *
+ *  bumpMap: new THREE.Texture( <Image> ),
+ *  bumpScale: <float>,
+ *
+ *  normalMap: new THREE.Texture( <Image> ),
+ *  normalScale: <Vector2>,
+ *
+ *  specularMap: new THREE.Texture( <Image> ),
+ *
+ *  envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
+ *  combine: THREE.Multiply,
+ *  reflectivity: <float>,
+ *  refractionRatio: <float>,
+ *
+ *  shading: THREE.SmoothShading,
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>,
+ *
+ *  vertexColors: THREE.NoColors / THREE.VertexColors / THREE.FaceColors,
+ *
+ *  skinning: <bool>,
+ *  morphTargets: <bool>,
+ *  morphNormals: <bool>,
+ *
+ *	fog: <bool>
+ * }
+ */
+
+THREE.MeshPhongMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff ); // diffuse
+	this.ambient = new THREE.Color( 0xffffff );
+	this.emissive = new THREE.Color( 0x000000 );
+	this.specular = new THREE.Color( 0x111111 );
+	this.shininess = 30;
+
+	this.metal = false;
+	this.perPixel = true;
+
+	this.wrapAround = false;
+	this.wrapRGB = new THREE.Vector3( 1, 1, 1 );
+
+	this.map = null;
+
+	this.lightMap = null;
+
+	this.bumpMap = null;
+	this.bumpScale = 1;
+
+	this.normalMap = null;
+	this.normalScale = new THREE.Vector2( 1, 1 );
+
+	this.specularMap = null;
+
+	this.envMap = null;
+	this.combine = THREE.MultiplyOperation;
+	this.reflectivity = 1;
+	this.refractionRatio = 0.98;
+
+	this.fog = true;
+
+	this.shading = THREE.SmoothShading;
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+	this.wireframeLinecap = 'round';
+	this.wireframeLinejoin = 'round';
+
+	this.vertexColors = THREE.NoColors;
+
+	this.skinning = false;
+	this.morphTargets = false;
+	this.morphNormals = false;
+
+	this.setValues( parameters );
+
+};
+
+THREE.MeshPhongMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.MeshPhongMaterial.prototype.clone = function () {
+
+	var material = new THREE.MeshPhongMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+	material.ambient.copy( this.ambient );
+	material.emissive.copy( this.emissive );
+	material.specular.copy( this.specular );
+	material.shininess = this.shininess;
+
+	material.metal = this.metal;
+	material.perPixel = this.perPixel;
+
+	material.wrapAround = this.wrapAround;
+	material.wrapRGB.copy( this.wrapRGB );
+
+	material.map = this.map;
+
+	material.lightMap = this.lightMap;
+
+	material.bumpMap = this.bumpMap;
+	material.bumpScale = this.bumpScale;
+
+	material.normalMap = this.normalMap;
+	material.normalScale.copy( this.normalScale );
+
+	material.specularMap = this.specularMap;
+
+	material.envMap = this.envMap;
+	material.combine = this.combine;
+	material.reflectivity = this.reflectivity;
+	material.refractionRatio = this.refractionRatio;
+
+	material.fog = this.fog;
+
+	material.shading = this.shading;
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+	material.wireframeLinecap = this.wireframeLinecap;
+	material.wireframeLinejoin = this.wireframeLinejoin;
+
+	material.vertexColors = this.vertexColors;
+
+	material.skinning = this.skinning;
+	material.morphTargets = this.morphTargets;
+	material.morphNormals = this.morphNormals;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  opacity: <float>,
+ *
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>
+ * }
+ */
+
+THREE.MeshDepthMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+
+	this.setValues( parameters );
+
+};
+
+THREE.MeshDepthMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.MeshDepthMaterial.prototype.clone = function () {
+
+	var material = new THREE.LineBasicMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ *
+ * parameters = {
+ *  opacity: <float>,
+ *
+ *  shading: THREE.FlatShading,
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>
+ * }
+ */
+
+THREE.MeshNormalMaterial = function ( parameters ) {
+
+	THREE.Material.call( this, parameters );
+
+	this.shading = THREE.FlatShading;
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+
+	this.setValues( parameters );
+
+};
+
+THREE.MeshNormalMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.MeshNormalMaterial.prototype.clone = function () {
+
+	var material = new THREE.MeshNormalMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.shading = this.shading;
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.MeshFaceMaterial = function ( materials ) {
+
+	this.materials = materials instanceof Array ? materials : [];
+
+};
+
+THREE.MeshFaceMaterial.prototype.clone = function () {
+
+	return new THREE.MeshFaceMaterial( this.materials.slice( 0 ) );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  opacity: <float>,
+ *  map: new THREE.Texture( <Image> ),
+ *
+ *  size: <float>,
+ *
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  vertexColors: <bool>,
+ *
+ *  fog: <bool>
+ * }
+ */
+
+THREE.ParticleBasicMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff );
+
+	this.map = null;
+
+	this.size = 1;
+	this.sizeAttenuation = true;
+
+	this.vertexColors = false;
+
+	this.fog = true;
+
+	this.setValues( parameters );
+
+};
+
+THREE.ParticleBasicMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.ParticleBasicMaterial.prototype.clone = function () {
+
+	var material = new THREE.ParticleBasicMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+
+	material.map = this.map;
+
+	material.size = this.size;
+	material.sizeAttenuation = this.sizeAttenuation;
+
+	material.vertexColors = this.vertexColors;
+
+	material.fog = this.fog;
+
+	return material;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  program: <function>,
+ *  opacity: <float>,
+ *  blending: THREE.NormalBlending
+ * }
+ */
+
+THREE.ParticleCanvasMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.color = new THREE.Color( 0xffffff );
+	this.program = function ( context, color ) {};
+
+	this.setValues( parameters );
+
+};
+
+THREE.ParticleCanvasMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.ParticleCanvasMaterial.prototype.clone = function () {
+
+	var material = new THREE.ParticleCanvasMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+	material.program = this.program;
+
+	return material;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  fragmentShader: <string>,
+ *  vertexShader: <string>,
+ *
+ *  uniforms: { "parameter1": { type: "f", value: 1.0 }, "parameter2": { type: "i" value2: 2 } },
+ *
+ *  defines: { "label" : "value" },
+ *
+ *  shading: THREE.SmoothShading,
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  wireframe: <boolean>,
+ *  wireframeLinewidth: <float>,
+ *
+ *  lights: <bool>,
+ *
+ *  vertexColors: THREE.NoColors / THREE.VertexColors / THREE.FaceColors,
+ *
+ *  skinning: <bool>,
+ *  morphTargets: <bool>,
+ *  morphNormals: <bool>,
+ *
+ *	fog: <bool>
+ * }
+ */
+
+THREE.ShaderMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	this.fragmentShader = "void main() {}";
+	this.vertexShader = "void main() {}";
+	this.uniforms = {};
+	this.defines = {};
+	this.attributes = null;
+
+	this.shading = THREE.SmoothShading;
+
+	this.wireframe = false;
+	this.wireframeLinewidth = 1;
+
+	this.fog = false; // set to use scene fog
+
+	this.lights = false; // set to use scene lights
+
+	this.vertexColors = THREE.NoColors; // set to use "color" attribute stream
+
+	this.skinning = false; // set to use skinning attribute streams
+
+	this.morphTargets = false; // set to use morph targets
+	this.morphNormals = false; // set to use morph normals
+
+	this.setValues( parameters );
+
+};
+
+THREE.ShaderMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.ShaderMaterial.prototype.clone = function () {
+
+	var material = new THREE.ShaderMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.fragmentShader = this.fragmentShader;
+	material.vertexShader = this.vertexShader;
+
+	material.uniforms = THREE.UniformsUtils.clone( this.uniforms );
+
+	material.attributes = this.attributes;
+	material.defines = this.defines;
+
+	material.shading = this.shading;
+
+	material.wireframe = this.wireframe;
+	material.wireframeLinewidth = this.wireframeLinewidth;
+
+	material.fog = this.fog;
+
+	material.lights = this.lights;
+
+	material.vertexColors = this.vertexColors;
+
+	material.skinning = this.skinning;
+
+	material.morphTargets = this.morphTargets;
+	material.morphNormals = this.morphNormals;
+
+	return material;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  color: <hex>,
+ *  opacity: <float>,
+ *  map: new THREE.Texture( <Image> ),
+ *
+ *  blending: THREE.NormalBlending,
+ *  depthTest: <bool>,
+ *  depthWrite: <bool>,
+ *
+ *  useScreenCoordinates: <bool>,
+ *  sizeAttenuation: <bool>,
+ *  scaleByViewport: <bool>,
+ *  alignment: THREE.SpriteAlignment.center,
+ *
+ *	uvOffset: new THREE.Vector2(),
+ *	uvScale: new THREE.Vector2(),
+ *
+ *  fog: <bool>
+ * }
+ */
+
+THREE.SpriteMaterial = function ( parameters ) {
+
+	THREE.Material.call( this );
+
+	// defaults
+
+	this.color = new THREE.Color( 0xffffff );
+	this.map = new THREE.Texture();
+
+	this.useScreenCoordinates = true;
+	this.depthTest = !this.useScreenCoordinates;
+	this.sizeAttenuation = !this.useScreenCoordinates;
+	this.scaleByViewport = !this.sizeAttenuation;
+	this.alignment = THREE.SpriteAlignment.center.clone();
+
+	this.fog = false;
+
+	this.uvOffset = new THREE.Vector2( 0, 0 );
+	this.uvScale  = new THREE.Vector2( 1, 1 );
+
+	// set parameters
+
+	this.setValues( parameters );
+
+	// override coupled defaults if not specified explicitly by parameters
+
+	parameters = parameters || {};
+
+	if ( parameters.depthTest === undefined ) this.depthTest = !this.useScreenCoordinates;
+	if ( parameters.sizeAttenuation === undefined ) this.sizeAttenuation = !this.useScreenCoordinates;
+	if ( parameters.scaleByViewport === undefined ) this.scaleByViewport = !this.sizeAttenuation;
+
+};
+
+THREE.SpriteMaterial.prototype = Object.create( THREE.Material.prototype );
+
+THREE.SpriteMaterial.prototype.clone = function () {
+
+	var material = new THREE.SpriteMaterial();
+
+	THREE.Material.prototype.clone.call( this, material );
+
+	material.color.copy( this.color );
+	material.map = this.map;
+
+	material.useScreenCoordinates = this.useScreenCoordinates;
+	material.sizeAttenuation = this.sizeAttenuation;
+	material.scaleByViewport = this.scaleByViewport;
+	material.alignment.copy( this.alignment );
+
+	material.uvOffset.copy( this.uvOffset );
+	material.uvScale.copy( this.uvScale );
+
+	material.fog = this.fog;
+
+	return material;
+
+};
+
+// Alignment enums
+
+THREE.SpriteAlignment = {};
+THREE.SpriteAlignment.topLeft = new THREE.Vector2( 1, -1 );
+THREE.SpriteAlignment.topCenter = new THREE.Vector2( 0, -1 );
+THREE.SpriteAlignment.topRight = new THREE.Vector2( -1, -1 );
+THREE.SpriteAlignment.centerLeft = new THREE.Vector2( 1, 0 );
+THREE.SpriteAlignment.center = new THREE.Vector2( 0, 0 );
+THREE.SpriteAlignment.centerRight = new THREE.Vector2( -1, 0 );
+THREE.SpriteAlignment.bottomLeft = new THREE.Vector2( 1, 1 );
+THREE.SpriteAlignment.bottomCenter = new THREE.Vector2( 0, 1 );
+THREE.SpriteAlignment.bottomRight = new THREE.Vector2( -1, 1 );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ * @author szimek / https://github.com/szimek/
+ */
+
+THREE.Texture = function ( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) {
+
+	THREE.EventDispatcher.call( this );
+
+	this.id = THREE.TextureIdCount ++;
+
+	this.name = '';
+
+	this.image = image;
+	this.mipmaps = [];
+
+	this.mapping = mapping !== undefined ? mapping : new THREE.UVMapping();
+
+	this.wrapS = wrapS !== undefined ? wrapS : THREE.ClampToEdgeWrapping;
+	this.wrapT = wrapT !== undefined ? wrapT : THREE.ClampToEdgeWrapping;
+
+	this.magFilter = magFilter !== undefined ? magFilter : THREE.LinearFilter;
+	this.minFilter = minFilter !== undefined ? minFilter : THREE.LinearMipMapLinearFilter;
+
+	this.anisotropy = anisotropy !== undefined ? anisotropy : 1;
+
+	this.format = format !== undefined ? format : THREE.RGBAFormat;
+	this.type = type !== undefined ? type : THREE.UnsignedByteType;
+
+	this.offset = new THREE.Vector2( 0, 0 );
+	this.repeat = new THREE.Vector2( 1, 1 );
+
+	this.generateMipmaps = true;
+	this.premultiplyAlpha = false;
+	this.flipY = true;
+	this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml)
+
+	this.needsUpdate = false;
+	this.onUpdate = null;
+
+};
+
+THREE.Texture.prototype = {
+
+	constructor: THREE.Texture,
+
+	clone: function ( texture ) {
+
+		if ( texture === undefined ) texture = new THREE.Texture();
+
+		texture.image = this.image;
+		texture.mipmaps = this.mipmaps.slice(0);
+
+		texture.mapping = this.mapping;
+
+		texture.wrapS = this.wrapS;
+		texture.wrapT = this.wrapT;
+
+		texture.magFilter = this.magFilter;
+		texture.minFilter = this.minFilter;
+
+		texture.anisotropy = this.anisotropy;
+
+		texture.format = this.format;
+		texture.type = this.type;
+
+		texture.offset.copy( this.offset );
+		texture.repeat.copy( this.repeat );
+
+		texture.generateMipmaps = this.generateMipmaps;
+		texture.premultiplyAlpha = this.premultiplyAlpha;
+		texture.flipY = this.flipY;
+		texture.unpackAlignment = this.unpackAlignment;
+
+		return texture;
+
+	},
+
+	dispose: function () {
+
+		this.dispatchEvent( { type: 'dispose' } );
+
+	}
+
+};
+
+THREE.TextureIdCount = 0;
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.CompressedTexture = function ( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy ) {
+
+	THREE.Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
+
+	this.image = { width: width, height: height };
+	this.mipmaps = mipmaps;
+
+	this.generateMipmaps = false; // WebGL currently can't generate mipmaps for compressed textures, they must be embedded in DDS file
+
+};
+
+THREE.CompressedTexture.prototype = Object.create( THREE.Texture.prototype );
+
+THREE.CompressedTexture.prototype.clone = function () {
+
+	var texture = new THREE.CompressedTexture();
+
+	THREE.Texture.prototype.clone.call( this, texture );
+
+	return texture;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.DataTexture = function ( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy ) {
+
+	THREE.Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
+
+	this.image = { data: data, width: width, height: height };
+
+};
+
+THREE.DataTexture.prototype = Object.create( THREE.Texture.prototype );
+
+THREE.DataTexture.prototype.clone = function () {
+
+	var texture = new THREE.DataTexture();
+
+	THREE.Texture.prototype.clone.call( this, texture );
+
+	return texture;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Particle = function ( material ) {
+
+	THREE.Object3D.call( this );
+
+	this.material = material;
+
+};
+
+THREE.Particle.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Particle.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.Particle( this.material );
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.ParticleSystem = function ( geometry, material ) {
+
+	THREE.Object3D.call( this );
+
+	this.geometry = geometry;
+	this.material = ( material !== undefined ) ? material : new THREE.ParticleBasicMaterial( { color: Math.random() * 0xffffff } );
+
+	this.sortParticles = false;
+
+	if ( this.geometry ) {
+
+		// calc bound radius
+
+		if( this.geometry.boundingSphere === null ) {
+
+			this.geometry.computeBoundingSphere();
+
+		}
+
+	}
+
+	this.frustumCulled = false;
+
+};
+
+THREE.ParticleSystem.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.ParticleSystem.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.ParticleSystem( this.geometry, this.material );
+	object.sortParticles = this.sortParticles;
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Line = function ( geometry, material, type ) {
+
+	THREE.Object3D.call( this );
+
+	this.geometry = geometry;
+	this.material = ( material !== undefined ) ? material : new THREE.LineBasicMaterial( { color: Math.random() * 0xffffff } );
+	this.type = ( type !== undefined ) ? type : THREE.LineStrip;
+
+	if ( this.geometry ) {
+
+		if ( ! this.geometry.boundingSphere ) {
+
+			this.geometry.computeBoundingSphere();
+
+		}
+
+	}
+
+};
+
+THREE.LineStrip = 0;
+THREE.LinePieces = 1;
+
+THREE.Line.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Line.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.Line( this.geometry, this.material, this.type );
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ * @author mikael emtinger / http://gomo.se/
+ * @author jonobr1 / http://jonobr1.com/
+ */
+
+THREE.Mesh = function ( geometry, material ) {
+
+	THREE.Object3D.call( this );
+
+	this.geometry = geometry;
+	this.material = ( material !== undefined ) ? material : new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff, wireframe: true } );
+
+	if ( this.geometry !== undefined ) {
+
+		if ( this.geometry.boundingSphere === null ) {
+
+			this.geometry.computeBoundingSphere();
+
+		}
+
+		this.updateMorphTargets();
+
+	}
+
+};
+
+THREE.Mesh.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Mesh.prototype.updateMorphTargets = function () {
+
+	if ( this.geometry.morphTargets.length > 0 ) {
+
+		this.morphTargetBase = -1;
+		this.morphTargetForcedOrder = [];
+		this.morphTargetInfluences = [];
+		this.morphTargetDictionary = {};
+
+		for ( var m = 0, ml = this.geometry.morphTargets.length; m < ml; m ++ ) {
+
+			this.morphTargetInfluences.push( 0 );
+			this.morphTargetDictionary[ this.geometry.morphTargets[ m ].name ] = m;
+
+		}
+
+	}
+
+};
+
+THREE.Mesh.prototype.getMorphTargetIndexByName = function ( name ) {
+
+	if ( this.morphTargetDictionary[ name ] !== undefined ) {
+
+		return this.morphTargetDictionary[ name ];
+
+	}
+
+	console.log( "THREE.Mesh.getMorphTargetIndexByName: morph target " + name + " does not exist. Returning 0." );
+
+	return 0;
+
+};
+
+THREE.Mesh.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.Mesh( this.geometry, this.material );
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Bone = function( belongsToSkin ) {
+
+	THREE.Object3D.call( this );
+
+	this.skin = belongsToSkin;
+	this.skinMatrix = new THREE.Matrix4();
+
+};
+
+THREE.Bone.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Bone.prototype.update = function ( parentSkinMatrix, forceUpdate ) {
+
+	// update local
+
+	if ( this.matrixAutoUpdate ) {
+
+		forceUpdate |= this.updateMatrix();
+
+	}
+
+	// update skin matrix
+
+	if ( forceUpdate || this.matrixWorldNeedsUpdate ) {
+
+		if( parentSkinMatrix ) {
+
+			this.skinMatrix.multiplyMatrices( parentSkinMatrix, this.matrix );
+
+		} else {
+
+			this.skinMatrix.copy( this.matrix );
+
+		}
+
+		this.matrixWorldNeedsUpdate = false;
+		forceUpdate = true;
+
+	}
+
+	// update children
+
+	var child, i, l = this.children.length;
+
+	for ( i = 0; i < l; i ++ ) {
+
+		this.children[ i ].update( this.skinMatrix, forceUpdate );
+
+	}
+
+};
+
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.SkinnedMesh = function ( geometry, material, useVertexTexture ) {
+
+	THREE.Mesh.call( this, geometry, material );
+
+	//
+
+	this.useVertexTexture = useVertexTexture !== undefined ? useVertexTexture : true;
+
+	// init bones
+
+	this.identityMatrix = new THREE.Matrix4();
+
+	this.bones = [];
+	this.boneMatrices = [];
+
+	var b, bone, gbone, p, q, s;
+
+	if ( this.geometry && this.geometry.bones !== undefined ) {
+
+		for ( b = 0; b < this.geometry.bones.length; b ++ ) {
+
+			gbone = this.geometry.bones[ b ];
+
+			p = gbone.pos;
+			q = gbone.rotq;
+			s = gbone.scl;
+
+			bone = this.addBone();
+
+			bone.name = gbone.name;
+			bone.position.set( p[0], p[1], p[2] );
+			bone.quaternion.set( q[0], q[1], q[2], q[3] );
+			bone.useQuaternion = true;
+
+			if ( s !== undefined ) {
+
+				bone.scale.set( s[0], s[1], s[2] );
+
+			} else {
+
+				bone.scale.set( 1, 1, 1 );
+
+			}
+
+		}
+
+		for ( b = 0; b < this.bones.length; b ++ ) {
+
+			gbone = this.geometry.bones[ b ];
+			bone = this.bones[ b ];
+
+			if ( gbone.parent === -1 ) {
+
+				this.add( bone );
+
+			} else {
+
+				this.bones[ gbone.parent ].add( bone );
+
+			}
+
+		}
+
+		//
+
+		var nBones = this.bones.length;
+
+		if ( this.useVertexTexture ) {
+
+			// layout (1 matrix = 4 pixels)
+			//	RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4)
+			//  with  8x8  pixel texture max   16 bones  (8 * 8  / 4)
+			//  	 16x16 pixel texture max   64 bones (16 * 16 / 4)
+			//  	 32x32 pixel texture max  256 bones (32 * 32 / 4)
+			//  	 64x64 pixel texture max 1024 bones (64 * 64 / 4)
+
+			var size;
+
+			if ( nBones > 256 )
+				size = 64;
+			else if ( nBones > 64 )
+				size = 32;
+			else if ( nBones > 16 )
+				size = 16;
+			else
+				size = 8;
+
+			this.boneTextureWidth = size;
+			this.boneTextureHeight = size;
+
+			this.boneMatrices = new Float32Array( this.boneTextureWidth * this.boneTextureHeight * 4 ); // 4 floats per RGBA pixel
+			this.boneTexture = new THREE.DataTexture( this.boneMatrices, this.boneTextureWidth, this.boneTextureHeight, THREE.RGBAFormat, THREE.FloatType );
+			this.boneTexture.minFilter = THREE.NearestFilter;
+			this.boneTexture.magFilter = THREE.NearestFilter;
+			this.boneTexture.generateMipmaps = false;
+			this.boneTexture.flipY = false;
+
+		} else {
+
+			this.boneMatrices = new Float32Array( 16 * nBones );
+
+		}
+
+		this.pose();
+
+	}
+
+};
+
+THREE.SkinnedMesh.prototype = Object.create( THREE.Mesh.prototype );
+
+THREE.SkinnedMesh.prototype.addBone = function( bone ) {
+
+	if ( bone === undefined ) {
+
+		bone = new THREE.Bone( this );
+
+	}
+
+	this.bones.push( bone );
+
+	return bone;
+
+};
+
+THREE.SkinnedMesh.prototype.updateMatrixWorld = function ( force ) {
+
+	this.matrixAutoUpdate && this.updateMatrix();
+
+	// update matrixWorld
+
+	if ( this.matrixWorldNeedsUpdate || force ) {
+
+		if ( this.parent ) {
+
+			this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );
+
+		} else {
+
+			this.matrixWorld.copy( this.matrix );
+
+		}
+
+		this.matrixWorldNeedsUpdate = false;
+
+		force = true;
+
+	}
+
+	// update children
+
+	for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+		var child = this.children[ i ];
+
+		if ( child instanceof THREE.Bone ) {
+
+			child.update( this.identityMatrix, false );
+
+		} else {
+
+			child.updateMatrixWorld( true );
+
+		}
+
+	}
+
+	// make a snapshot of the bones' rest position
+
+	if ( this.boneInverses == undefined ) {
+
+		this.boneInverses = [];
+
+		for ( var b = 0, bl = this.bones.length; b < bl; b ++ ) {
+
+			var inverse = new THREE.Matrix4();
+
+			inverse.getInverse( this.bones[ b ].skinMatrix );
+
+			this.boneInverses.push( inverse );
+
+		}
+
+	}
+
+	// flatten bone matrices to array
+
+	for ( var b = 0, bl = this.bones.length; b < bl; b ++ ) {
+
+		// compute the offset between the current and the original transform;
+
+		//TODO: we could get rid of this multiplication step if the skinMatrix
+		// was already representing the offset; however, this requires some
+		// major changes to the animation system
+
+		THREE.SkinnedMesh.offsetMatrix.multiplyMatrices( this.bones[ b ].skinMatrix, this.boneInverses[ b ] );
+
+		THREE.SkinnedMesh.offsetMatrix.flattenToArrayOffset( this.boneMatrices, b * 16 );
+
+	}
+
+	if ( this.useVertexTexture ) {
+
+		this.boneTexture.needsUpdate = true;
+
+	}
+
+};
+
+THREE.SkinnedMesh.prototype.pose = function () {
+
+	this.updateMatrixWorld( true );
+
+	for ( var i = 0; i < this.geometry.skinIndices.length; i ++ ) {
+
+		// normalize weights
+
+		var sw = this.geometry.skinWeights[ i ];
+
+		var scale = 1.0 / sw.lengthManhattan();
+
+		if ( scale !== Infinity ) {
+
+			sw.multiplyScalar( scale );
+
+		} else {
+
+			sw.set( 1 ); // this will be normalized by the shader anyway
+
+		}
+
+	}
+
+};
+
+THREE.SkinnedMesh.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.SkinnedMesh( this.geometry, this.material, this.useVertexTexture );
+
+	THREE.Mesh.prototype.clone.call( this, object );
+
+	return object;
+
+};
+
+THREE.SkinnedMesh.offsetMatrix = new THREE.Matrix4();
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.MorphAnimMesh = function ( geometry, material ) {
+
+	THREE.Mesh.call( this, geometry, material );
+
+	// API
+
+	this.duration = 1000; // milliseconds
+	this.mirroredLoop = false;
+	this.time = 0;
+
+	// internals
+
+	this.lastKeyframe = 0;
+	this.currentKeyframe = 0;
+
+	this.direction = 1;
+	this.directionBackwards = false;
+
+	this.setFrameRange( 0, this.geometry.morphTargets.length - 1 );
+
+};
+
+THREE.MorphAnimMesh.prototype = Object.create( THREE.Mesh.prototype );
+
+THREE.MorphAnimMesh.prototype.setFrameRange = function ( start, end ) {
+
+	this.startKeyframe = start;
+	this.endKeyframe = end;
+
+	this.length = this.endKeyframe - this.startKeyframe + 1;
+
+};
+
+THREE.MorphAnimMesh.prototype.setDirectionForward = function () {
+
+	this.direction = 1;
+	this.directionBackwards = false;
+
+};
+
+THREE.MorphAnimMesh.prototype.setDirectionBackward = function () {
+
+	this.direction = -1;
+	this.directionBackwards = true;
+
+};
+
+THREE.MorphAnimMesh.prototype.parseAnimations = function () {
+
+	var geometry = this.geometry;
+
+	if ( ! geometry.animations ) geometry.animations = {};
+
+	var firstAnimation, animations = geometry.animations;
+
+	var pattern = /([a-z]+)(\d+)/;
+
+	for ( var i = 0, il = geometry.morphTargets.length; i < il; i ++ ) {
+
+		var morph = geometry.morphTargets[ i ];
+		var parts = morph.name.match( pattern );
+
+		if ( parts && parts.length > 1 ) {
+
+			var label = parts[ 1 ];
+			var num = parts[ 2 ];
+
+			if ( ! animations[ label ] ) animations[ label ] = { start: Infinity, end: -Infinity };
+
+			var animation = animations[ label ];
+
+			if ( i < animation.start ) animation.start = i;
+			if ( i > animation.end ) animation.end = i;
+
+			if ( ! firstAnimation ) firstAnimation = label;
+
+		}
+
+	}
+
+	geometry.firstAnimation = firstAnimation;
+
+};
+
+THREE.MorphAnimMesh.prototype.setAnimationLabel = function ( label, start, end ) {
+
+	if ( ! this.geometry.animations ) this.geometry.animations = {};
+
+	this.geometry.animations[ label ] = { start: start, end: end };
+
+};
+
+THREE.MorphAnimMesh.prototype.playAnimation = function ( label, fps ) {
+
+	var animation = this.geometry.animations[ label ];
+
+	if ( animation ) {
+
+		this.setFrameRange( animation.start, animation.end );
+		this.duration = 1000 * ( ( animation.end - animation.start ) / fps );
+		this.time = 0;
+
+	} else {
+
+		console.warn( "animation[" + label + "] undefined" );
+
+	}
+
+};
+
+THREE.MorphAnimMesh.prototype.updateAnimation = function ( delta ) {
+
+	var frameTime = this.duration / this.length;
+
+	this.time += this.direction * delta;
+
+	if ( this.mirroredLoop ) {
+
+		if ( this.time > this.duration || this.time < 0 ) {
+
+			this.direction *= -1;
+
+			if ( this.time > this.duration ) {
+
+				this.time = this.duration;
+				this.directionBackwards = true;
+
+			}
+
+			if ( this.time < 0 ) {
+
+				this.time = 0;
+				this.directionBackwards = false;
+
+			}
+
+		}
+
+	} else {
+
+		this.time = this.time % this.duration;
+
+		if ( this.time < 0 ) this.time += this.duration;
+
+	}
+
+	var keyframe = this.startKeyframe + THREE.Math.clamp( Math.floor( this.time / frameTime ), 0, this.length - 1 );
+
+	if ( keyframe !== this.currentKeyframe ) {
+
+		this.morphTargetInfluences[ this.lastKeyframe ] = 0;
+		this.morphTargetInfluences[ this.currentKeyframe ] = 1;
+
+		this.morphTargetInfluences[ keyframe ] = 0;
+
+		this.lastKeyframe = this.currentKeyframe;
+		this.currentKeyframe = keyframe;
+
+	}
+
+	var mix = ( this.time % frameTime ) / frameTime;
+
+	if ( this.directionBackwards ) {
+
+		mix = 1 - mix;
+
+	}
+
+	this.morphTargetInfluences[ this.currentKeyframe ] = mix;
+	this.morphTargetInfluences[ this.lastKeyframe ] = 1 - mix;
+
+};
+
+THREE.MorphAnimMesh.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.MorphAnimMesh( this.geometry, this.material );
+
+	object.duration = this.duration;
+	object.mirroredLoop = this.mirroredLoop;
+	object.time = this.time;
+
+	object.lastKeyframe = this.lastKeyframe;
+	object.currentKeyframe = this.currentKeyframe;
+
+	object.direction = this.direction;
+	object.directionBackwards = this.directionBackwards;
+
+	THREE.Mesh.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Ribbon = function ( geometry, material ) {
+
+	THREE.Object3D.call( this );
+
+	this.geometry = geometry;
+	this.material = material;
+
+};
+
+THREE.Ribbon.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Ribbon.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.Ribbon( this.geometry, this.material );
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.LOD = function () {
+
+	THREE.Object3D.call( this );
+
+	this.LODs = [];
+
+};
+
+
+THREE.LOD.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.LOD.prototype.addLevel = function ( object3D, visibleAtDistance ) {
+
+	if ( visibleAtDistance === undefined ) {
+
+		visibleAtDistance = 0;
+
+	}
+
+	visibleAtDistance = Math.abs( visibleAtDistance );
+
+	for ( var l = 0; l < this.LODs.length; l ++ ) {
+
+		if ( visibleAtDistance < this.LODs[ l ].visibleAtDistance ) {
+
+			break;
+
+		}
+
+	}
+
+	this.LODs.splice( l, 0, { visibleAtDistance: visibleAtDistance, object3D: object3D } );
+	this.add( object3D );
+
+};
+
+THREE.LOD.prototype.update = function ( camera ) {
+
+	if ( this.LODs.length > 1 ) {
+
+		camera.matrixWorldInverse.getInverse( camera.matrixWorld );
+
+		var inverse  = camera.matrixWorldInverse;
+		var distance = -( inverse.elements[2] * this.matrixWorld.elements[12] + inverse.elements[6] * this.matrixWorld.elements[13] + inverse.elements[10] * this.matrixWorld.elements[14] + inverse.elements[14] );
+
+		this.LODs[ 0 ].object3D.visible = true;
+
+		for ( var l = 1; l < this.LODs.length; l ++ ) {
+
+			if( distance >= this.LODs[ l ].visibleAtDistance ) {
+
+				this.LODs[ l - 1 ].object3D.visible = false;
+				this.LODs[ l     ].object3D.visible = true;
+
+			} else {
+
+				break;
+
+			}
+
+		}
+
+		for( ; l < this.LODs.length; l ++ ) {
+
+			this.LODs[ l ].object3D.visible = false;
+
+		}
+
+	}
+
+};
+
+THREE.LOD.prototype.clone = function () {
+
+	// TODO
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Sprite = function ( material ) {
+
+	THREE.Object3D.call( this );
+
+	this.material = ( material !== undefined ) ? material : new THREE.SpriteMaterial();
+
+	this.rotation3d = this.rotation;
+	this.rotation = 0;
+
+};
+
+THREE.Sprite.prototype = Object.create( THREE.Object3D.prototype );
+
+/*
+ * Custom update matrix
+ */
+
+THREE.Sprite.prototype.updateMatrix = function () {
+
+	this.matrix.setPosition( this.position );
+
+	this.rotation3d.set( 0, 0, this.rotation );
+	this.matrix.setRotationFromEuler( this.rotation3d );
+
+	if ( this.scale.x !== 1 || this.scale.y !== 1 ) {
+
+		this.matrix.scale( this.scale );
+
+	}
+
+	this.matrixWorldNeedsUpdate = true;
+
+};
+
+THREE.Sprite.prototype.clone = function ( object ) {
+
+	if ( object === undefined ) object = new THREE.Sprite( this.material );
+
+	THREE.Object3D.prototype.clone.call( this, object );
+
+	return object;
+
+};
+
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.Scene = function () {
+
+	THREE.Object3D.call( this );
+
+	this.fog = null;
+	this.overrideMaterial = null;
+
+	this.matrixAutoUpdate = false;
+
+	this.__objects = [];
+	this.__lights = [];
+
+	this.__objectsAdded = [];
+	this.__objectsRemoved = [];
+
+};
+
+THREE.Scene.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Scene.prototype.__addObject = function ( object ) {
+
+	if ( object instanceof THREE.Light ) {
+
+		if ( this.__lights.indexOf( object ) === - 1 ) {
+
+			this.__lights.push( object );
+
+		}
+
+		if ( object.target && object.target.parent === undefined ) {
+
+			this.add( object.target );
+
+		}
+
+	} else if ( !( object instanceof THREE.Camera || object instanceof THREE.Bone ) ) {
+
+		if ( this.__objects.indexOf( object ) === - 1 ) {
+
+			this.__objects.push( object );
+			this.__objectsAdded.push( object );
+
+			// check if previously removed
+
+			var i = this.__objectsRemoved.indexOf( object );
+
+			if ( i !== -1 ) {
+
+				this.__objectsRemoved.splice( i, 1 );
+
+			}
+
+		}
+
+	}
+
+	for ( var c = 0; c < object.children.length; c ++ ) {
+
+		this.__addObject( object.children[ c ] );
+
+	}
+
+};
+
+THREE.Scene.prototype.__removeObject = function ( object ) {
+
+	if ( object instanceof THREE.Light ) {
+
+		var i = this.__lights.indexOf( object );
+
+		if ( i !== -1 ) {
+
+			this.__lights.splice( i, 1 );
+
+		}
+
+	} else if ( !( object instanceof THREE.Camera ) ) {
+
+		var i = this.__objects.indexOf( object );
+
+		if( i !== -1 ) {
+
+			this.__objects.splice( i, 1 );
+			this.__objectsRemoved.push( object );
+
+			// check if previously added
+
+			var ai = this.__objectsAdded.indexOf( object );
+
+			if ( ai !== -1 ) {
+
+				this.__objectsAdded.splice( ai, 1 );
+
+			}
+
+		}
+
+	}
+
+	for ( var c = 0; c < object.children.length; c ++ ) {
+
+		this.__removeObject( object.children[ c ] );
+
+	}
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Fog = function ( hex, near, far ) {
+
+	this.name = '';
+
+	this.color = new THREE.Color( hex );
+
+	this.near = ( near !== undefined ) ? near : 1;
+	this.far = ( far !== undefined ) ? far : 1000;
+
+};
+
+THREE.Fog.prototype.clone = function () {
+
+	return new THREE.Fog( this.color.getHex(), this.near, this.far );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.FogExp2 = function ( hex, density ) {
+
+	this.name = '';
+	this.color = new THREE.Color( hex );
+	this.density = ( density !== undefined ) ? density : 0.00025;
+
+};
+
+THREE.FogExp2.prototype.clone = function () {
+
+	return new THREE.FogExp2( this.color.getHex(), this.density );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.CanvasRenderer = function ( parameters ) {
+
+	console.log( 'THREE.CanvasRenderer', THREE.REVISION );
+
+	var smoothstep = THREE.Math.smoothstep;
+
+	parameters = parameters || {};
+
+	var _this = this,
+	_renderData, _elements, _lights,
+	_projector = new THREE.Projector(),
+
+	_canvas = parameters.canvas !== undefined
+			? parameters.canvas
+			: document.createElement( 'canvas' ),
+
+	_canvasWidth, _canvasHeight, _canvasWidthHalf, _canvasHeightHalf,
+	_context = _canvas.getContext( '2d' ),
+
+	_clearColor = new THREE.Color( 0x000000 ),
+	_clearOpacity = 0,
+
+	_contextGlobalAlpha = 1,
+	_contextGlobalCompositeOperation = 0,
+	_contextStrokeStyle = null,
+	_contextFillStyle = null,
+	_contextLineWidth = null,
+	_contextLineCap = null,
+	_contextLineJoin = null,
+	_contextDashSize = null,
+	_contextGapSize = 0,
+
+	_v1, _v2, _v3, _v4,
+	_v5 = new THREE.RenderableVertex(),
+	_v6 = new THREE.RenderableVertex(),
+
+	_v1x, _v1y, _v2x, _v2y, _v3x, _v3y,
+	_v4x, _v4y, _v5x, _v5y, _v6x, _v6y,
+
+	_color = new THREE.Color(),
+	_color1 = new THREE.Color(),
+	_color2 = new THREE.Color(),
+	_color3 = new THREE.Color(),
+	_color4 = new THREE.Color(),
+
+	_diffuseColor = new THREE.Color(),
+	_emissiveColor = new THREE.Color(),
+
+	_lightColor = new THREE.Color(),
+
+	_patterns = {}, _imagedatas = {},
+
+	_near, _far,
+
+	_image, _uvs,
+	_uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y,
+
+	_clipBox = new THREE.Box2(),
+	_clearBox = new THREE.Box2(),
+	_elemBox = new THREE.Box2(),
+
+	_enableLighting = false,
+	_ambientLight = new THREE.Color(),
+	_directionalLights = new THREE.Color(),
+	_pointLights = new THREE.Color(),
+
+	_vector3 = new THREE.Vector3(), // Needed for PointLight
+
+	_pixelMap, _pixelMapContext, _pixelMapImage, _pixelMapData,
+	_gradientMap, _gradientMapContext, _gradientMapQuality = 16;
+
+	_pixelMap = document.createElement( 'canvas' );
+	_pixelMap.width = _pixelMap.height = 2;
+
+	_pixelMapContext = _pixelMap.getContext( '2d' );
+	_pixelMapContext.fillStyle = 'rgba(0,0,0,1)';
+	_pixelMapContext.fillRect( 0, 0, 2, 2 );
+
+	_pixelMapImage = _pixelMapContext.getImageData( 0, 0, 2, 2 );
+	_pixelMapData = _pixelMapImage.data;
+
+	_gradientMap = document.createElement( 'canvas' );
+	_gradientMap.width = _gradientMap.height = _gradientMapQuality;
+
+	_gradientMapContext = _gradientMap.getContext( '2d' );
+	_gradientMapContext.translate( - _gradientMapQuality / 2, - _gradientMapQuality / 2 );
+	_gradientMapContext.scale( _gradientMapQuality, _gradientMapQuality );
+
+	_gradientMapQuality --; // Fix UVs
+
+	// dash+gap fallbacks for Firefox and everything else
+
+	if ( _context.setLineDash === undefined ) {
+
+		if ( _context.mozDash !== undefined ) {
+
+			_context.setLineDash = function ( values ) {
+
+				_context.mozDash = values[ 0 ] !== null ? values : null;
+
+			}
+
+		} else {
+
+			_context.setLineDash = function () {}
+
+		}
+
+	}
+
+	this.domElement = _canvas;
+
+	this.devicePixelRatio = parameters.devicePixelRatio !== undefined
+				? parameters.devicePixelRatio
+				: window.devicePixelRatio !== undefined
+					? window.devicePixelRatio
+					: 1;
+
+	this.autoClear = true;
+	this.sortObjects = true;
+	this.sortElements = true;
+
+	this.info = {
+
+		render: {
+
+			vertices: 0,
+			faces: 0
+
+		}
+
+	}
+
+	// WebGLRenderer compatibility
+
+	this.supportsVertexTextures = function () {};
+	this.setFaceCulling = function () {};
+
+	this.setSize = function ( width, height ) {
+
+		_canvasWidth = width * this.devicePixelRatio;
+		_canvasHeight = height * this.devicePixelRatio;
+
+		_canvasWidthHalf = Math.floor( _canvasWidth / 2 );
+		_canvasHeightHalf = Math.floor( _canvasHeight / 2 );
+
+		_canvas.width = _canvasWidth;
+		_canvas.height = _canvasHeight;
+
+		_canvas.style.width = width + 'px';
+		_canvas.style.height = height + 'px';
+
+		_clipBox.set(
+			new THREE.Vector2( - _canvasWidthHalf, - _canvasHeightHalf ),
+			new THREE.Vector2( _canvasWidthHalf, _canvasHeightHalf )
+		);
+
+		_clearBox.set(
+			new THREE.Vector2( - _canvasWidthHalf, - _canvasHeightHalf ),
+			new THREE.Vector2( _canvasWidthHalf, _canvasHeightHalf )
+		);
+
+		_contextGlobalAlpha = 1;
+		_contextGlobalCompositeOperation = 0;
+		_contextStrokeStyle = null;
+		_contextFillStyle = null;
+		_contextLineWidth = null;
+		_contextLineCap = null;
+		_contextLineJoin = null;
+
+	};
+
+	this.setClearColor = function ( color, opacity ) {
+
+		_clearColor.copy( color );
+		_clearOpacity = opacity !== undefined ? opacity : 1;
+
+		_clearBox.set(
+			new THREE.Vector2( - _canvasWidthHalf, - _canvasHeightHalf ),
+			new THREE.Vector2( _canvasWidthHalf, _canvasHeightHalf )
+		);
+
+	};
+
+	this.setClearColorHex = function ( hex, opacity ) {
+
+		_clearColor.setHex( hex );
+		_clearOpacity = opacity !== undefined ? opacity : 1;
+
+		_clearBox.set(
+			new THREE.Vector2( - _canvasWidthHalf, - _canvasHeightHalf ),
+			new THREE.Vector2( _canvasWidthHalf, _canvasHeightHalf )
+		);
+
+	};
+
+	this.getMaxAnisotropy  = function () {
+
+		return 0;
+
+	};
+
+	this.clear = function () {
+
+		_context.setTransform( 1, 0, 0, - 1, _canvasWidthHalf, _canvasHeightHalf );
+
+		if ( _clearBox.empty() === false ) {
+
+			_clearBox.intersect( _clipBox );
+			_clearBox.expandByScalar( 2 );
+
+			if ( _clearOpacity < 1 ) {
+
+				_context.clearRect(
+					_clearBox.min.x | 0,
+					_clearBox.min.y | 0,
+					( _clearBox.max.x - _clearBox.min.x ) | 0,
+					( _clearBox.max.y - _clearBox.min.y ) | 0
+				);
+
+			}
+
+			if ( _clearOpacity > 0 ) {
+
+				setBlending( THREE.NormalBlending );
+				setOpacity( 1 );
+
+				setFillStyle( 'rgba(' + Math.floor( _clearColor.r * 255 ) + ',' + Math.floor( _clearColor.g * 255 ) + ',' + Math.floor( _clearColor.b * 255 ) + ',' + _clearOpacity + ')' );
+
+				_context.fillRect(
+					_clearBox.min.x | 0,
+					_clearBox.min.y | 0,
+					( _clearBox.max.x - _clearBox.min.x ) | 0,
+					( _clearBox.max.y - _clearBox.min.y ) | 0
+				);
+
+			}
+
+			_clearBox.makeEmpty();
+
+		}
+
+
+	};
+
+	this.render = function ( scene, camera ) {
+
+		if ( camera instanceof THREE.Camera === false ) {
+
+			console.error( 'THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.' );
+			return;
+
+		}
+
+		if ( this.autoClear === true ) {
+
+			this.clear();
+
+		}
+
+		_context.setTransform( 1, 0, 0, - 1, _canvasWidthHalf, _canvasHeightHalf );
+
+		_this.info.render.vertices = 0;
+		_this.info.render.faces = 0;
+
+		_renderData = _projector.projectScene( scene, camera, this.sortObjects, this.sortElements );
+		_elements = _renderData.elements;
+		_lights = _renderData.lights;
+
+		/* DEBUG
+		setFillStyle( 'rgba( 0, 255, 255, 0.5 )' );
+		_context.fillRect( _clipBox.min.x, _clipBox.min.y, _clipBox.max.x - _clipBox.min.x, _clipBox.max.y - _clipBox.min.y );
+		*/
+
+		_enableLighting = _lights.length > 0;
+
+		if ( _enableLighting === true ) {
+
+			 calculateLights();
+
+		}
+
+		for ( var e = 0, el = _elements.length; e < el; e++ ) {
+
+			var element = _elements[ e ];
+
+			var material = element.material;
+
+			if ( material === undefined || material.visible === false ) continue;
+
+			_elemBox.makeEmpty();
+
+			if ( element instanceof THREE.RenderableParticle ) {
+
+				_v1 = element;
+				_v1.x *= _canvasWidthHalf; _v1.y *= _canvasHeightHalf;
+
+				renderParticle( _v1, element, material );
+
+			} else if ( element instanceof THREE.RenderableLine ) {
+
+				_v1 = element.v1; _v2 = element.v2;
+
+				_v1.positionScreen.x *= _canvasWidthHalf; _v1.positionScreen.y *= _canvasHeightHalf;
+				_v2.positionScreen.x *= _canvasWidthHalf; _v2.positionScreen.y *= _canvasHeightHalf;
+
+				_elemBox.setFromPoints( [ _v1.positionScreen, _v2.positionScreen ] );
+
+				if ( _clipBox.isIntersectionBox( _elemBox ) === true ) {
+
+					renderLine( _v1, _v2, element, material );
+
+				}
+
+			} else if ( element instanceof THREE.RenderableFace3 ) {
+
+				_v1 = element.v1; _v2 = element.v2; _v3 = element.v3;
+
+				if ( _v1.positionScreen.z < -1 || _v1.positionScreen.z > 1 ) continue;
+				if ( _v2.positionScreen.z < -1 || _v2.positionScreen.z > 1 ) continue;
+				if ( _v3.positionScreen.z < -1 || _v3.positionScreen.z > 1 ) continue;
+
+				_v1.positionScreen.x *= _canvasWidthHalf; _v1.positionScreen.y *= _canvasHeightHalf;
+				_v2.positionScreen.x *= _canvasWidthHalf; _v2.positionScreen.y *= _canvasHeightHalf;
+				_v3.positionScreen.x *= _canvasWidthHalf; _v3.positionScreen.y *= _canvasHeightHalf;
+
+				if ( material.overdraw === true ) {
+
+					expand( _v1.positionScreen, _v2.positionScreen );
+					expand( _v2.positionScreen, _v3.positionScreen );
+					expand( _v3.positionScreen, _v1.positionScreen );
+
+				}
+
+				_elemBox.setFromPoints( [ _v1.positionScreen, _v2.positionScreen, _v3.positionScreen ] );
+
+				renderFace3( _v1, _v2, _v3, 0, 1, 2, element, material );
+
+			} else if ( element instanceof THREE.RenderableFace4 ) {
+
+				_v1 = element.v1; _v2 = element.v2; _v3 = element.v3; _v4 = element.v4;
+
+				if ( _v1.positionScreen.z < -1 || _v1.positionScreen.z > 1 ) continue;
+				if ( _v2.positionScreen.z < -1 || _v2.positionScreen.z > 1 ) continue;
+				if ( _v3.positionScreen.z < -1 || _v3.positionScreen.z > 1 ) continue;
+				if ( _v4.positionScreen.z < -1 || _v4.positionScreen.z > 1 ) continue;
+
+				_v1.positionScreen.x *= _canvasWidthHalf; _v1.positionScreen.y *= _canvasHeightHalf;
+				_v2.positionScreen.x *= _canvasWidthHalf; _v2.positionScreen.y *= _canvasHeightHalf;
+				_v3.positionScreen.x *= _canvasWidthHalf; _v3.positionScreen.y *= _canvasHeightHalf;
+				_v4.positionScreen.x *= _canvasWidthHalf; _v4.positionScreen.y *= _canvasHeightHalf;
+
+				_v5.positionScreen.copy( _v2.positionScreen );
+				_v6.positionScreen.copy( _v4.positionScreen );
+
+				if ( material.overdraw === true ) {
+
+					expand( _v1.positionScreen, _v2.positionScreen );
+					expand( _v2.positionScreen, _v4.positionScreen );
+					expand( _v4.positionScreen, _v1.positionScreen );
+
+					expand( _v3.positionScreen, _v5.positionScreen );
+					expand( _v3.positionScreen, _v6.positionScreen );
+
+				}
+
+				_elemBox.setFromPoints( [ _v1.positionScreen, _v2.positionScreen, _v3.positionScreen, _v4.positionScreen ] );
+
+				renderFace4( _v1, _v2, _v3, _v4, _v5, _v6, element, material, scene );
+
+			}
+
+			/* DEBUG
+			setLineWidth( 1 );
+			setStrokeStyle( 'rgba( 0, 255, 0, 0.5 )' );
+			_context.strokeRect( _elemBox.min.x, _elemBox.min.y, _elemBox.max.x - _elemBox.min.x, _elemBox.max.y - _elemBox.min.y );
+			*/
+
+			_clearBox.union( _elemBox );
+
+		}
+
+		/* DEBUG
+		setLineWidth( 1 );
+		setStrokeStyle( 'rgba( 255, 0, 0, 0.5 )' );
+		_context.strokeRect( _clearBox.min.x, _clearBox.min.y, _clearBox.max.x - _clearBox.min.x, _clearBox.max.y - _clearBox.min.y );
+		*/
+
+		_context.setTransform( 1, 0, 0, 1, 0, 0 );
+
+		//
+
+		function calculateLights() {
+
+			_ambientLight.setRGB( 0, 0, 0 );
+			_directionalLights.setRGB( 0, 0, 0 );
+			_pointLights.setRGB( 0, 0, 0 );
+
+			for ( var l = 0, ll = _lights.length; l < ll; l ++ ) {
+
+				var light = _lights[ l ];
+				var lightColor = light.color;
+
+				if ( light instanceof THREE.AmbientLight ) {
+
+					_ambientLight.add( lightColor );
+
+				} else if ( light instanceof THREE.DirectionalLight ) {
+
+					// for particles
+
+					_directionalLights.add( lightColor );
+
+				} else if ( light instanceof THREE.PointLight ) {
+
+					// for particles
+
+					_pointLights.add( lightColor );
+
+				}
+
+			}
+
+		}
+
+		function calculateLight( position, normal, color ) {
+
+			for ( var l = 0, ll = _lights.length; l < ll; l ++ ) {
+
+				var light = _lights[ l ];
+
+				_lightColor.copy( light.color );
+
+				if ( light instanceof THREE.DirectionalLight ) {
+
+					var lightPosition = _vector3.getPositionFromMatrix( light.matrixWorld ).normalize();
+
+					var amount = normal.dot( lightPosition );
+
+					if ( amount <= 0 ) continue;
+
+					amount *= light.intensity;
+
+					color.add( _lightColor.multiplyScalar( amount ) );
+
+				} else if ( light instanceof THREE.PointLight ) {
+
+					var lightPosition = _vector3.getPositionFromMatrix( light.matrixWorld );
+
+					var amount = normal.dot( _vector3.subVectors( lightPosition, position ).normalize() );
+
+					if ( amount <= 0 ) continue;
+
+					amount *= light.distance == 0 ? 1 : 1 - Math.min( position.distanceTo( lightPosition ) / light.distance, 1 );
+
+					if ( amount == 0 ) continue;
+
+					amount *= light.intensity;
+
+					color.add( _lightColor.multiplyScalar( amount ) );
+
+				}
+
+			}
+
+		}
+
+		function renderParticle( v1, element, material ) {
+
+			setOpacity( material.opacity );
+			setBlending( material.blending );
+
+			var width, height, scaleX, scaleY,
+			bitmap, bitmapWidth, bitmapHeight;
+
+			if ( material instanceof THREE.ParticleBasicMaterial ) {
+
+				if ( material.map === null ) {
+
+					scaleX = element.object.scale.x;
+					scaleY = element.object.scale.y;
+
+					// TODO: Be able to disable this
+
+					scaleX *= element.scale.x * _canvasWidthHalf;
+					scaleY *= element.scale.y * _canvasHeightHalf;
+
+					_elemBox.min.set( v1.x - scaleX, v1.y - scaleY );
+					_elemBox.max.set( v1.x + scaleX, v1.y + scaleY );
+
+					if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
+
+						return;
+
+					}
+
+					setFillStyle( material.color.getStyle() );
+
+					_context.save();
+					_context.translate( v1.x, v1.y );
+					_context.rotate( - element.rotation );
+					_context.scale( scaleX, scaleY );
+					_context.fillRect( -1, -1, 2, 2 );
+					_context.restore();
+
+				} else {
+
+					bitmap = material.map.image;
+					bitmapWidth = bitmap.width >> 1;
+					bitmapHeight = bitmap.height >> 1;
+
+					scaleX = element.scale.x * _canvasWidthHalf;
+					scaleY = element.scale.y * _canvasHeightHalf;
+
+					width = scaleX * bitmapWidth;
+					height = scaleY * bitmapHeight;
+
+					// TODO: Rotations break this...
+
+					_elemBox.min.set( v1.x - width, v1.y - height );
+					_elemBox.max.set( v1.x + width, v1.y + height );
+
+					if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
+
+						return;
+
+					}
+
+					_context.save();
+					_context.translate( v1.x, v1.y );
+					_context.rotate( - element.rotation );
+					_context.scale( scaleX, - scaleY );
+
+					_context.translate( - bitmapWidth, - bitmapHeight );
+					_context.drawImage( bitmap, 0, 0 );
+					_context.restore();
+
+				}
+
+				/* DEBUG
+				setStrokeStyle( 'rgb(255,255,0)' );
+				_context.beginPath();
+				_context.moveTo( v1.x - 10, v1.y );
+				_context.lineTo( v1.x + 10, v1.y );
+				_context.moveTo( v1.x, v1.y - 10 );
+				_context.lineTo( v1.x, v1.y + 10 );
+				_context.stroke();
+				*/
+
+			} else if ( material instanceof THREE.ParticleCanvasMaterial ) {
+
+				width = element.scale.x * _canvasWidthHalf;
+				height = element.scale.y * _canvasHeightHalf;
+
+				_elemBox.min.set( v1.x - width, v1.y - height );
+				_elemBox.max.set( v1.x + width, v1.y + height );
+
+				if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
+
+					return;
+
+				}
+
+				setStrokeStyle( material.color.getStyle() );
+				setFillStyle( material.color.getStyle() );
+
+				_context.save();
+				_context.translate( v1.x, v1.y );
+				_context.rotate( - element.rotation );
+				_context.scale( width, height );
+
+				material.program( _context );
+
+				_context.restore();
+
+			}
+
+		}
+
+		function renderLine( v1, v2, element, material ) {
+
+			setOpacity( material.opacity );
+			setBlending( material.blending );
+
+			_context.beginPath();
+			_context.moveTo( v1.positionScreen.x, v1.positionScreen.y );
+			_context.lineTo( v2.positionScreen.x, v2.positionScreen.y );
+
+			if ( material instanceof THREE.LineBasicMaterial ) {
+
+				setLineWidth( material.linewidth );
+				setLineCap( material.linecap );
+				setLineJoin( material.linejoin );
+				setStrokeStyle( material.color.getStyle() );
+				setDashAndGap( null, null );
+
+				_context.stroke();
+				_elemBox.expandByScalar( material.linewidth * 2 );
+
+			} else if ( material instanceof THREE.LineDashedMaterial ) {
+
+				setLineWidth( material.linewidth );
+				setLineCap( material.linecap );
+				setLineJoin( material.linejoin );
+				setStrokeStyle( material.color.getStyle() );
+				setDashAndGap( material.dashSize, material.gapSize );
+
+				_context.stroke();
+				_elemBox.expandByScalar( material.linewidth * 2 );
+
+			}
+
+		}
+
+		function renderFace3( v1, v2, v3, uv1, uv2, uv3, element, material ) {
+
+			_this.info.render.vertices += 3;
+			_this.info.render.faces ++;
+
+			setOpacity( material.opacity );
+			setBlending( material.blending );
+
+			_v1x = v1.positionScreen.x; _v1y = v1.positionScreen.y;
+			_v2x = v2.positionScreen.x; _v2y = v2.positionScreen.y;
+			_v3x = v3.positionScreen.x; _v3y = v3.positionScreen.y;
+
+			drawTriangle( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y );
+
+			if ( ( material instanceof THREE.MeshLambertMaterial || material instanceof THREE.MeshPhongMaterial ) && material.map === null ) {
+
+				_diffuseColor.copy( material.color );
+				_emissiveColor.copy( material.emissive );
+
+				if ( material.vertexColors === THREE.FaceColors ) {
+
+					_diffuseColor.multiply( element.color );
+
+				}
+
+				if ( _enableLighting === true ) {
+
+					if ( material.wireframe === false && material.shading == THREE.SmoothShading && element.vertexNormalsLength == 3 ) {
+
+						_color1.copy( _ambientLight );
+						_color2.copy( _ambientLight );
+						_color3.copy( _ambientLight );
+
+						calculateLight( element.v1.positionWorld, element.vertexNormalsModel[ 0 ], _color1 );
+						calculateLight( element.v2.positionWorld, element.vertexNormalsModel[ 1 ], _color2 );
+						calculateLight( element.v3.positionWorld, element.vertexNormalsModel[ 2 ], _color3 );
+
+						_color1.multiply( _diffuseColor ).add( _emissiveColor );
+						_color2.multiply( _diffuseColor ).add( _emissiveColor );
+						_color3.multiply( _diffuseColor ).add( _emissiveColor );
+						_color4.addColors( _color2, _color3 ).multiplyScalar( 0.5 );
+
+						_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+						clipImage( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, 0, 0, 1, 0, 0, 1, _image );
+
+					} else {
+
+						_color.copy( _ambientLight );
+
+						calculateLight( element.centroidModel, element.normalModel, _color );
+
+						_color.multiply( _diffuseColor ).add( _emissiveColor );
+
+						material.wireframe === true
+							? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+							: fillPath( _color );
+
+					}
+
+				} else {
+
+					material.wireframe === true
+						? strokePath( material.color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+						: fillPath( material.color );
+
+				}
+
+			} else if ( material instanceof THREE.MeshBasicMaterial || material instanceof THREE.MeshLambertMaterial || material instanceof THREE.MeshPhongMaterial ) {
+
+				if ( material.map !== null ) {
+
+					if ( material.map.mapping instanceof THREE.UVMapping ) {
+
+						_uvs = element.uvs[ 0 ];
+						patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uvs[ uv1 ].x, _uvs[ uv1 ].y, _uvs[ uv2 ].x, _uvs[ uv2 ].y, _uvs[ uv3 ].x, _uvs[ uv3 ].y, material.map );
+
+					}
+
+
+				} else if ( material.envMap !== null ) {
+
+					if ( material.envMap.mapping instanceof THREE.SphericalReflectionMapping ) {
+
+						_vector3.copy( element.vertexNormalsModelView[ uv1 ] );
+						_uv1x = 0.5 * _vector3.x + 0.5;
+						_uv1y = 0.5 * _vector3.y + 0.5;
+
+						_vector3.copy( element.vertexNormalsModelView[ uv2 ] );
+						_uv2x = 0.5 * _vector3.x + 0.5;
+						_uv2y = 0.5 * _vector3.y + 0.5;
+
+						_vector3.copy( element.vertexNormalsModelView[ uv3 ] );
+						_uv3x = 0.5 * _vector3.x + 0.5;
+						_uv3y = 0.5 * _vector3.y + 0.5;
+
+						patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y, material.envMap );
+
+					}/* else if ( material.envMap.mapping == THREE.SphericalRefractionMapping ) {
+
+
+
+					}*/
+
+
+				} else {
+
+					_color.copy( material.color );
+
+					if ( material.vertexColors === THREE.FaceColors ) {
+
+						_color.multiply( element.color );
+
+					}
+
+					material.wireframe === true
+						? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+						: fillPath( _color );
+
+				}
+
+			} else if ( material instanceof THREE.MeshDepthMaterial ) {
+
+				_near = camera.near;
+				_far = camera.far;
+
+				_color1.r = _color1.g = _color1.b = 1 - smoothstep( v1.positionScreen.z * v1.positionScreen.w, _near, _far );
+				_color2.r = _color2.g = _color2.b = 1 - smoothstep( v2.positionScreen.z * v2.positionScreen.w, _near, _far );
+				_color3.r = _color3.g = _color3.b = 1 - smoothstep( v3.positionScreen.z * v3.positionScreen.w, _near, _far );
+				_color4.addColors( _color2, _color3 ).multiplyScalar( 0.5 );
+
+				_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+				clipImage( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, 0, 0, 1, 0, 0, 1, _image );
+
+			} else if ( material instanceof THREE.MeshNormalMaterial ) {
+
+				var normal;
+
+				if ( material.shading == THREE.FlatShading ) {
+
+					normal = element.normalModelView;
+
+					_color.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					material.wireframe === true
+						? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+						: fillPath( _color );
+
+				} else if ( material.shading == THREE.SmoothShading ) {
+
+					normal = element.vertexNormalsModelView[ uv1 ];
+					_color1.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					normal = element.vertexNormalsModelView[ uv2 ];
+					_color2.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					normal = element.vertexNormalsModelView[ uv3 ];
+					_color3.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					_color4.addColors( _color2, _color3 ).multiplyScalar( 0.5 );
+
+					_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+					clipImage( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, 0, 0, 1, 0, 0, 1, _image );
+
+				}
+
+			}
+
+		}
+
+		function renderFace4( v1, v2, v3, v4, v5, v6, element, material ) {
+
+			_this.info.render.vertices += 4;
+			_this.info.render.faces ++;
+
+			setOpacity( material.opacity );
+			setBlending( material.blending );
+
+			if ( ( material.map !== undefined && material.map !== null ) || ( material.envMap !== undefined && material.envMap !== null ) ) {
+
+				// Let renderFace3() handle this
+
+				renderFace3( v1, v2, v4, 0, 1, 3, element, material );
+				renderFace3( v5, v3, v6, 1, 2, 3, element, material );
+
+				return;
+
+			}
+
+			_v1x = v1.positionScreen.x; _v1y = v1.positionScreen.y;
+			_v2x = v2.positionScreen.x; _v2y = v2.positionScreen.y;
+			_v3x = v3.positionScreen.x; _v3y = v3.positionScreen.y;
+			_v4x = v4.positionScreen.x; _v4y = v4.positionScreen.y;
+			_v5x = v5.positionScreen.x; _v5y = v5.positionScreen.y;
+			_v6x = v6.positionScreen.x; _v6y = v6.positionScreen.y;
+
+			if ( material instanceof THREE.MeshLambertMaterial || material instanceof THREE.MeshPhongMaterial ) {
+
+				_diffuseColor.copy( material.color );
+				_emissiveColor.copy( material.emissive );
+
+				if ( material.vertexColors === THREE.FaceColors ) {
+
+					_diffuseColor.multiply( element.color );
+
+				}
+
+				if ( _enableLighting === true ) {
+
+					if ( material.wireframe === false && material.shading == THREE.SmoothShading && element.vertexNormalsLength == 4 ) {
+
+						_color1.copy( _ambientLight );
+						_color2.copy( _ambientLight );
+						_color3.copy( _ambientLight );
+						_color4.copy( _ambientLight );
+
+						calculateLight( element.v1.positionWorld, element.vertexNormalsModel[ 0 ], _color1 );
+						calculateLight( element.v2.positionWorld, element.vertexNormalsModel[ 1 ], _color2 );
+						calculateLight( element.v4.positionWorld, element.vertexNormalsModel[ 3 ], _color3 );
+						calculateLight( element.v3.positionWorld, element.vertexNormalsModel[ 2 ], _color4 );
+
+						_color1.multiply( _diffuseColor ).add( _emissiveColor );
+						_color2.multiply( _diffuseColor ).add( _emissiveColor );
+						_color3.multiply( _diffuseColor ).add( _emissiveColor );
+						_color4.multiply( _diffuseColor ).add( _emissiveColor );
+
+						_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+						// TODO: UVs are incorrect, v4->v3?
+
+						drawTriangle( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y );
+						clipImage( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y, 0, 0, 1, 0, 0, 1, _image );
+
+						drawTriangle( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y );
+						clipImage( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y, 1, 0, 1, 1, 0, 1, _image );
+
+					} else {
+
+						_color.copy( _ambientLight );
+
+						calculateLight( element.centroidModel, element.normalModel, _color );
+
+						_color.multiply( _diffuseColor ).add( _emissiveColor );
+
+						drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y );
+
+						material.wireframe === true
+							? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+							: fillPath( _color );
+
+					}
+
+				} else {
+
+					_color.addColors( _diffuseColor, _emissiveColor );
+
+					drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y );
+
+					material.wireframe === true
+						? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+						: fillPath( _color );
+
+				}
+
+			} else if ( material instanceof THREE.MeshBasicMaterial ) {
+
+				_color.copy( material.color );
+
+				if ( material.vertexColors === THREE.FaceColors ) {
+
+					_color.multiply( element.color );
+
+				}
+
+				drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y );
+
+				material.wireframe === true
+					? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+					: fillPath( _color );
+
+			} else if ( material instanceof THREE.MeshNormalMaterial ) {
+
+				var normal;
+
+				if ( material.shading == THREE.FlatShading ) {
+
+					normal = element.normalModelView;
+					_color.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y );
+
+					material.wireframe === true
+						? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
+						: fillPath( _color );
+
+				} else if ( material.shading == THREE.SmoothShading ) {
+
+					normal = element.vertexNormalsModelView[ 0 ];
+					_color1.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					normal = element.vertexNormalsModelView[ 1 ];
+					_color2.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					normal = element.vertexNormalsModelView[ 3 ];
+					_color3.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					normal = element.vertexNormalsModelView[ 2 ];
+					_color4.setRGB( normal.x, normal.y, normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
+
+					_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+					drawTriangle( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y );
+					clipImage( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y, 0, 0, 1, 0, 0, 1, _image );
+
+					drawTriangle( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y );
+					clipImage( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y, 1, 0, 1, 1, 0, 1, _image );
+
+				}
+
+
+
+			} else if ( material instanceof THREE.MeshDepthMaterial ) {
+
+				_near = camera.near;
+				_far = camera.far;
+
+				_color1.r = _color1.g = _color1.b = 1 - smoothstep( v1.positionScreen.z * v1.positionScreen.w, _near, _far );
+				_color2.r = _color2.g = _color2.b = 1 - smoothstep( v2.positionScreen.z * v2.positionScreen.w, _near, _far );
+				_color3.r = _color3.g = _color3.b = 1 - smoothstep( v4.positionScreen.z * v4.positionScreen.w, _near, _far );
+				_color4.r = _color4.g = _color4.b = 1 - smoothstep( v3.positionScreen.z * v3.positionScreen.w, _near, _far );
+
+				_image = getGradientTexture( _color1, _color2, _color3, _color4 );
+
+				// TODO: UVs are incorrect, v4->v3?
+
+				drawTriangle( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y );
+				clipImage( _v1x, _v1y, _v2x, _v2y, _v4x, _v4y, 0, 0, 1, 0, 0, 1, _image );
+
+				drawTriangle( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y );
+				clipImage( _v5x, _v5y, _v3x, _v3y, _v6x, _v6y, 1, 0, 1, 1, 0, 1, _image );
+
+			}
+
+		}
+
+		//
+
+		function drawTriangle( x0, y0, x1, y1, x2, y2 ) {
+
+			_context.beginPath();
+			_context.moveTo( x0, y0 );
+			_context.lineTo( x1, y1 );
+			_context.lineTo( x2, y2 );
+			_context.closePath();
+
+		}
+
+		function drawQuad( x0, y0, x1, y1, x2, y2, x3, y3 ) {
+
+			_context.beginPath();
+			_context.moveTo( x0, y0 );
+			_context.lineTo( x1, y1 );
+			_context.lineTo( x2, y2 );
+			_context.lineTo( x3, y3 );
+			_context.closePath();
+
+		}
+
+		function strokePath( color, linewidth, linecap, linejoin ) {
+
+			setLineWidth( linewidth );
+			setLineCap( linecap );
+			setLineJoin( linejoin );
+			setStrokeStyle( color.getStyle() );
+
+			_context.stroke();
+
+			_elemBox.expandByScalar( linewidth * 2 );
+
+		}
+
+		function fillPath( color ) {
+
+			setFillStyle( color.getStyle() );
+			_context.fill();
+
+		}
+
+		function patternPath( x0, y0, x1, y1, x2, y2, u0, v0, u1, v1, u2, v2, texture ) {
+
+			if ( texture instanceof THREE.DataTexture || texture.image === undefined || texture.image.width == 0 ) return;
+
+			if ( texture.needsUpdate === true ) {
+
+				var repeatX = texture.wrapS == THREE.RepeatWrapping;
+				var repeatY = texture.wrapT == THREE.RepeatWrapping;
+
+				_patterns[ texture.id ] = _context.createPattern(
+					texture.image, repeatX === true && repeatY === true
+						? 'repeat'
+						: repeatX === true && repeatY === false
+							? 'repeat-x'
+							: repeatX === false && repeatY === true
+								? 'repeat-y'
+								: 'no-repeat'
+				);
+
+				texture.needsUpdate = false;
+
+			}
+
+			_patterns[ texture.id ] === undefined
+				? setFillStyle( 'rgba(0,0,0,1)' )
+				: setFillStyle( _patterns[ texture.id ] );
+
+			// http://extremelysatisfactorytotalitarianism.com/blog/?p=2120
+
+			var a, b, c, d, e, f, det, idet,
+			offsetX = texture.offset.x / texture.repeat.x,
+			offsetY = texture.offset.y / texture.repeat.y,
+			width = texture.image.width * texture.repeat.x,
+			height = texture.image.height * texture.repeat.y;
+
+			u0 = ( u0 + offsetX ) * width;
+			v0 = ( 1.0 - v0 + offsetY ) * height;
+
+			u1 = ( u1 + offsetX ) * width;
+			v1 = ( 1.0 - v1 + offsetY ) * height;
+
+			u2 = ( u2 + offsetX ) * width;
+			v2 = ( 1.0 - v2 + offsetY ) * height;
+
+			x1 -= x0; y1 -= y0;
+			x2 -= x0; y2 -= y0;
+
+			u1 -= u0; v1 -= v0;
+			u2 -= u0; v2 -= v0;
+
+			det = u1 * v2 - u2 * v1;
+
+			if ( det === 0 ) {
+
+				if ( _imagedatas[ texture.id ] === undefined ) {
+
+					var canvas = document.createElement( 'canvas' )
+					canvas.width = texture.image.width;
+					canvas.height = texture.image.height;
+
+					var context = canvas.getContext( '2d' );
+					context.drawImage( texture.image, 0, 0 );
+
+					_imagedatas[ texture.id ] = context.getImageData( 0, 0, texture.image.width, texture.image.height ).data;
+
+				}
+
+				var data = _imagedatas[ texture.id ];
+				var index = ( Math.floor( u0 ) + Math.floor( v0 ) * texture.image.width ) * 4;
+
+				_color.setRGB( data[ index ] / 255, data[ index + 1 ] / 255, data[ index + 2 ] / 255 );
+				fillPath( _color );
+
+				return;
+
+			}
+
+			idet = 1 / det;
+
+			a = ( v2 * x1 - v1 * x2 ) * idet;
+			b = ( v2 * y1 - v1 * y2 ) * idet;
+			c = ( u1 * x2 - u2 * x1 ) * idet;
+			d = ( u1 * y2 - u2 * y1 ) * idet;
+
+			e = x0 - a * u0 - c * v0;
+			f = y0 - b * u0 - d * v0;
+
+			_context.save();
+			_context.transform( a, b, c, d, e, f );
+			_context.fill();
+			_context.restore();
+
+		}
+
+		function clipImage( x0, y0, x1, y1, x2, y2, u0, v0, u1, v1, u2, v2, image ) {
+
+			// http://extremelysatisfactorytotalitarianism.com/blog/?p=2120
+
+			var a, b, c, d, e, f, det, idet,
+			width = image.width - 1,
+			height = image.height - 1;
+
+			u0 *= width; v0 *= height;
+			u1 *= width; v1 *= height;
+			u2 *= width; v2 *= height;
+
+			x1 -= x0; y1 -= y0;
+			x2 -= x0; y2 -= y0;
+
+			u1 -= u0; v1 -= v0;
+			u2 -= u0; v2 -= v0;
+
+			det = u1 * v2 - u2 * v1;
+
+			idet = 1 / det;
+
+			a = ( v2 * x1 - v1 * x2 ) * idet;
+			b = ( v2 * y1 - v1 * y2 ) * idet;
+			c = ( u1 * x2 - u2 * x1 ) * idet;
+			d = ( u1 * y2 - u2 * y1 ) * idet;
+
+			e = x0 - a * u0 - c * v0;
+			f = y0 - b * u0 - d * v0;
+
+			_context.save();
+			_context.transform( a, b, c, d, e, f );
+			_context.clip();
+			_context.drawImage( image, 0, 0 );
+			_context.restore();
+
+		}
+
+		function getGradientTexture( color1, color2, color3, color4 ) {
+
+			// http://mrdoob.com/blog/post/710
+
+			_pixelMapData[ 0 ] = ( color1.r * 255 ) | 0;
+			_pixelMapData[ 1 ] = ( color1.g * 255 ) | 0;
+			_pixelMapData[ 2 ] = ( color1.b * 255 ) | 0;
+
+			_pixelMapData[ 4 ] = ( color2.r * 255 ) | 0;
+			_pixelMapData[ 5 ] = ( color2.g * 255 ) | 0;
+			_pixelMapData[ 6 ] = ( color2.b * 255 ) | 0;
+
+			_pixelMapData[ 8 ] = ( color3.r * 255 ) | 0;
+			_pixelMapData[ 9 ] = ( color3.g * 255 ) | 0;
+			_pixelMapData[ 10 ] = ( color3.b * 255 ) | 0;
+
+			_pixelMapData[ 12 ] = ( color4.r * 255 ) | 0;
+			_pixelMapData[ 13 ] = ( color4.g * 255 ) | 0;
+			_pixelMapData[ 14 ] = ( color4.b * 255 ) | 0;
+
+			_pixelMapContext.putImageData( _pixelMapImage, 0, 0 );
+			_gradientMapContext.drawImage( _pixelMap, 0, 0 );
+
+			return _gradientMap;
+
+		}
+
+		// Hide anti-alias gaps
+
+		function expand( v1, v2 ) {
+
+			var x = v2.x - v1.x, y =  v2.y - v1.y,
+			det = x * x + y * y, idet;
+
+			if ( det === 0 ) return;
+
+			idet = 1 / Math.sqrt( det );
+
+			x *= idet; y *= idet;
+
+			v2.x += x; v2.y += y;
+			v1.x -= x; v1.y -= y;
+
+		}
+	};
+
+	// Context cached methods.
+
+	function setOpacity( value ) {
+
+		if ( _contextGlobalAlpha !== value ) {
+
+			_context.globalAlpha = value;
+			_contextGlobalAlpha = value;
+
+		}
+
+	}
+
+	function setBlending( value ) {
+
+		if ( _contextGlobalCompositeOperation !== value ) {
+
+			if ( value === THREE.NormalBlending ) {
+
+				_context.globalCompositeOperation = 'source-over';
+
+			} else if ( value === THREE.AdditiveBlending ) {
+
+				_context.globalCompositeOperation = 'lighter';
+
+			} else if ( value === THREE.SubtractiveBlending ) {
+
+				_context.globalCompositeOperation = 'darker';
+
+			}
+
+			_contextGlobalCompositeOperation = value;
+
+		}
+
+	}
+
+	function setLineWidth( value ) {
+
+		if ( _contextLineWidth !== value ) {
+
+			_context.lineWidth = value;
+			_contextLineWidth = value;
+
+		}
+
+	}
+
+	function setLineCap( value ) {
+
+		// "butt", "round", "square"
+
+		if ( _contextLineCap !== value ) {
+
+			_context.lineCap = value;
+			_contextLineCap = value;
+
+		}
+
+	}
+
+	function setLineJoin( value ) {
+
+		// "round", "bevel", "miter"
+
+		if ( _contextLineJoin !== value ) {
+
+			_context.lineJoin = value;
+			_contextLineJoin = value;
+
+		}
+
+	}
+
+	function setStrokeStyle( value ) {
+
+		if ( _contextStrokeStyle !== value ) {
+
+			_context.strokeStyle = value;
+			_contextStrokeStyle = value;
+
+		}
+
+	}
+
+	function setFillStyle( value ) {
+
+		if ( _contextFillStyle !== value ) {
+
+			_context.fillStyle = value;
+			_contextFillStyle = value;
+
+		}
+
+	}
+
+	function setDashAndGap( dashSizeValue, gapSizeValue ) {
+
+		if ( _contextDashSize !== dashSizeValue || _contextGapSize !== gapSizeValue ) {
+
+			_context.setLineDash( [ dashSizeValue, gapSizeValue ] );
+			_contextDashSize = dashSizeValue;
+			_contextGapSize = gapSizeValue;
+
+		}
+
+	}
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ * @author mrdoob / http://mrdoob.com/
+ * @author mikael emtinger / http://gomo.se/
+ */
+
+THREE.ShaderChunk = {
+
+	// FOG
+
+	fog_pars_fragment: [
+
+		"#ifdef USE_FOG",
+
+			"uniform vec3 fogColor;",
+
+			"#ifdef FOG_EXP2",
+
+				"uniform float fogDensity;",
+
+			"#else",
+
+				"uniform float fogNear;",
+				"uniform float fogFar;",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	fog_fragment: [
+
+		"#ifdef USE_FOG",
+
+			"float depth = gl_FragCoord.z / gl_FragCoord.w;",
+
+			"#ifdef FOG_EXP2",
+
+				"const float LOG2 = 1.442695;",
+				"float fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );",
+				"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );",
+
+			"#else",
+
+				"float fogFactor = smoothstep( fogNear, fogFar, depth );",
+
+			"#endif",
+
+			"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );",
+
+		"#endif"
+
+	].join("\n"),
+
+	// ENVIRONMENT MAP
+
+	envmap_pars_fragment: [
+
+		"#ifdef USE_ENVMAP",
+
+			"uniform float reflectivity;",
+			"uniform samplerCube envMap;",
+			"uniform float flipEnvMap;",
+			"uniform int combine;",
+
+			"#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )",
+
+				"uniform bool useRefract;",
+				"uniform float refractionRatio;",
+
+			"#else",
+
+				"varying vec3 vReflect;",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	envmap_fragment: [
+
+		"#ifdef USE_ENVMAP",
+
+			"vec3 reflectVec;",
+
+			"#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )",
+
+				"vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );",
+
+				"if ( useRefract ) {",
+
+					"reflectVec = refract( cameraToVertex, normal, refractionRatio );",
+
+				"} else { ",
+
+					"reflectVec = reflect( cameraToVertex, normal );",
+
+				"}",
+
+			"#else",
+
+				"reflectVec = vReflect;",
+
+			"#endif",
+
+			"#ifdef DOUBLE_SIDED",
+
+				"float flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );",
+				"vec4 cubeColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );",
+
+			"#else",
+
+				"vec4 cubeColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );",
+
+			"#endif",
+
+			"#ifdef GAMMA_INPUT",
+
+				"cubeColor.xyz *= cubeColor.xyz;",
+
+			"#endif",
+
+			"if ( combine == 1 ) {",
+
+				"gl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularStrength * reflectivity );",
+
+			"} else if ( combine == 2 ) {",
+
+				"gl_FragColor.xyz += cubeColor.xyz * specularStrength * reflectivity;",
+
+			"} else {",
+
+				"gl_FragColor.xyz = mix( gl_FragColor.xyz, gl_FragColor.xyz * cubeColor.xyz, specularStrength * reflectivity );",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	envmap_pars_vertex: [
+
+		"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )",
+
+			"varying vec3 vReflect;",
+
+			"uniform float refractionRatio;",
+			"uniform bool useRefract;",
+
+		"#endif"
+
+	].join("\n"),
+
+	worldpos_vertex : [
+
+		"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )",
+
+			"#ifdef USE_SKINNING",
+
+				"vec4 worldPosition = modelMatrix * skinned;",
+
+			"#endif",
+
+			"#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )",
+
+				"vec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );",
+
+			"#endif",
+
+			"#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )",
+
+				"vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	envmap_vertex : [
+
+		"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )",
+
+			"vec3 worldNormal = mat3( modelMatrix[ 0 ].xyz, modelMatrix[ 1 ].xyz, modelMatrix[ 2 ].xyz ) * objectNormal;",
+			"worldNormal = normalize( worldNormal );",
+
+			"vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );",
+
+			"if ( useRefract ) {",
+
+				"vReflect = refract( cameraToVertex, worldNormal, refractionRatio );",
+
+			"} else {",
+
+				"vReflect = reflect( cameraToVertex, worldNormal );",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	// COLOR MAP (particles)
+
+	map_particle_pars_fragment: [
+
+		"#ifdef USE_MAP",
+
+			"uniform sampler2D map;",
+
+		"#endif"
+
+	].join("\n"),
+
+
+	map_particle_fragment: [
+
+		"#ifdef USE_MAP",
+
+			"gl_FragColor = gl_FragColor * texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );",
+
+		"#endif"
+
+	].join("\n"),
+
+	// COLOR MAP (triangles)
+
+	map_pars_vertex: [
+
+		"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )",
+
+			"varying vec2 vUv;",
+			"uniform vec4 offsetRepeat;",
+
+		"#endif"
+
+	].join("\n"),
+
+	map_pars_fragment: [
+
+		"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )",
+
+			"varying vec2 vUv;",
+
+		"#endif",
+
+		"#ifdef USE_MAP",
+
+			"uniform sampler2D map;",
+
+		"#endif"
+
+	].join("\n"),
+
+	map_vertex: [
+
+		"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )",
+
+			"vUv = uv * offsetRepeat.zw + offsetRepeat.xy;",
+
+		"#endif"
+
+	].join("\n"),
+
+	map_fragment: [
+
+		"#ifdef USE_MAP",
+
+			"vec4 texelColor = texture2D( map, vUv );",
+
+			"#ifdef GAMMA_INPUT",
+
+				"texelColor.xyz *= texelColor.xyz;",
+
+			"#endif",
+
+			"gl_FragColor = gl_FragColor * texelColor;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// LIGHT MAP
+
+	lightmap_pars_fragment: [
+
+		"#ifdef USE_LIGHTMAP",
+
+			"varying vec2 vUv2;",
+			"uniform sampler2D lightMap;",
+
+		"#endif"
+
+	].join("\n"),
+
+	lightmap_pars_vertex: [
+
+		"#ifdef USE_LIGHTMAP",
+
+			"varying vec2 vUv2;",
+
+		"#endif"
+
+	].join("\n"),
+
+	lightmap_fragment: [
+
+		"#ifdef USE_LIGHTMAP",
+
+			"gl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );",
+
+		"#endif"
+
+	].join("\n"),
+
+	lightmap_vertex: [
+
+		"#ifdef USE_LIGHTMAP",
+
+			"vUv2 = uv2;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// BUMP MAP
+
+	bumpmap_pars_fragment: [
+
+		"#ifdef USE_BUMPMAP",
+
+			"uniform sampler2D bumpMap;",
+			"uniform float bumpScale;",
+
+			// Derivative maps - bump mapping unparametrized surfaces by Morten Mikkelsen
+			//	http://mmikkelsen3d.blogspot.sk/2011/07/derivative-maps.html
+
+			// Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2)
+
+			"vec2 dHdxy_fwd() {",
+
+				"vec2 dSTdx = dFdx( vUv );",
+				"vec2 dSTdy = dFdy( vUv );",
+
+				"float Hll = bumpScale * texture2D( bumpMap, vUv ).x;",
+				"float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;",
+				"float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;",
+
+				"return vec2( dBx, dBy );",
+
+			"}",
+
+			"vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {",
+
+				"vec3 vSigmaX = dFdx( surf_pos );",
+				"vec3 vSigmaY = dFdy( surf_pos );",
+				"vec3 vN = surf_norm;",		// normalized
+
+				"vec3 R1 = cross( vSigmaY, vN );",
+				"vec3 R2 = cross( vN, vSigmaX );",
+
+				"float fDet = dot( vSigmaX, R1 );",
+
+				"vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );",
+				"return normalize( abs( fDet ) * surf_norm - vGrad );",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	// NORMAL MAP
+
+	normalmap_pars_fragment: [
+
+		"#ifdef USE_NORMALMAP",
+
+			"uniform sampler2D normalMap;",
+			"uniform vec2 normalScale;",
+
+			// Per-Pixel Tangent Space Normal Mapping
+			// http://hacksoflife.blogspot.ch/2009/11/per-pixel-tangent-space-normal-mapping.html
+
+			"vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {",
+
+				"vec3 q0 = dFdx( eye_pos.xyz );",
+				"vec3 q1 = dFdy( eye_pos.xyz );",
+				"vec2 st0 = dFdx( vUv.st );",
+				"vec2 st1 = dFdy( vUv.st );",
+
+				"vec3 S = normalize(  q0 * st1.t - q1 * st0.t );",
+				"vec3 T = normalize( -q0 * st1.s + q1 * st0.s );",
+				"vec3 N = normalize( surf_norm );",
+
+				"vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;",
+				"mapN.xy = normalScale * mapN.xy;",
+				"mat3 tsn = mat3( S, T, N );",
+				"return normalize( tsn * mapN );",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	// SPECULAR MAP
+
+	specularmap_pars_fragment: [
+
+		"#ifdef USE_SPECULARMAP",
+
+			"uniform sampler2D specularMap;",
+
+		"#endif"
+
+	].join("\n"),
+
+	specularmap_fragment: [
+
+		"float specularStrength;",
+
+		"#ifdef USE_SPECULARMAP",
+
+			"vec4 texelSpecular = texture2D( specularMap, vUv );",
+			"specularStrength = texelSpecular.r;",
+
+		"#else",
+
+			"specularStrength = 1.0;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// LIGHTS LAMBERT
+
+	lights_lambert_pars_vertex: [
+
+		"uniform vec3 ambient;",
+		"uniform vec3 diffuse;",
+		"uniform vec3 emissive;",
+
+		"uniform vec3 ambientLightColor;",
+
+		"#if MAX_DIR_LIGHTS > 0",
+
+			"uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];",
+			"uniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_HEMI_LIGHTS > 0",
+
+			"uniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];",
+			"uniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];",
+			"uniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"uniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];",
+			"uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];",
+			"uniform float pointLightDistance[ MAX_POINT_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"uniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];",
+			"uniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];",
+			"uniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightDistance[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightExponent[ MAX_SPOT_LIGHTS ];",
+
+		"#endif",
+
+		"#ifdef WRAP_AROUND",
+
+			"uniform vec3 wrapRGB;",
+
+		"#endif"
+
+	].join("\n"),
+
+	lights_lambert_vertex: [
+
+		"vLightFront = vec3( 0.0 );",
+
+		"#ifdef DOUBLE_SIDED",
+
+			"vLightBack = vec3( 0.0 );",
+
+		"#endif",
+
+		"transformedNormal = normalize( transformedNormal );",
+
+		"#if MAX_DIR_LIGHTS > 0",
+
+		"for( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {",
+
+			"vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );",
+			"vec3 dirVector = normalize( lDirection.xyz );",
+
+			"float dotProduct = dot( transformedNormal, dirVector );",
+			"vec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );",
+
+			"#ifdef DOUBLE_SIDED",
+
+				"vec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );",
+
+				"#ifdef WRAP_AROUND",
+
+					"vec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );",
+
+				"#endif",
+
+			"#endif",
+
+			"#ifdef WRAP_AROUND",
+
+				"vec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );",
+				"directionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );",
+
+				"#ifdef DOUBLE_SIDED",
+
+					"directionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );",
+
+				"#endif",
+
+			"#endif",
+
+			"vLightFront += directionalLightColor[ i ] * directionalLightWeighting;",
+
+			"#ifdef DOUBLE_SIDED",
+
+				"vLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;",
+
+			"#endif",
+
+		"}",
+
+		"#endif",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"for( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {",
+
+				"vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );",
+				"vec3 lVector = lPosition.xyz - mvPosition.xyz;",
+
+				"float lDistance = 1.0;",
+				"if ( pointLightDistance[ i ] > 0.0 )",
+					"lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );",
+
+				"lVector = normalize( lVector );",
+				"float dotProduct = dot( transformedNormal, lVector );",
+
+				"vec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );",
+
+				"#ifdef DOUBLE_SIDED",
+
+					"vec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );",
+
+					"#ifdef WRAP_AROUND",
+
+						"vec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );",
+
+					"#endif",
+
+				"#endif",
+
+				"#ifdef WRAP_AROUND",
+
+					"vec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );",
+					"pointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );",
+
+					"#ifdef DOUBLE_SIDED",
+
+						"pointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );",
+
+					"#endif",
+
+				"#endif",
+
+				"vLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;",
+
+				"#ifdef DOUBLE_SIDED",
+
+					"vLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;",
+
+				"#endif",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"for( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {",
+
+				"vec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );",
+				"vec3 lVector = lPosition.xyz - mvPosition.xyz;",
+
+				"float spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );",
+
+				"if ( spotEffect > spotLightAngleCos[ i ] ) {",
+
+					"spotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );",
+
+					"float lDistance = 1.0;",
+					"if ( spotLightDistance[ i ] > 0.0 )",
+						"lDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );",
+
+					"lVector = normalize( lVector );",
+
+					"float dotProduct = dot( transformedNormal, lVector );",
+					"vec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );",
+
+					"#ifdef DOUBLE_SIDED",
+
+						"vec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );",
+
+						"#ifdef WRAP_AROUND",
+
+							"vec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );",
+
+						"#endif",
+
+					"#endif",
+
+					"#ifdef WRAP_AROUND",
+
+						"vec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );",
+						"spotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );",
+
+						"#ifdef DOUBLE_SIDED",
+
+							"spotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );",
+
+						"#endif",
+
+					"#endif",
+
+					"vLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;",
+
+					"#ifdef DOUBLE_SIDED",
+
+						"vLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;",
+
+					"#endif",
+
+				"}",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_HEMI_LIGHTS > 0",
+
+			"for( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
+
+				"vec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );",
+				"vec3 lVector = normalize( lDirection.xyz );",
+
+				"float dotProduct = dot( transformedNormal, lVector );",
+
+				"float hemiDiffuseWeight = 0.5 * dotProduct + 0.5;",
+				"float hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;",
+
+				"vLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );",
+
+				"#ifdef DOUBLE_SIDED",
+
+					"vLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );",
+
+				"#endif",
+
+			"}",
+
+		"#endif",
+
+		"vLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;",
+
+		"#ifdef DOUBLE_SIDED",
+
+			"vLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// LIGHTS PHONG
+
+	lights_phong_pars_vertex: [
+
+		"#ifndef PHONG_PER_PIXEL",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];",
+			"uniform float pointLightDistance[ MAX_POINT_LIGHTS ];",
+
+			"varying vec4 vPointLight[ MAX_POINT_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"uniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightDistance[ MAX_SPOT_LIGHTS ];",
+
+			"varying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];",
+
+		"#endif",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )",
+
+			"varying vec3 vWorldPosition;",
+
+		"#endif"
+
+	].join("\n"),
+
+
+	lights_phong_vertex: [
+
+		"#ifndef PHONG_PER_PIXEL",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"for( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {",
+
+				"vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );",
+				"vec3 lVector = lPosition.xyz - mvPosition.xyz;",
+
+				"float lDistance = 1.0;",
+				"if ( pointLightDistance[ i ] > 0.0 )",
+					"lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );",
+
+				"vPointLight[ i ] = vec4( lVector, lDistance );",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"for( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {",
+
+				"vec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );",
+				"vec3 lVector = lPosition.xyz - mvPosition.xyz;",
+
+				"float lDistance = 1.0;",
+				"if ( spotLightDistance[ i ] > 0.0 )",
+					"lDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );",
+
+				"vSpotLight[ i ] = vec4( lVector, lDistance );",
+
+			"}",
+
+		"#endif",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )",
+
+			"vWorldPosition = worldPosition.xyz;",
+
+		"#endif"
+
+	].join("\n"),
+
+	lights_phong_pars_fragment: [
+
+		"uniform vec3 ambientLightColor;",
+
+		"#if MAX_DIR_LIGHTS > 0",
+
+			"uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];",
+			"uniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_HEMI_LIGHTS > 0",
+
+			"uniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];",
+			"uniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];",
+			"uniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];",
+
+		"#endif",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"uniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];",
+
+			"#ifdef PHONG_PER_PIXEL",
+
+				"uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];",
+				"uniform float pointLightDistance[ MAX_POINT_LIGHTS ];",
+
+			"#else",
+
+				"varying vec4 vPointLight[ MAX_POINT_LIGHTS ];",
+
+			"#endif",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"uniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];",
+			"uniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];",
+			"uniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];",
+			"uniform float spotLightExponent[ MAX_SPOT_LIGHTS ];",
+
+			"#ifdef PHONG_PER_PIXEL",
+
+				"uniform float spotLightDistance[ MAX_SPOT_LIGHTS ];",
+
+			"#else",
+
+				"varying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];",
+
+			"#endif",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )",
+
+			"varying vec3 vWorldPosition;",
+
+		"#endif",
+
+		"#ifdef WRAP_AROUND",
+
+			"uniform vec3 wrapRGB;",
+
+		"#endif",
+
+		"varying vec3 vViewPosition;",
+		"varying vec3 vNormal;"
+
+	].join("\n"),
+
+	lights_phong_fragment: [
+
+		"vec3 normal = normalize( vNormal );",
+		"vec3 viewPosition = normalize( vViewPosition );",
+
+		"#ifdef DOUBLE_SIDED",
+
+			"normal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );",
+
+		"#endif",
+
+		"#ifdef USE_NORMALMAP",
+
+			"normal = perturbNormal2Arb( -viewPosition, normal );",
+
+		"#elif defined( USE_BUMPMAP )",
+
+			"normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );",
+
+		"#endif",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"vec3 pointDiffuse  = vec3( 0.0 );",
+			"vec3 pointSpecular = vec3( 0.0 );",
+
+			"for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {",
+
+				"#ifdef PHONG_PER_PIXEL",
+
+					"vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );",
+					"vec3 lVector = lPosition.xyz + vViewPosition.xyz;",
+
+					"float lDistance = 1.0;",
+					"if ( pointLightDistance[ i ] > 0.0 )",
+						"lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );",
+
+					"lVector = normalize( lVector );",
+
+				"#else",
+
+					"vec3 lVector = normalize( vPointLight[ i ].xyz );",
+					"float lDistance = vPointLight[ i ].w;",
+
+				"#endif",
+
+				// diffuse
+
+				"float dotProduct = dot( normal, lVector );",
+
+				"#ifdef WRAP_AROUND",
+
+					"float pointDiffuseWeightFull = max( dotProduct, 0.0 );",
+					"float pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );",
+
+					"vec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );",
+
+				"#else",
+
+					"float pointDiffuseWeight = max( dotProduct, 0.0 );",
+
+				"#endif",
+
+				"pointDiffuse  += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;",
+
+				// specular
+
+				"vec3 pointHalfVector = normalize( lVector + viewPosition );",
+				"float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );",
+				"float pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );",
+
+				"#ifdef PHYSICALLY_BASED_SHADING",
+
+					// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+					"float specularNormalization = ( shininess + 2.0001 ) / 8.0;",
+
+					"vec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );",
+					"pointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;",
+
+				"#else",
+
+					"pointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;",
+
+				"#endif",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"vec3 spotDiffuse  = vec3( 0.0 );",
+			"vec3 spotSpecular = vec3( 0.0 );",
+
+			"for ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {",
+
+				"#ifdef PHONG_PER_PIXEL",
+
+					"vec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );",
+					"vec3 lVector = lPosition.xyz + vViewPosition.xyz;",
+
+					"float lDistance = 1.0;",
+					"if ( spotLightDistance[ i ] > 0.0 )",
+						"lDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );",
+
+					"lVector = normalize( lVector );",
+
+				"#else",
+
+					"vec3 lVector = normalize( vSpotLight[ i ].xyz );",
+					"float lDistance = vSpotLight[ i ].w;",
+
+				"#endif",
+
+				"float spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );",
+
+				"if ( spotEffect > spotLightAngleCos[ i ] ) {",
+
+					"spotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );",
+
+					// diffuse
+
+					"float dotProduct = dot( normal, lVector );",
+
+					"#ifdef WRAP_AROUND",
+
+						"float spotDiffuseWeightFull = max( dotProduct, 0.0 );",
+						"float spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );",
+
+						"vec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );",
+
+					"#else",
+
+						"float spotDiffuseWeight = max( dotProduct, 0.0 );",
+
+					"#endif",
+
+					"spotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;",
+
+					// specular
+
+					"vec3 spotHalfVector = normalize( lVector + viewPosition );",
+					"float spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );",
+					"float spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );",
+
+					"#ifdef PHYSICALLY_BASED_SHADING",
+
+						// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+						"float specularNormalization = ( shininess + 2.0001 ) / 8.0;",
+
+						"vec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );",
+						"spotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;",
+
+					"#else",
+
+						"spotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;",
+
+					"#endif",
+
+				"}",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_DIR_LIGHTS > 0",
+
+			"vec3 dirDiffuse  = vec3( 0.0 );",
+			"vec3 dirSpecular = vec3( 0.0 );" ,
+
+			"for( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {",
+
+				"vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );",
+				"vec3 dirVector = normalize( lDirection.xyz );",
+
+				// diffuse
+
+				"float dotProduct = dot( normal, dirVector );",
+
+				"#ifdef WRAP_AROUND",
+
+					"float dirDiffuseWeightFull = max( dotProduct, 0.0 );",
+					"float dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );",
+
+					"vec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );",
+
+				"#else",
+
+					"float dirDiffuseWeight = max( dotProduct, 0.0 );",
+
+				"#endif",
+
+				"dirDiffuse  += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;",
+
+				// specular
+
+				"vec3 dirHalfVector = normalize( dirVector + viewPosition );",
+				"float dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );",
+				"float dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );",
+
+				"#ifdef PHYSICALLY_BASED_SHADING",
+
+					/*
+					// fresnel term from skin shader
+					"const float F0 = 0.128;",
+
+					"float base = 1.0 - dot( viewPosition, dirHalfVector );",
+					"float exponential = pow( base, 5.0 );",
+
+					"float fresnel = exponential + F0 * ( 1.0 - exponential );",
+					*/
+
+					/*
+					// fresnel term from fresnel shader
+					"const float mFresnelBias = 0.08;",
+					"const float mFresnelScale = 0.3;",
+					"const float mFresnelPower = 5.0;",
+
+					"float fresnel = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( -viewPosition ), normal ), mFresnelPower );",
+					*/
+
+					// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+					"float specularNormalization = ( shininess + 2.0001 ) / 8.0;",
+
+					//"dirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization * fresnel;",
+
+					"vec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );",
+					"dirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;",
+
+				"#else",
+
+					"dirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;",
+
+				"#endif",
+
+			"}",
+
+		"#endif",
+
+		"#if MAX_HEMI_LIGHTS > 0",
+
+			"vec3 hemiDiffuse  = vec3( 0.0 );",
+			"vec3 hemiSpecular = vec3( 0.0 );" ,
+
+			"for( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
+
+				"vec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );",
+				"vec3 lVector = normalize( lDirection.xyz );",
+
+				// diffuse
+
+				"float dotProduct = dot( normal, lVector );",
+				"float hemiDiffuseWeight = 0.5 * dotProduct + 0.5;",
+
+				"vec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );",
+
+				"hemiDiffuse += diffuse * hemiColor;",
+
+				// specular (sky light)
+
+				"vec3 hemiHalfVectorSky = normalize( lVector + viewPosition );",
+				"float hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;",
+				"float hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );",
+
+				// specular (ground light)
+
+				"vec3 lVectorGround = -lVector;",
+
+				"vec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );",
+				"float hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;",
+				"float hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );",
+
+				"#ifdef PHYSICALLY_BASED_SHADING",
+
+					"float dotProductGround = dot( normal, lVectorGround );",
+
+					// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+					"float specularNormalization = ( shininess + 2.0001 ) / 8.0;",
+
+					"vec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );",
+					"vec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );",
+					"hemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );",
+
+				"#else",
+
+					"hemiSpecular += specular * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;",
+
+				"#endif",
+
+			"}",
+
+		"#endif",
+
+		"vec3 totalDiffuse = vec3( 0.0 );",
+		"vec3 totalSpecular = vec3( 0.0 );",
+
+		"#if MAX_DIR_LIGHTS > 0",
+
+			"totalDiffuse += dirDiffuse;",
+			"totalSpecular += dirSpecular;",
+
+		"#endif",
+
+		"#if MAX_HEMI_LIGHTS > 0",
+
+			"totalDiffuse += hemiDiffuse;",
+			"totalSpecular += hemiSpecular;",
+
+		"#endif",
+
+		"#if MAX_POINT_LIGHTS > 0",
+
+			"totalDiffuse += pointDiffuse;",
+			"totalSpecular += pointSpecular;",
+
+		"#endif",
+
+		"#if MAX_SPOT_LIGHTS > 0",
+
+			"totalDiffuse += spotDiffuse;",
+			"totalSpecular += spotSpecular;",
+
+		"#endif",
+
+		"#ifdef METAL",
+
+			"gl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );",
+
+		"#else",
+
+			"gl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// VERTEX COLORS
+
+	color_pars_fragment: [
+
+		"#ifdef USE_COLOR",
+
+			"varying vec3 vColor;",
+
+		"#endif"
+
+	].join("\n"),
+
+
+	color_fragment: [
+
+		"#ifdef USE_COLOR",
+
+			"gl_FragColor = gl_FragColor * vec4( vColor, opacity );",
+
+		"#endif"
+
+	].join("\n"),
+
+	color_pars_vertex: [
+
+		"#ifdef USE_COLOR",
+
+			"varying vec3 vColor;",
+
+		"#endif"
+
+	].join("\n"),
+
+
+	color_vertex: [
+
+		"#ifdef USE_COLOR",
+
+			"#ifdef GAMMA_INPUT",
+
+				"vColor = color * color;",
+
+			"#else",
+
+				"vColor = color;",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	// SKINNING
+
+	skinning_pars_vertex: [
+
+		"#ifdef USE_SKINNING",
+
+			"#ifdef BONE_TEXTURE",
+
+				"uniform sampler2D boneTexture;",
+
+				"mat4 getBoneMatrix( const in float i ) {",
+
+					"float j = i * 4.0;",
+					"float x = mod( j, N_BONE_PIXEL_X );",
+					"float y = floor( j / N_BONE_PIXEL_X );",
+
+					"const float dx = 1.0 / N_BONE_PIXEL_X;",
+					"const float dy = 1.0 / N_BONE_PIXEL_Y;",
+
+					"y = dy * ( y + 0.5 );",
+
+					"vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );",
+					"vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );",
+					"vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );",
+					"vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );",
+
+					"mat4 bone = mat4( v1, v2, v3, v4 );",
+
+					"return bone;",
+
+				"}",
+
+			"#else",
+
+				"uniform mat4 boneGlobalMatrices[ MAX_BONES ];",
+
+				"mat4 getBoneMatrix( const in float i ) {",
+
+					"mat4 bone = boneGlobalMatrices[ int(i) ];",
+					"return bone;",
+
+				"}",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	skinbase_vertex: [
+
+		"#ifdef USE_SKINNING",
+
+			"mat4 boneMatX = getBoneMatrix( skinIndex.x );",
+			"mat4 boneMatY = getBoneMatrix( skinIndex.y );",
+
+		"#endif"
+
+	].join("\n"),
+
+	skinning_vertex: [
+
+		"#ifdef USE_SKINNING",
+
+			"#ifdef USE_MORPHTARGETS",
+
+			"vec4 skinVertex = vec4( morphed, 1.0 );",
+
+			"#else",
+
+			"vec4 skinVertex = vec4( position, 1.0 );",
+
+			"#endif",
+
+			"vec4 skinned  = boneMatX * skinVertex * skinWeight.x;",
+			"skinned 	  += boneMatY * skinVertex * skinWeight.y;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// MORPHING
+
+	morphtarget_pars_vertex: [
+
+		"#ifdef USE_MORPHTARGETS",
+
+			"#ifndef USE_MORPHNORMALS",
+
+			"uniform float morphTargetInfluences[ 8 ];",
+
+			"#else",
+
+			"uniform float morphTargetInfluences[ 4 ];",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	morphtarget_vertex: [
+
+		"#ifdef USE_MORPHTARGETS",
+
+			"vec3 morphed = vec3( 0.0 );",
+			"morphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];",
+			"morphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];",
+			"morphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];",
+			"morphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];",
+
+			"#ifndef USE_MORPHNORMALS",
+
+			"morphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];",
+			"morphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];",
+			"morphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];",
+			"morphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];",
+
+			"#endif",
+
+			"morphed += position;",
+
+		"#endif"
+
+	].join("\n"),
+
+	default_vertex : [
+
+		"vec4 mvPosition;",
+
+		"#ifdef USE_SKINNING",
+
+			"mvPosition = modelViewMatrix * skinned;",
+
+		"#endif",
+
+		"#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )",
+
+			"mvPosition = modelViewMatrix * vec4( morphed, 1.0 );",
+
+		"#endif",
+
+		"#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )",
+
+			"mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+
+		"#endif",
+
+		"gl_Position = projectionMatrix * mvPosition;"
+
+	].join("\n"),
+
+	morphnormal_vertex: [
+
+		"#ifdef USE_MORPHNORMALS",
+
+			"vec3 morphedNormal = vec3( 0.0 );",
+
+			"morphedNormal +=  ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];",
+			"morphedNormal +=  ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];",
+			"morphedNormal +=  ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];",
+			"morphedNormal +=  ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];",
+
+			"morphedNormal += normal;",
+
+		"#endif"
+
+	].join("\n"),
+
+	skinnormal_vertex: [
+
+		"#ifdef USE_SKINNING",
+
+			"mat4 skinMatrix = skinWeight.x * boneMatX;",
+			"skinMatrix 	+= skinWeight.y * boneMatY;",
+
+			"#ifdef USE_MORPHNORMALS",
+
+			"vec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );",
+
+			"#else",
+
+			"vec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );",
+
+			"#endif",
+
+		"#endif"
+
+	].join("\n"),
+
+	defaultnormal_vertex: [
+
+		"vec3 objectNormal;",
+
+		"#ifdef USE_SKINNING",
+
+			"objectNormal = skinnedNormal.xyz;",
+
+		"#endif",
+
+		"#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )",
+
+			"objectNormal = morphedNormal;",
+
+		"#endif",
+
+		"#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )",
+
+			"objectNormal = normal;",
+
+		"#endif",
+
+		"#ifdef FLIP_SIDED",
+
+			"objectNormal = -objectNormal;",
+
+		"#endif",
+
+		"vec3 transformedNormal = normalMatrix * objectNormal;"
+
+	].join("\n"),
+
+	// SHADOW MAP
+
+	// based on SpiderGL shadow map and Fabien Sanglard's GLSL shadow mapping examples
+	//  http://spidergl.org/example.php?id=6
+	// 	http://fabiensanglard.net/shadowmapping
+
+	shadowmap_pars_fragment: [
+
+		"#ifdef USE_SHADOWMAP",
+
+			"uniform sampler2D shadowMap[ MAX_SHADOWS ];",
+			"uniform vec2 shadowMapSize[ MAX_SHADOWS ];",
+
+			"uniform float shadowDarkness[ MAX_SHADOWS ];",
+			"uniform float shadowBias[ MAX_SHADOWS ];",
+
+			"varying vec4 vShadowCoord[ MAX_SHADOWS ];",
+
+			"float unpackDepth( const in vec4 rgba_depth ) {",
+
+				"const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );",
+				"float depth = dot( rgba_depth, bit_shift );",
+				"return depth;",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	shadowmap_fragment: [
+
+		"#ifdef USE_SHADOWMAP",
+
+			"#ifdef SHADOWMAP_DEBUG",
+
+				"vec3 frustumColors[3];",
+				"frustumColors[0] = vec3( 1.0, 0.5, 0.0 );",
+				"frustumColors[1] = vec3( 0.0, 1.0, 0.8 );",
+				"frustumColors[2] = vec3( 0.0, 0.5, 1.0 );",
+
+			"#endif",
+
+			"#ifdef SHADOWMAP_CASCADE",
+
+				"int inFrustumCount = 0;",
+
+			"#endif",
+
+			"float fDepth;",
+			"vec3 shadowColor = vec3( 1.0 );",
+
+			"for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
+
+				"vec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;",
+
+				// "if ( something && something )" 		 breaks ATI OpenGL shader compiler
+				// "if ( all( something, something ) )"  using this instead
+
+				"bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );",
+				"bool inFrustum = all( inFrustumVec );",
+
+				// don't shadow pixels outside of light frustum
+				// use just first frustum (for cascades)
+				// don't shadow pixels behind far plane of light frustum
+
+				"#ifdef SHADOWMAP_CASCADE",
+
+					"inFrustumCount += int( inFrustum );",
+					"bvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );",
+
+				"#else",
+
+					"bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );",
+
+				"#endif",
+
+				"bool frustumTest = all( frustumTestVec );",
+
+				"if ( frustumTest ) {",
+
+					"shadowCoord.z += shadowBias[ i ];",
+
+					"#if defined( SHADOWMAP_TYPE_PCF )",
+
+						// Percentage-close filtering
+						// (9 pixel kernel)
+						// http://fabiensanglard.net/shadowmappingPCF/
+
+						"float shadow = 0.0;",
+
+						/*
+						// nested loops breaks shader compiler / validator on some ATI cards when using OpenGL
+						// must enroll loop manually
+
+						"for ( float y = -1.25; y <= 1.25; y += 1.25 )",
+							"for ( float x = -1.25; x <= 1.25; x += 1.25 ) {",
+
+								"vec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );",
+
+								// doesn't seem to produce any noticeable visual difference compared to simple "texture2D" lookup
+								//"vec4 rgbaDepth = texture2DProj( shadowMap[ i ], vec4( vShadowCoord[ i ].w * ( vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy ), 0.05, vShadowCoord[ i ].w ) );",
+
+								"float fDepth = unpackDepth( rgbaDepth );",
+
+								"if ( fDepth < shadowCoord.z )",
+									"shadow += 1.0;",
+
+						"}",
+
+						"shadow /= 9.0;",
+
+						*/
+
+						"const float shadowDelta = 1.0 / 9.0;",
+
+						"float xPixelOffset = 1.0 / shadowMapSize[ i ].x;",
+						"float yPixelOffset = 1.0 / shadowMapSize[ i ].y;",
+
+						"float dx0 = -1.25 * xPixelOffset;",
+						"float dy0 = -1.25 * yPixelOffset;",
+						"float dx1 = 1.25 * xPixelOffset;",
+						"float dy1 = 1.25 * yPixelOffset;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"fDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );",
+						"if ( fDepth < shadowCoord.z ) shadow += shadowDelta;",
+
+						"shadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );",
+
+					"#elif defined( SHADOWMAP_TYPE_PCF_SOFT )",
+
+						// Percentage-close filtering
+						// (9 pixel kernel)
+						// http://fabiensanglard.net/shadowmappingPCF/
+
+						"float shadow = 0.0;",
+
+						"float xPixelOffset = 1.0 / shadowMapSize[ i ].x;",
+						"float yPixelOffset = 1.0 / shadowMapSize[ i ].y;",
+
+						"float dx0 = -1.0 * xPixelOffset;",
+						"float dy0 = -1.0 * yPixelOffset;",
+						"float dx1 = 1.0 * xPixelOffset;",
+						"float dy1 = 1.0 * yPixelOffset;",
+
+						"mat3 shadowKernel;",
+						"mat3 depthKernel;",
+
+						"depthKernel[0][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );",
+						"if ( depthKernel[0][0] < shadowCoord.z ) shadowKernel[0][0] = 0.25;",
+						"else shadowKernel[0][0] = 0.0;",
+
+						"depthKernel[0][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );",
+						"if ( depthKernel[0][1] < shadowCoord.z ) shadowKernel[0][1] = 0.25;",
+						"else shadowKernel[0][1] = 0.0;",
+
+						"depthKernel[0][2] = unpackDepth( texture2D( shadowMap[ i], shadowCoord.xy + vec2( dx0, dy1 ) ) );",
+						"if ( depthKernel[0][2] < shadowCoord.z ) shadowKernel[0][2] = 0.25;",
+						"else shadowKernel[0][2] = 0.0;",
+
+						"depthKernel[1][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );",
+						"if ( depthKernel[1][0] < shadowCoord.z ) shadowKernel[1][0] = 0.25;",
+						"else shadowKernel[1][0] = 0.0;",
+
+						"depthKernel[1][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );",
+						"if ( depthKernel[1][1] < shadowCoord.z ) shadowKernel[1][1] = 0.25;",
+						"else shadowKernel[1][1] = 0.0;",
+
+						"depthKernel[1][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );",
+						"if ( depthKernel[1][2] < shadowCoord.z ) shadowKernel[1][2] = 0.25;",
+						"else shadowKernel[1][2] = 0.0;",
+
+						"depthKernel[2][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );",
+						"if ( depthKernel[2][0] < shadowCoord.z ) shadowKernel[2][0] = 0.25;",
+						"else shadowKernel[2][0] = 0.0;",
+
+						"depthKernel[2][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );",
+						"if ( depthKernel[2][1] < shadowCoord.z ) shadowKernel[2][1] = 0.25;",
+						"else shadowKernel[2][1] = 0.0;",
+
+						"depthKernel[2][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );",
+						"if ( depthKernel[2][2] < shadowCoord.z ) shadowKernel[2][2] = 0.25;",
+						"else shadowKernel[2][2] = 0.0;",
+
+						"vec2 fractionalCoord = 1.0 - fract( shadowCoord.xy * shadowMapSize[i].xy );",
+
+						"shadowKernel[0] = mix( shadowKernel[1], shadowKernel[0], fractionalCoord.x );",
+						"shadowKernel[1] = mix( shadowKernel[2], shadowKernel[1], fractionalCoord.x );",
+
+						"vec4 shadowValues;",
+						"shadowValues.x = mix( shadowKernel[0][1], shadowKernel[0][0], fractionalCoord.y );",
+						"shadowValues.y = mix( shadowKernel[0][2], shadowKernel[0][1], fractionalCoord.y );",
+						"shadowValues.z = mix( shadowKernel[1][1], shadowKernel[1][0], fractionalCoord.y );",
+						"shadowValues.w = mix( shadowKernel[1][2], shadowKernel[1][1], fractionalCoord.y );",
+
+						"shadow = dot( shadowValues, vec4( 1.0 ) );",
+
+						"shadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );",
+
+					"#else",
+
+						"vec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );",
+						"float fDepth = unpackDepth( rgbaDepth );",
+
+						"if ( fDepth < shadowCoord.z )",
+
+							// spot with multiple shadows is darker
+
+							"shadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );",
+
+							// spot with multiple shadows has the same color as single shadow spot
+
+							//"shadowColor = min( shadowColor, vec3( shadowDarkness[ i ] ) );",
+
+					"#endif",
+
+				"}",
+
+
+				"#ifdef SHADOWMAP_DEBUG",
+
+					"#ifdef SHADOWMAP_CASCADE",
+
+						"if ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];",
+
+					"#else",
+
+						"if ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];",
+
+					"#endif",
+
+				"#endif",
+
+			"}",
+
+			"#ifdef GAMMA_OUTPUT",
+
+				"shadowColor *= shadowColor;",
+
+			"#endif",
+
+			"gl_FragColor.xyz = gl_FragColor.xyz * shadowColor;",
+
+		"#endif"
+
+	].join("\n"),
+
+	shadowmap_pars_vertex: [
+
+		"#ifdef USE_SHADOWMAP",
+
+			"varying vec4 vShadowCoord[ MAX_SHADOWS ];",
+			"uniform mat4 shadowMatrix[ MAX_SHADOWS ];",
+
+		"#endif"
+
+	].join("\n"),
+
+	shadowmap_vertex: [
+
+		"#ifdef USE_SHADOWMAP",
+
+			"for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
+
+				"vShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;",
+
+			"}",
+
+		"#endif"
+
+	].join("\n"),
+
+	// ALPHATEST
+
+	alphatest_fragment: [
+
+		"#ifdef ALPHATEST",
+
+			"if ( gl_FragColor.a < ALPHATEST ) discard;",
+
+		"#endif"
+
+	].join("\n"),
+
+	// LINEAR SPACE
+
+	linear_to_gamma_fragment: [
+
+		"#ifdef GAMMA_OUTPUT",
+
+			"gl_FragColor.xyz = sqrt( gl_FragColor.xyz );",
+
+		"#endif"
+
+	].join("\n")
+
+
+};
+
+THREE.UniformsUtils = {
+
+	merge: function ( uniforms ) {
+
+		var u, p, tmp, merged = {};
+
+		for ( u = 0; u < uniforms.length; u ++ ) {
+
+			tmp = this.clone( uniforms[ u ] );
+
+			for ( p in tmp ) {
+
+				merged[ p ] = tmp[ p ];
+
+			}
+
+		}
+
+		return merged;
+
+	},
+
+	clone: function ( uniforms_src ) {
+
+		var u, p, parameter, parameter_src, uniforms_dst = {};
+
+		for ( u in uniforms_src ) {
+
+			uniforms_dst[ u ] = {};
+
+			for ( p in uniforms_src[ u ] ) {
+
+				parameter_src = uniforms_src[ u ][ p ];
+
+				if ( parameter_src instanceof THREE.Color ||
+					 parameter_src instanceof THREE.Vector2 ||
+					 parameter_src instanceof THREE.Vector3 ||
+					 parameter_src instanceof THREE.Vector4 ||
+					 parameter_src instanceof THREE.Matrix4 ||
+					 parameter_src instanceof THREE.Texture ) {
+
+					uniforms_dst[ u ][ p ] = parameter_src.clone();
+
+				} else if ( parameter_src instanceof Array ) {
+
+					uniforms_dst[ u ][ p ] = parameter_src.slice();
+
+				} else {
+
+					uniforms_dst[ u ][ p ] = parameter_src;
+
+				}
+
+			}
+
+		}
+
+		return uniforms_dst;
+
+	}
+
+};
+
+THREE.UniformsLib = {
+
+	common: {
+
+		"diffuse" : { type: "c", value: new THREE.Color( 0xeeeeee ) },
+		"opacity" : { type: "f", value: 1.0 },
+
+		"map" : { type: "t", value: null },
+		"offsetRepeat" : { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) },
+
+		"lightMap" : { type: "t", value: null },
+		"specularMap" : { type: "t", value: null },
+
+		"envMap" : { type: "t", value: null },
+		"flipEnvMap" : { type: "f", value: -1 },
+		"useRefract" : { type: "i", value: 0 },
+		"reflectivity" : { type: "f", value: 1.0 },
+		"refractionRatio" : { type: "f", value: 0.98 },
+		"combine" : { type: "i", value: 0 },
+
+		"morphTargetInfluences" : { type: "f", value: 0 }
+
+	},
+
+	bump: {
+
+		"bumpMap" : { type: "t", value: null },
+		"bumpScale" : { type: "f", value: 1 }
+
+	},
+
+	normalmap: {
+
+		"normalMap" : { type: "t", value: null },
+		"normalScale" : { type: "v2", value: new THREE.Vector2( 1, 1 ) }
+	},
+
+	fog : {
+
+		"fogDensity" : { type: "f", value: 0.00025 },
+		"fogNear" : { type: "f", value: 1 },
+		"fogFar" : { type: "f", value: 2000 },
+		"fogColor" : { type: "c", value: new THREE.Color( 0xffffff ) }
+
+	},
+
+	lights: {
+
+		"ambientLightColor" : { type: "fv", value: [] },
+
+		"directionalLightDirection" : { type: "fv", value: [] },
+		"directionalLightColor" : { type: "fv", value: [] },
+
+		"hemisphereLightDirection" : { type: "fv", value: [] },
+		"hemisphereLightSkyColor" : { type: "fv", value: [] },
+		"hemisphereLightGroundColor" : { type: "fv", value: [] },
+
+		"pointLightColor" : { type: "fv", value: [] },
+		"pointLightPosition" : { type: "fv", value: [] },
+		"pointLightDistance" : { type: "fv1", value: [] },
+
+		"spotLightColor" : { type: "fv", value: [] },
+		"spotLightPosition" : { type: "fv", value: [] },
+		"spotLightDirection" : { type: "fv", value: [] },
+		"spotLightDistance" : { type: "fv1", value: [] },
+		"spotLightAngleCos" : { type: "fv1", value: [] },
+		"spotLightExponent" : { type: "fv1", value: [] }
+
+	},
+
+	particle: {
+
+		"psColor" : { type: "c", value: new THREE.Color( 0xeeeeee ) },
+		"opacity" : { type: "f", value: 1.0 },
+		"size" : { type: "f", value: 1.0 },
+		"scale" : { type: "f", value: 1.0 },
+		"map" : { type: "t", value: null },
+
+		"fogDensity" : { type: "f", value: 0.00025 },
+		"fogNear" : { type: "f", value: 1 },
+		"fogFar" : { type: "f", value: 2000 },
+		"fogColor" : { type: "c", value: new THREE.Color( 0xffffff ) }
+
+	},
+
+	shadowmap: {
+
+		"shadowMap": { type: "tv", value: [] },
+		"shadowMapSize": { type: "v2v", value: [] },
+
+		"shadowBias" : { type: "fv1", value: [] },
+		"shadowDarkness": { type: "fv1", value: [] },
+
+		"shadowMatrix" : { type: "m4v", value: [] }
+
+	}
+
+};
+
+THREE.ShaderLib = {
+
+	'basic': {
+
+		uniforms: THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "common" ],
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "shadowmap" ]
+
+		] ),
+
+		vertexShader: [
+
+			THREE.ShaderChunk[ "map_pars_vertex" ],
+			THREE.ShaderChunk[ "lightmap_pars_vertex" ],
+			THREE.ShaderChunk[ "envmap_pars_vertex" ],
+			THREE.ShaderChunk[ "color_pars_vertex" ],
+			THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
+			THREE.ShaderChunk[ "skinning_pars_vertex" ],
+			THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "map_vertex" ],
+				THREE.ShaderChunk[ "lightmap_vertex" ],
+				THREE.ShaderChunk[ "color_vertex" ],
+				THREE.ShaderChunk[ "skinbase_vertex" ],
+
+				"#ifdef USE_ENVMAP",
+
+				THREE.ShaderChunk[ "morphnormal_vertex" ],
+				THREE.ShaderChunk[ "skinnormal_vertex" ],
+				THREE.ShaderChunk[ "defaultnormal_vertex" ],
+
+				"#endif",
+
+				THREE.ShaderChunk[ "morphtarget_vertex" ],
+				THREE.ShaderChunk[ "skinning_vertex" ],
+				THREE.ShaderChunk[ "default_vertex" ],
+
+				THREE.ShaderChunk[ "worldpos_vertex" ],
+				THREE.ShaderChunk[ "envmap_vertex" ],
+				THREE.ShaderChunk[ "shadowmap_vertex" ],
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform vec3 diffuse;",
+			"uniform float opacity;",
+
+			THREE.ShaderChunk[ "color_pars_fragment" ],
+			THREE.ShaderChunk[ "map_pars_fragment" ],
+			THREE.ShaderChunk[ "lightmap_pars_fragment" ],
+			THREE.ShaderChunk[ "envmap_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+			THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
+			THREE.ShaderChunk[ "specularmap_pars_fragment" ],
+
+			"void main() {",
+
+				"gl_FragColor = vec4( diffuse, opacity );",
+
+				THREE.ShaderChunk[ "map_fragment" ],
+				THREE.ShaderChunk[ "alphatest_fragment" ],
+				THREE.ShaderChunk[ "specularmap_fragment" ],
+				THREE.ShaderChunk[ "lightmap_fragment" ],
+				THREE.ShaderChunk[ "color_fragment" ],
+				THREE.ShaderChunk[ "envmap_fragment" ],
+				THREE.ShaderChunk[ "shadowmap_fragment" ],
+
+				THREE.ShaderChunk[ "linear_to_gamma_fragment" ],
+
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'lambert': {
+
+		uniforms: THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "common" ],
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ],
+			THREE.UniformsLib[ "shadowmap" ],
+
+			{
+				"ambient"  : { type: "c", value: new THREE.Color( 0xffffff ) },
+				"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
+				"wrapRGB"  : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) }
+			}
+
+		] ),
+
+		vertexShader: [
+
+			"#define LAMBERT",
+
+			"varying vec3 vLightFront;",
+
+			"#ifdef DOUBLE_SIDED",
+
+				"varying vec3 vLightBack;",
+
+			"#endif",
+
+			THREE.ShaderChunk[ "map_pars_vertex" ],
+			THREE.ShaderChunk[ "lightmap_pars_vertex" ],
+			THREE.ShaderChunk[ "envmap_pars_vertex" ],
+			THREE.ShaderChunk[ "lights_lambert_pars_vertex" ],
+			THREE.ShaderChunk[ "color_pars_vertex" ],
+			THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
+			THREE.ShaderChunk[ "skinning_pars_vertex" ],
+			THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "map_vertex" ],
+				THREE.ShaderChunk[ "lightmap_vertex" ],
+				THREE.ShaderChunk[ "color_vertex" ],
+
+				THREE.ShaderChunk[ "morphnormal_vertex" ],
+				THREE.ShaderChunk[ "skinbase_vertex" ],
+				THREE.ShaderChunk[ "skinnormal_vertex" ],
+				THREE.ShaderChunk[ "defaultnormal_vertex" ],
+
+				THREE.ShaderChunk[ "morphtarget_vertex" ],
+				THREE.ShaderChunk[ "skinning_vertex" ],
+				THREE.ShaderChunk[ "default_vertex" ],
+
+				THREE.ShaderChunk[ "worldpos_vertex" ],
+				THREE.ShaderChunk[ "envmap_vertex" ],
+				THREE.ShaderChunk[ "lights_lambert_vertex" ],
+				THREE.ShaderChunk[ "shadowmap_vertex" ],
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform float opacity;",
+
+			"varying vec3 vLightFront;",
+
+			"#ifdef DOUBLE_SIDED",
+
+				"varying vec3 vLightBack;",
+
+			"#endif",
+
+			THREE.ShaderChunk[ "color_pars_fragment" ],
+			THREE.ShaderChunk[ "map_pars_fragment" ],
+			THREE.ShaderChunk[ "lightmap_pars_fragment" ],
+			THREE.ShaderChunk[ "envmap_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+			THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
+			THREE.ShaderChunk[ "specularmap_pars_fragment" ],
+
+			"void main() {",
+
+				"gl_FragColor = vec4( vec3 ( 1.0 ), opacity );",
+
+				THREE.ShaderChunk[ "map_fragment" ],
+				THREE.ShaderChunk[ "alphatest_fragment" ],
+				THREE.ShaderChunk[ "specularmap_fragment" ],
+
+				"#ifdef DOUBLE_SIDED",
+
+					//"float isFront = float( gl_FrontFacing );",
+					//"gl_FragColor.xyz *= isFront * vLightFront + ( 1.0 - isFront ) * vLightBack;",
+
+					"if ( gl_FrontFacing )",
+						"gl_FragColor.xyz *= vLightFront;",
+					"else",
+						"gl_FragColor.xyz *= vLightBack;",
+
+				"#else",
+
+					"gl_FragColor.xyz *= vLightFront;",
+
+				"#endif",
+
+				THREE.ShaderChunk[ "lightmap_fragment" ],
+				THREE.ShaderChunk[ "color_fragment" ],
+				THREE.ShaderChunk[ "envmap_fragment" ],
+				THREE.ShaderChunk[ "shadowmap_fragment" ],
+
+				THREE.ShaderChunk[ "linear_to_gamma_fragment" ],
+
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'phong': {
+
+		uniforms: THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "common" ],
+			THREE.UniformsLib[ "bump" ],
+			THREE.UniformsLib[ "normalmap" ],
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ],
+			THREE.UniformsLib[ "shadowmap" ],
+
+			{
+				"ambient"  : { type: "c", value: new THREE.Color( 0xffffff ) },
+				"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
+				"specular" : { type: "c", value: new THREE.Color( 0x111111 ) },
+				"shininess": { type: "f", value: 30 },
+				"wrapRGB"  : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) }
+			}
+
+		] ),
+
+		vertexShader: [
+
+			"#define PHONG",
+
+			"varying vec3 vViewPosition;",
+			"varying vec3 vNormal;",
+
+			THREE.ShaderChunk[ "map_pars_vertex" ],
+			THREE.ShaderChunk[ "lightmap_pars_vertex" ],
+			THREE.ShaderChunk[ "envmap_pars_vertex" ],
+			THREE.ShaderChunk[ "lights_phong_pars_vertex" ],
+			THREE.ShaderChunk[ "color_pars_vertex" ],
+			THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
+			THREE.ShaderChunk[ "skinning_pars_vertex" ],
+			THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "map_vertex" ],
+				THREE.ShaderChunk[ "lightmap_vertex" ],
+				THREE.ShaderChunk[ "color_vertex" ],
+
+				THREE.ShaderChunk[ "morphnormal_vertex" ],
+				THREE.ShaderChunk[ "skinbase_vertex" ],
+				THREE.ShaderChunk[ "skinnormal_vertex" ],
+				THREE.ShaderChunk[ "defaultnormal_vertex" ],
+
+				"vNormal = normalize( transformedNormal );",
+
+				THREE.ShaderChunk[ "morphtarget_vertex" ],
+				THREE.ShaderChunk[ "skinning_vertex" ],
+				THREE.ShaderChunk[ "default_vertex" ],
+
+				"vViewPosition = -mvPosition.xyz;",
+
+				THREE.ShaderChunk[ "worldpos_vertex" ],
+				THREE.ShaderChunk[ "envmap_vertex" ],
+				THREE.ShaderChunk[ "lights_phong_vertex" ],
+				THREE.ShaderChunk[ "shadowmap_vertex" ],
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform vec3 diffuse;",
+			"uniform float opacity;",
+
+			"uniform vec3 ambient;",
+			"uniform vec3 emissive;",
+			"uniform vec3 specular;",
+			"uniform float shininess;",
+
+			THREE.ShaderChunk[ "color_pars_fragment" ],
+			THREE.ShaderChunk[ "map_pars_fragment" ],
+			THREE.ShaderChunk[ "lightmap_pars_fragment" ],
+			THREE.ShaderChunk[ "envmap_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+			THREE.ShaderChunk[ "lights_phong_pars_fragment" ],
+			THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
+			THREE.ShaderChunk[ "bumpmap_pars_fragment" ],
+			THREE.ShaderChunk[ "normalmap_pars_fragment" ],
+			THREE.ShaderChunk[ "specularmap_pars_fragment" ],
+
+			"void main() {",
+
+				"gl_FragColor = vec4( vec3 ( 1.0 ), opacity );",
+
+				THREE.ShaderChunk[ "map_fragment" ],
+				THREE.ShaderChunk[ "alphatest_fragment" ],
+				THREE.ShaderChunk[ "specularmap_fragment" ],
+
+				THREE.ShaderChunk[ "lights_phong_fragment" ],
+
+				THREE.ShaderChunk[ "lightmap_fragment" ],
+				THREE.ShaderChunk[ "color_fragment" ],
+				THREE.ShaderChunk[ "envmap_fragment" ],
+				THREE.ShaderChunk[ "shadowmap_fragment" ],
+
+				THREE.ShaderChunk[ "linear_to_gamma_fragment" ],
+
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'particle_basic': {
+
+		uniforms:  THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "particle" ],
+			THREE.UniformsLib[ "shadowmap" ]
+
+		] ),
+
+		vertexShader: [
+
+			"uniform float size;",
+			"uniform float scale;",
+
+			THREE.ShaderChunk[ "color_pars_vertex" ],
+			THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "color_vertex" ],
+
+				"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+
+				"#ifdef USE_SIZEATTENUATION",
+					"gl_PointSize = size * ( scale / length( mvPosition.xyz ) );",
+				"#else",
+					"gl_PointSize = size;",
+				"#endif",
+
+				"gl_Position = projectionMatrix * mvPosition;",
+
+				THREE.ShaderChunk[ "worldpos_vertex" ],
+				THREE.ShaderChunk[ "shadowmap_vertex" ],
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform vec3 psColor;",
+			"uniform float opacity;",
+
+			THREE.ShaderChunk[ "color_pars_fragment" ],
+			THREE.ShaderChunk[ "map_particle_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+			THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
+
+			"void main() {",
+
+				"gl_FragColor = vec4( psColor, opacity );",
+
+				THREE.ShaderChunk[ "map_particle_fragment" ],
+				THREE.ShaderChunk[ "alphatest_fragment" ],
+				THREE.ShaderChunk[ "color_fragment" ],
+				THREE.ShaderChunk[ "shadowmap_fragment" ],
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'dashed': {
+
+		uniforms: THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "common" ],
+			THREE.UniformsLib[ "fog" ],
+
+			{
+				"scale":     { type: "f", value: 1 },
+				"dashSize":  { type: "f", value: 1 },
+				"totalSize": { type: "f", value: 2 }
+			}
+
+		] ),
+
+		vertexShader: [
+
+			"uniform float scale;",
+			"attribute float lineDistance;",
+
+			"varying float vLineDistance;",
+
+			THREE.ShaderChunk[ "color_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "color_vertex" ],
+
+				"vLineDistance = scale * lineDistance;",
+
+				"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+				"gl_Position = projectionMatrix * mvPosition;",
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform vec3 diffuse;",
+			"uniform float opacity;",
+
+			"uniform float dashSize;",
+			"uniform float totalSize;",
+
+			"varying float vLineDistance;",
+
+			THREE.ShaderChunk[ "color_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+
+			"void main() {",
+
+				"if ( mod( vLineDistance, totalSize ) > dashSize ) {",
+
+					"discard;",
+
+				"}",
+
+				"gl_FragColor = vec4( diffuse, opacity );",
+
+				THREE.ShaderChunk[ "color_fragment" ],
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'depth': {
+
+		uniforms: {
+
+			"mNear": { type: "f", value: 1.0 },
+			"mFar" : { type: "f", value: 2000.0 },
+			"opacity" : { type: "f", value: 1.0 }
+
+		},
+
+		vertexShader: [
+
+			"void main() {",
+
+				"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform float mNear;",
+			"uniform float mFar;",
+			"uniform float opacity;",
+
+			"void main() {",
+
+				"float depth = gl_FragCoord.z / gl_FragCoord.w;",
+				"float color = 1.0 - smoothstep( mNear, mFar, depth );",
+				"gl_FragColor = vec4( vec3( color ), opacity );",
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	'normal': {
+
+		uniforms: {
+
+			"opacity" : { type: "f", value: 1.0 }
+
+		},
+
+		vertexShader: [
+
+			"varying vec3 vNormal;",
+
+			"void main() {",
+
+				"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+				"vNormal = normalize( normalMatrix * normal );",
+
+				"gl_Position = projectionMatrix * mvPosition;",
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform float opacity;",
+			"varying vec3 vNormal;",
+
+			"void main() {",
+
+				"gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );",
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	/* -------------------------------------------------------------------------
+	//	Normal map shader
+	//		- Blinn-Phong
+	//		- normal + diffuse + specular + AO + displacement + reflection + shadow maps
+	//		- point and directional lights (use with "lights: true" material option)
+	 ------------------------------------------------------------------------- */
+
+	'normalmap' : {
+
+		uniforms: THREE.UniformsUtils.merge( [
+
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ],
+			THREE.UniformsLib[ "shadowmap" ],
+
+			{
+
+			"enableAO"		  : { type: "i", value: 0 },
+			"enableDiffuse"	  : { type: "i", value: 0 },
+			"enableSpecular"  : { type: "i", value: 0 },
+			"enableReflection": { type: "i", value: 0 },
+			"enableDisplacement": { type: "i", value: 0 },
+
+			"tDisplacement": { type: "t", value: null }, // must go first as this is vertex texture
+			"tDiffuse"	   : { type: "t", value: null },
+			"tCube"		   : { type: "t", value: null },
+			"tNormal"	   : { type: "t", value: null },
+			"tSpecular"	   : { type: "t", value: null },
+			"tAO"		   : { type: "t", value: null },
+
+			"uNormalScale": { type: "v2", value: new THREE.Vector2( 1, 1 ) },
+
+			"uDisplacementBias": { type: "f", value: 0.0 },
+			"uDisplacementScale": { type: "f", value: 1.0 },
+
+			"uDiffuseColor": { type: "c", value: new THREE.Color( 0xffffff ) },
+			"uSpecularColor": { type: "c", value: new THREE.Color( 0x111111 ) },
+			"uAmbientColor": { type: "c", value: new THREE.Color( 0xffffff ) },
+			"uShininess": { type: "f", value: 30 },
+			"uOpacity": { type: "f", value: 1 },
+
+			"useRefract": { type: "i", value: 0 },
+			"uRefractionRatio": { type: "f", value: 0.98 },
+			"uReflectivity": { type: "f", value: 0.5 },
+
+			"uOffset" : { type: "v2", value: new THREE.Vector2( 0, 0 ) },
+			"uRepeat" : { type: "v2", value: new THREE.Vector2( 1, 1 ) },
+
+			"wrapRGB"  : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) }
+
+			}
+
+		] ),
+
+		fragmentShader: [
+
+			"uniform vec3 uAmbientColor;",
+			"uniform vec3 uDiffuseColor;",
+			"uniform vec3 uSpecularColor;",
+			"uniform float uShininess;",
+			"uniform float uOpacity;",
+
+			"uniform bool enableDiffuse;",
+			"uniform bool enableSpecular;",
+			"uniform bool enableAO;",
+			"uniform bool enableReflection;",
+
+			"uniform sampler2D tDiffuse;",
+			"uniform sampler2D tNormal;",
+			"uniform sampler2D tSpecular;",
+			"uniform sampler2D tAO;",
+
+			"uniform samplerCube tCube;",
+
+			"uniform vec2 uNormalScale;",
+
+			"uniform bool useRefract;",
+			"uniform float uRefractionRatio;",
+			"uniform float uReflectivity;",
+
+			"varying vec3 vTangent;",
+			"varying vec3 vBinormal;",
+			"varying vec3 vNormal;",
+			"varying vec2 vUv;",
+
+			"uniform vec3 ambientLightColor;",
+
+			"#if MAX_DIR_LIGHTS > 0",
+
+				"uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];",
+				"uniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];",
+
+			"#endif",
+
+			"#if MAX_HEMI_LIGHTS > 0",
+
+				"uniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];",
+				"uniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];",
+				"uniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];",
+
+			"#endif",
+
+			"#if MAX_POINT_LIGHTS > 0",
+
+				"uniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];",
+				"uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];",
+				"uniform float pointLightDistance[ MAX_POINT_LIGHTS ];",
+
+			"#endif",
+
+			"#if MAX_SPOT_LIGHTS > 0",
+
+				"uniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];",
+				"uniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];",
+				"uniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];",
+				"uniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];",
+				"uniform float spotLightExponent[ MAX_SPOT_LIGHTS ];",
+				"uniform float spotLightDistance[ MAX_SPOT_LIGHTS ];",
+
+			"#endif",
+
+			"#ifdef WRAP_AROUND",
+
+				"uniform vec3 wrapRGB;",
+
+			"#endif",
+
+			"varying vec3 vWorldPosition;",
+			"varying vec3 vViewPosition;",
+
+			THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
+			THREE.ShaderChunk[ "fog_pars_fragment" ],
+
+			"void main() {",
+
+				"gl_FragColor = vec4( vec3( 1.0 ), uOpacity );",
+
+				"vec3 specularTex = vec3( 1.0 );",
+
+				"vec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;",
+				"normalTex.xy *= uNormalScale;",
+				"normalTex = normalize( normalTex );",
+
+				"if( enableDiffuse ) {",
+
+					"#ifdef GAMMA_INPUT",
+
+						"vec4 texelColor = texture2D( tDiffuse, vUv );",
+						"texelColor.xyz *= texelColor.xyz;",
+
+						"gl_FragColor = gl_FragColor * texelColor;",
+
+					"#else",
+
+						"gl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );",
+
+					"#endif",
+
+				"}",
+
+				"if( enableAO ) {",
+
+					"#ifdef GAMMA_INPUT",
+
+						"vec4 aoColor = texture2D( tAO, vUv );",
+						"aoColor.xyz *= aoColor.xyz;",
+
+						"gl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;",
+
+					"#else",
+
+						"gl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;",
+
+					"#endif",
+
+				"}",
+
+				"if( enableSpecular )",
+					"specularTex = texture2D( tSpecular, vUv ).xyz;",
+
+				"mat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );",
+				"vec3 finalNormal = tsb * normalTex;",
+
+				"#ifdef FLIP_SIDED",
+
+					"finalNormal = -finalNormal;",
+
+				"#endif",
+
+				"vec3 normal = normalize( finalNormal );",
+				"vec3 viewPosition = normalize( vViewPosition );",
+
+				// point lights
+
+				"#if MAX_POINT_LIGHTS > 0",
+
+					"vec3 pointDiffuse = vec3( 0.0 );",
+					"vec3 pointSpecular = vec3( 0.0 );",
+
+					"for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {",
+
+						"vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );",
+						"vec3 pointVector = lPosition.xyz + vViewPosition.xyz;",
+
+						"float pointDistance = 1.0;",
+						"if ( pointLightDistance[ i ] > 0.0 )",
+							"pointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );",
+
+						"pointVector = normalize( pointVector );",
+
+						// diffuse
+
+						"#ifdef WRAP_AROUND",
+
+							"float pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );",
+							"float pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );",
+
+							"vec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );",
+
+						"#else",
+
+							"float pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );",
+
+						"#endif",
+
+						"pointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;",
+
+						// specular
+
+						"vec3 pointHalfVector = normalize( pointVector + viewPosition );",
+						"float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );",
+						"float pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );",
+
+						"#ifdef PHYSICALLY_BASED_SHADING",
+
+							// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+							"float specularNormalization = ( uShininess + 2.0001 ) / 8.0;",
+
+							"vec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );",
+							"pointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;",
+
+						"#else",
+
+							"pointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;",
+
+						"#endif",
+
+					"}",
+
+				"#endif",
+
+				// spot lights
+
+				"#if MAX_SPOT_LIGHTS > 0",
+
+					"vec3 spotDiffuse = vec3( 0.0 );",
+					"vec3 spotSpecular = vec3( 0.0 );",
+
+					"for ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {",
+
+						"vec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );",
+						"vec3 spotVector = lPosition.xyz + vViewPosition.xyz;",
+
+						"float spotDistance = 1.0;",
+						"if ( spotLightDistance[ i ] > 0.0 )",
+							"spotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );",
+
+						"spotVector = normalize( spotVector );",
+
+						"float spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );",
+
+						"if ( spotEffect > spotLightAngleCos[ i ] ) {",
+
+							"spotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );",
+
+							// diffuse
+
+							"#ifdef WRAP_AROUND",
+
+								"float spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );",
+								"float spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );",
+
+								"vec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );",
+
+							"#else",
+
+								"float spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );",
+
+							"#endif",
+
+							"spotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;",
+
+							// specular
+
+							"vec3 spotHalfVector = normalize( spotVector + viewPosition );",
+							"float spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );",
+							"float spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );",
+
+							"#ifdef PHYSICALLY_BASED_SHADING",
+
+								// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+								"float specularNormalization = ( uShininess + 2.0001 ) / 8.0;",
+
+								"vec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );",
+								"spotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;",
+
+							"#else",
+
+								"spotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;",
+
+							"#endif",
+
+						"}",
+
+					"}",
+
+				"#endif",
+
+				// directional lights
+
+				"#if MAX_DIR_LIGHTS > 0",
+
+					"vec3 dirDiffuse = vec3( 0.0 );",
+					"vec3 dirSpecular = vec3( 0.0 );",
+
+					"for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
+
+						"vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );",
+						"vec3 dirVector = normalize( lDirection.xyz );",
+
+						// diffuse
+
+						"#ifdef WRAP_AROUND",
+
+							"float directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );",
+							"float directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );",
+
+							"vec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );",
+
+						"#else",
+
+							"float dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );",
+
+						"#endif",
+
+						"dirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;",
+
+						// specular
+
+						"vec3 dirHalfVector = normalize( dirVector + viewPosition );",
+						"float dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );",
+						"float dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );",
+
+						"#ifdef PHYSICALLY_BASED_SHADING",
+
+							// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+							"float specularNormalization = ( uShininess + 2.0001 ) / 8.0;",
+
+							"vec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );",
+							"dirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;",
+
+						"#else",
+
+							"dirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;",
+
+						"#endif",
+
+					"}",
+
+				"#endif",
+
+				// hemisphere lights
+
+				"#if MAX_HEMI_LIGHTS > 0",
+
+					"vec3 hemiDiffuse  = vec3( 0.0 );",
+					"vec3 hemiSpecular = vec3( 0.0 );" ,
+
+					"for( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
+
+						"vec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );",
+						"vec3 lVector = normalize( lDirection.xyz );",
+
+						// diffuse
+
+						"float dotProduct = dot( normal, lVector );",
+						"float hemiDiffuseWeight = 0.5 * dotProduct + 0.5;",
+
+						"vec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );",
+
+						"hemiDiffuse += uDiffuseColor * hemiColor;",
+
+						// specular (sky light)
+
+
+						"vec3 hemiHalfVectorSky = normalize( lVector + viewPosition );",
+						"float hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;",
+						"float hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, uShininess ), 0.0 );",
+
+						// specular (ground light)
+
+						"vec3 lVectorGround = -lVector;",
+
+						"vec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );",
+						"float hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;",
+						"float hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, uShininess ), 0.0 );",
+
+						"#ifdef PHYSICALLY_BASED_SHADING",
+
+							"float dotProductGround = dot( normal, lVectorGround );",
+
+							// 2.0 => 2.0001 is hack to work around ANGLE bug
+
+							"float specularNormalization = ( uShininess + 2.0001 ) / 8.0;",
+
+							"vec3 schlickSky = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );",
+							"vec3 schlickGround = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );",
+							"hemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );",
+
+						"#else",
+
+							"hemiSpecular += uSpecularColor * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;",
+
+						"#endif",
+
+					"}",
+
+				"#endif",
+
+				// all lights contribution summation
+
+				"vec3 totalDiffuse = vec3( 0.0 );",
+				"vec3 totalSpecular = vec3( 0.0 );",
+
+				"#if MAX_DIR_LIGHTS > 0",
+
+					"totalDiffuse += dirDiffuse;",
+					"totalSpecular += dirSpecular;",
+
+				"#endif",
+
+				"#if MAX_HEMI_LIGHTS > 0",
+
+					"totalDiffuse += hemiDiffuse;",
+					"totalSpecular += hemiSpecular;",
+
+				"#endif",
+
+				"#if MAX_POINT_LIGHTS > 0",
+
+					"totalDiffuse += pointDiffuse;",
+					"totalSpecular += pointSpecular;",
+
+				"#endif",
+
+				"#if MAX_SPOT_LIGHTS > 0",
+
+					"totalDiffuse += spotDiffuse;",
+					"totalSpecular += spotSpecular;",
+
+				"#endif",
+
+				"#ifdef METAL",
+
+					"gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor + totalSpecular );",
+
+				"#else",
+
+					"gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor ) + totalSpecular;",
+
+				"#endif",
+
+				"if ( enableReflection ) {",
+
+					"vec3 vReflect;",
+					"vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );",
+
+					"if ( useRefract ) {",
+
+						"vReflect = refract( cameraToVertex, normal, uRefractionRatio );",
+
+					"} else {",
+
+						"vReflect = reflect( cameraToVertex, normal );",
+
+					"}",
+
+					"vec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );",
+
+					"#ifdef GAMMA_INPUT",
+
+						"cubeColor.xyz *= cubeColor.xyz;",
+
+					"#endif",
+
+					"gl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );",
+
+				"}",
+
+				THREE.ShaderChunk[ "shadowmap_fragment" ],
+				THREE.ShaderChunk[ "linear_to_gamma_fragment" ],
+				THREE.ShaderChunk[ "fog_fragment" ],
+
+			"}"
+
+		].join("\n"),
+
+		vertexShader: [
+
+			"attribute vec4 tangent;",
+
+			"uniform vec2 uOffset;",
+			"uniform vec2 uRepeat;",
+
+			"uniform bool enableDisplacement;",
+
+			"#ifdef VERTEX_TEXTURES",
+
+				"uniform sampler2D tDisplacement;",
+				"uniform float uDisplacementScale;",
+				"uniform float uDisplacementBias;",
+
+			"#endif",
+
+			"varying vec3 vTangent;",
+			"varying vec3 vBinormal;",
+			"varying vec3 vNormal;",
+			"varying vec2 vUv;",
+
+			"varying vec3 vWorldPosition;",
+			"varying vec3 vViewPosition;",
+
+			THREE.ShaderChunk[ "skinning_pars_vertex" ],
+			THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "skinbase_vertex" ],
+				THREE.ShaderChunk[ "skinnormal_vertex" ],
+
+				// normal, tangent and binormal vectors
+
+				"#ifdef USE_SKINNING",
+
+					"vNormal = normalize( normalMatrix * skinnedNormal.xyz );",
+
+					"vec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );",
+					"vTangent = normalize( normalMatrix * skinnedTangent.xyz );",
+
+				"#else",
+
+					"vNormal = normalize( normalMatrix * normal );",
+					"vTangent = normalize( normalMatrix * tangent.xyz );",
+
+				"#endif",
+
+				"vBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );",
+
+				"vUv = uv * uRepeat + uOffset;",
+
+				// displacement mapping
+
+				"vec3 displacedPosition;",
+
+				"#ifdef VERTEX_TEXTURES",
+
+					"if ( enableDisplacement ) {",
+
+						"vec3 dv = texture2D( tDisplacement, uv ).xyz;",
+						"float df = uDisplacementScale * dv.x + uDisplacementBias;",
+						"displacedPosition = position + normalize( normal ) * df;",
+
+					"} else {",
+
+						"#ifdef USE_SKINNING",
+
+							"vec4 skinVertex = vec4( position, 1.0 );",
+
+							"vec4 skinned  = boneMatX * skinVertex * skinWeight.x;",
+							"skinned 	  += boneMatY * skinVertex * skinWeight.y;",
+
+							"displacedPosition  = skinned.xyz;",
+
+						"#else",
+
+							"displacedPosition = position;",
+
+						"#endif",
+
+					"}",
+
+				"#else",
+
+					"#ifdef USE_SKINNING",
+
+						"vec4 skinVertex = vec4( position, 1.0 );",
+
+						"vec4 skinned  = boneMatX * skinVertex * skinWeight.x;",
+						"skinned 	  += boneMatY * skinVertex * skinWeight.y;",
+
+						"displacedPosition  = skinned.xyz;",
+
+					"#else",
+
+						"displacedPosition = position;",
+
+					"#endif",
+
+				"#endif",
+
+				//
+
+				"vec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );",
+				"vec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );",
+
+				"gl_Position = projectionMatrix * mvPosition;",
+
+				//
+
+				"vWorldPosition = worldPosition.xyz;",
+				"vViewPosition = -mvPosition.xyz;",
+
+				// shadows
+
+				"#ifdef USE_SHADOWMAP",
+
+					"for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
+
+						"vShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;",
+
+					"}",
+
+				"#endif",
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	/* -------------------------------------------------------------------------
+	//	Cube map shader
+	 ------------------------------------------------------------------------- */
+
+	'cube': {
+
+		uniforms: { "tCube": { type: "t", value: null },
+					"tFlip": { type: "f", value: -1 } },
+
+		vertexShader: [
+
+			"varying vec3 vWorldPosition;",
+
+			"void main() {",
+
+				"vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
+				"vWorldPosition = worldPosition.xyz;",
+
+				"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"uniform samplerCube tCube;",
+			"uniform float tFlip;",
+
+			"varying vec3 vWorldPosition;",
+
+			"void main() {",
+
+				"gl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",
+
+			"}"
+
+		].join("\n")
+
+	},
+
+	// Depth encoding into RGBA texture
+	// 	based on SpiderGL shadow map example
+	// 		http://spidergl.org/example.php?id=6
+	// 	originally from
+	//		http://www.gamedev.net/topic/442138-packing-a-float-into-a-a8r8g8b8-texture-shader/page__whichpage__1%25EF%25BF%25BD
+	// 	see also here:
+	//		http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/
+
+	'depthRGBA': {
+
+		uniforms: {},
+
+		vertexShader: [
+
+			THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
+			THREE.ShaderChunk[ "skinning_pars_vertex" ],
+
+			"void main() {",
+
+				THREE.ShaderChunk[ "skinbase_vertex" ],
+				THREE.ShaderChunk[ "morphtarget_vertex" ],
+				THREE.ShaderChunk[ "skinning_vertex" ],
+				THREE.ShaderChunk[ "default_vertex" ],
+
+			"}"
+
+		].join("\n"),
+
+		fragmentShader: [
+
+			"vec4 pack_depth( const in float depth ) {",
+
+				"const vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );",
+				"const vec4 bit_mask  = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );",
+				"vec4 res = fract( depth * bit_shift );",
+				"res -= res.xxyz * bit_mask;",
+				"return res;",
+
+			"}",
+
+			"void main() {",
+
+				"gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );",
+
+				//"gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z / gl_FragCoord.w );",
+				//"float z = ( ( gl_FragCoord.z / gl_FragCoord.w ) - 3.0 ) / ( 4000.0 - 3.0 );",
+				//"gl_FragData[ 0 ] = pack_depth( z );",
+				//"gl_FragData[ 0 ] = vec4( z, z, z, 1.0 );",
+
+			"}"
+
+		].join("\n")
+
+	}
+
+};
+/**
+ * @author supereggbert / http://www.paulbrunt.co.uk/
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ * @author szimek / https://github.com/szimek/
+ */
+
+THREE.WebGLRenderer = function ( parameters ) {
+
+	console.log( 'THREE.WebGLRenderer', THREE.REVISION );
+
+	parameters = parameters || {};
+
+	var _canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElement( 'canvas' ),
+
+	_precision = parameters.precision !== undefined ? parameters.precision : 'highp',
+
+	_alpha = parameters.alpha !== undefined ? parameters.alpha : true,
+	_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
+	_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
+	_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
+	_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
+
+	_clearColor = parameters.clearColor !== undefined ? new THREE.Color( parameters.clearColor ) : new THREE.Color( 0x000000 ),
+	_clearAlpha = parameters.clearAlpha !== undefined ? parameters.clearAlpha : 0;
+
+	// public properties
+
+	this.domElement = _canvas;
+	this.context = null;
+	this.devicePixelRatio = parameters.devicePixelRatio !== undefined
+				? parameters.devicePixelRatio
+				: window.devicePixelRatio !== undefined
+					? window.devicePixelRatio
+					: 1;
+
+	// clearing
+
+	this.autoClear = true;
+	this.autoClearColor = true;
+	this.autoClearDepth = true;
+	this.autoClearStencil = true;
+
+	// scene graph
+
+	this.sortObjects = true;
+
+	this.autoUpdateObjects = true;
+	this.autoUpdateScene = true;
+
+	// physically based shading
+
+	this.gammaInput = false;
+	this.gammaOutput = false;
+	this.physicallyBasedShading = false;
+
+	// shadow map
+
+	this.shadowMapEnabled = false;
+	this.shadowMapAutoUpdate = true;
+	this.shadowMapType = THREE.PCFShadowMap;
+	this.shadowMapCullFace = THREE.CullFaceFront;
+	this.shadowMapDebug = false;
+	this.shadowMapCascade = false;
+
+	// morphs
+
+	this.maxMorphTargets = 8;
+	this.maxMorphNormals = 4;
+
+	// flags
+
+	this.autoScaleCubemaps = true;
+
+	// custom render plugins
+
+	this.renderPluginsPre = [];
+	this.renderPluginsPost = [];
+
+	// info
+
+	this.info = {
+
+		memory: {
+
+			programs: 0,
+			geometries: 0,
+			textures: 0
+
+		},
+
+		render: {
+
+			calls: 0,
+			vertices: 0,
+			faces: 0,
+			points: 0
+
+		}
+
+	};
+
+	// internal properties
+
+	var _this = this,
+
+	_programs = [],
+	_programs_counter = 0,
+
+	// internal state cache
+
+	_currentProgram = null,
+	_currentFramebuffer = null,
+	_currentMaterialId = -1,
+	_currentGeometryGroupHash = null,
+	_currentCamera = null,
+	_geometryGroupCounter = 0,
+
+	_usedTextureUnits = 0,
+
+	// GL state cache
+
+	_oldDoubleSided = -1,
+	_oldFlipSided = -1,
+
+	_oldBlending = -1,
+
+	_oldBlendEquation = -1,
+	_oldBlendSrc = -1,
+	_oldBlendDst = -1,
+
+	_oldDepthTest = -1,
+	_oldDepthWrite = -1,
+
+	_oldPolygonOffset = null,
+	_oldPolygonOffsetFactor = null,
+	_oldPolygonOffsetUnits = null,
+
+	_oldLineWidth = null,
+
+	_viewportX = 0,
+	_viewportY = 0,
+	_viewportWidth = 0,
+	_viewportHeight = 0,
+	_currentWidth = 0,
+	_currentHeight = 0,
+
+	_enabledAttributes = {},
+
+	// frustum
+
+	_frustum = new THREE.Frustum(),
+
+	 // camera matrices cache
+
+	_projScreenMatrix = new THREE.Matrix4(),
+	_projScreenMatrixPS = new THREE.Matrix4(),
+
+	_vector3 = new THREE.Vector3(),
+
+	// light arrays cache
+
+	_direction = new THREE.Vector3(),
+
+	_lightsNeedUpdate = true,
+
+	_lights = {
+
+		ambient: [ 0, 0, 0 ],
+		directional: { length: 0, colors: new Array(), positions: new Array() },
+		point: { length: 0, colors: new Array(), positions: new Array(), distances: new Array() },
+		spot: { length: 0, colors: new Array(), positions: new Array(), distances: new Array(), directions: new Array(), anglesCos: new Array(), exponents: new Array() },
+		hemi: { length: 0, skyColors: new Array(), groundColors: new Array(), positions: new Array() }
+
+	};
+
+	// initialize
+
+	var _gl;
+
+	var _glExtensionTextureFloat;
+	var _glExtensionStandardDerivatives;
+	var _glExtensionTextureFilterAnisotropic;
+	var _glExtensionCompressedTextureS3TC;
+
+	initGL();
+
+	setDefaultGLState();
+
+	this.context = _gl;
+
+	// GPU capabilities
+
+	var _maxTextures = _gl.getParameter( _gl.MAX_TEXTURE_IMAGE_UNITS );
+	var _maxVertexTextures = _gl.getParameter( _gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS );
+	var _maxTextureSize = _gl.getParameter( _gl.MAX_TEXTURE_SIZE );
+	var _maxCubemapSize = _gl.getParameter( _gl.MAX_CUBE_MAP_TEXTURE_SIZE );
+
+	var _maxAnisotropy = _glExtensionTextureFilterAnisotropic ? _gl.getParameter( _glExtensionTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT ) : 0;
+
+	var _supportsVertexTextures = ( _maxVertexTextures > 0 );
+	var _supportsBoneTextures = _supportsVertexTextures && _glExtensionTextureFloat;
+
+	var _compressedTextureFormats = _glExtensionCompressedTextureS3TC ? _gl.getParameter( _gl.COMPRESSED_TEXTURE_FORMATS ) : [];
+
+	//
+
+	var _vertexShaderPrecisionHighpFloat = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.HIGH_FLOAT );
+	var _vertexShaderPrecisionMediumpFloat = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.MEDIUM_FLOAT );
+	var _vertexShaderPrecisionLowpFloat = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.LOW_FLOAT );
+
+	var _fragmentShaderPrecisionHighpFloat = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.HIGH_FLOAT );
+	var _fragmentShaderPrecisionMediumpFloat = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.MEDIUM_FLOAT );
+	var _fragmentShaderPrecisionLowpFloat = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.LOW_FLOAT );
+
+	var _vertexShaderPrecisionHighpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.HIGH_INT );
+	var _vertexShaderPrecisionMediumpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.MEDIUM_INT );
+	var _vertexShaderPrecisionLowpInt = _gl.getShaderPrecisionFormat( _gl.VERTEX_SHADER, _gl.LOW_INT );
+
+	var _fragmentShaderPrecisionHighpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.HIGH_INT );
+	var _fragmentShaderPrecisionMediumpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.MEDIUM_INT );
+	var _fragmentShaderPrecisionLowpInt = _gl.getShaderPrecisionFormat( _gl.FRAGMENT_SHADER, _gl.LOW_INT );
+
+	// clamp precision to maximum available
+
+	var highpAvailable = _vertexShaderPrecisionHighpFloat.precision > 0 && _fragmentShaderPrecisionHighpFloat.precision > 0;
+	var mediumpAvailable = _vertexShaderPrecisionMediumpFloat.precision > 0 && _fragmentShaderPrecisionMediumpFloat.precision > 0;
+
+	if ( _precision === "highp" && ! highpAvailable ) {
+
+		if ( mediumpAvailable ) {
+
+			_precision = "mediump";
+			console.warn( "WebGLRenderer: highp not supported, using mediump" );
+
+		} else {
+
+			_precision = "lowp";
+			console.warn( "WebGLRenderer: highp and mediump not supported, using lowp" );
+
+		}
+
+	}
+
+	if ( _precision === "mediump" && ! mediumpAvailable ) {
+
+		_precision = "lowp";
+		console.warn( "WebGLRenderer: mediump not supported, using lowp" );
+
+	}
+
+	// API
+
+	this.getContext = function () {
+
+		return _gl;
+
+	};
+
+	this.supportsVertexTextures = function () {
+
+		return _supportsVertexTextures;
+
+	};
+
+	this.supportsFloatTextures = function () {
+
+		return _glExtensionTextureFloat;
+
+	};
+	
+	this.supportsStandardDerivatives = function () {
+
+		return _glExtensionStandardDerivatives;
+
+	};
+	
+	this.supportsCompressedTextureS3TC = function () {
+
+		return _glExtensionCompressedTextureS3TC;
+
+	};
+	
+	this.getMaxAnisotropy  = function () {
+
+		return _maxAnisotropy;
+
+	};
+
+	this.getPrecision = function () {
+
+		return _precision;
+
+	};
+
+	this.setSize = function ( width, height ) {
+
+		_canvas.width = width * this.devicePixelRatio;
+		_canvas.height = height * this.devicePixelRatio;
+
+		_canvas.style.width = width + 'px';
+		_canvas.style.height = height + 'px';
+
+		this.setViewport( 0, 0, _canvas.width, _canvas.height );
+
+	};
+
+	this.setViewport = function ( x, y, width, height ) {
+
+		_viewportX = x !== undefined ? x : 0;
+		_viewportY = y !== undefined ? y : 0;
+
+		_viewportWidth = width !== undefined ? width : _canvas.width;
+		_viewportHeight = height !== undefined ? height : _canvas.height;
+
+		_gl.viewport( _viewportX, _viewportY, _viewportWidth, _viewportHeight );
+
+	};
+
+	this.setScissor = function ( x, y, width, height ) {
+
+		_gl.scissor( x, y, width, height );
+
+	};
+
+	this.enableScissorTest = function ( enable ) {
+
+		enable ? _gl.enable( _gl.SCISSOR_TEST ) : _gl.disable( _gl.SCISSOR_TEST );
+
+	};
+
+	// Clearing
+
+	this.setClearColorHex = function ( hex, alpha ) {
+
+		_clearColor.setHex( hex );
+		_clearAlpha = alpha;
+
+		_gl.clearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha );
+
+	};
+
+	this.setClearColor = function ( color, alpha ) {
+
+		_clearColor.copy( color );
+		_clearAlpha = alpha;
+
+		_gl.clearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha );
+
+	};
+
+	this.getClearColor = function () {
+
+		return _clearColor;
+
+	};
+
+	this.getClearAlpha = function () {
+
+		return _clearAlpha;
+
+	};
+
+	this.clear = function ( color, depth, stencil ) {
+
+		var bits = 0;
+
+		if ( color === undefined || color ) bits |= _gl.COLOR_BUFFER_BIT;
+		if ( depth === undefined || depth ) bits |= _gl.DEPTH_BUFFER_BIT;
+		if ( stencil === undefined || stencil ) bits |= _gl.STENCIL_BUFFER_BIT;
+
+		_gl.clear( bits );
+
+	};
+
+	this.clearTarget = function ( renderTarget, color, depth, stencil ) {
+
+		this.setRenderTarget( renderTarget );
+		this.clear( color, depth, stencil );
+
+	};
+
+	// Plugins
+
+	this.addPostPlugin = function ( plugin ) {
+
+		plugin.init( this );
+		this.renderPluginsPost.push( plugin );
+
+	};
+
+	this.addPrePlugin = function ( plugin ) {
+
+		plugin.init( this );
+		this.renderPluginsPre.push( plugin );
+
+	};
+
+	// Rendering
+
+	this.updateShadowMap = function ( scene, camera ) {
+
+		_currentProgram = null;
+		_oldBlending = -1;
+		_oldDepthTest = -1;
+		_oldDepthWrite = -1;
+		_currentGeometryGroupHash = -1;
+		_currentMaterialId = -1;
+		_lightsNeedUpdate = true;
+		_oldDoubleSided = -1;
+		_oldFlipSided = -1;
+
+		this.shadowMapPlugin.update( scene, camera );
+
+	};
+
+	// Internal functions
+
+	// Buffer allocation
+
+	function createParticleBuffers ( geometry ) {
+
+		geometry.__webglVertexBuffer = _gl.createBuffer();
+		geometry.__webglColorBuffer = _gl.createBuffer();
+
+		_this.info.memory.geometries ++;
+
+	};
+
+	function createLineBuffers ( geometry ) {
+
+		geometry.__webglVertexBuffer = _gl.createBuffer();
+		geometry.__webglColorBuffer = _gl.createBuffer();
+		geometry.__webglLineDistanceBuffer = _gl.createBuffer();
+
+		_this.info.memory.geometries ++;
+
+	};
+
+	function createRibbonBuffers ( geometry ) {
+
+		geometry.__webglVertexBuffer = _gl.createBuffer();
+		geometry.__webglColorBuffer = _gl.createBuffer();
+		geometry.__webglNormalBuffer = _gl.createBuffer();
+
+		_this.info.memory.geometries ++;
+
+	};
+
+	function createMeshBuffers ( geometryGroup ) {
+
+		geometryGroup.__webglVertexBuffer = _gl.createBuffer();
+		geometryGroup.__webglNormalBuffer = _gl.createBuffer();
+		geometryGroup.__webglTangentBuffer = _gl.createBuffer();
+		geometryGroup.__webglColorBuffer = _gl.createBuffer();
+		geometryGroup.__webglUVBuffer = _gl.createBuffer();
+		geometryGroup.__webglUV2Buffer = _gl.createBuffer();
+
+		geometryGroup.__webglSkinIndicesBuffer = _gl.createBuffer();
+		geometryGroup.__webglSkinWeightsBuffer = _gl.createBuffer();
+
+		geometryGroup.__webglFaceBuffer = _gl.createBuffer();
+		geometryGroup.__webglLineBuffer = _gl.createBuffer();
+
+		var m, ml;
+
+		if ( geometryGroup.numMorphTargets ) {
+
+			geometryGroup.__webglMorphTargetsBuffers = [];
+
+			for ( m = 0, ml = geometryGroup.numMorphTargets; m < ml; m ++ ) {
+
+				geometryGroup.__webglMorphTargetsBuffers.push( _gl.createBuffer() );
+
+			}
+
+		}
+
+		if ( geometryGroup.numMorphNormals ) {
+
+			geometryGroup.__webglMorphNormalsBuffers = [];
+
+			for ( m = 0, ml = geometryGroup.numMorphNormals; m < ml; m ++ ) {
+
+				geometryGroup.__webglMorphNormalsBuffers.push( _gl.createBuffer() );
+
+			}
+
+		}
+
+		_this.info.memory.geometries ++;
+
+	};
+
+	// Events
+
+	var onGeometryDispose = function ( event ) {
+
+		var geometry = event.target;
+
+		geometry.removeEventListener( 'dispose', onGeometryDispose );
+
+		deallocateGeometry( geometry );
+
+		_this.info.memory.geometries --;
+
+	};
+
+	var onTextureDispose = function ( event ) {
+
+		var texture = event.target;
+
+		texture.removeEventListener( 'dispose', onTextureDispose );
+
+		deallocateTexture( texture );
+
+		_this.info.memory.textures --;
+
+
+	};
+
+	var onRenderTargetDispose = function ( event ) {
+
+		var renderTarget = event.target;
+
+		renderTarget.removeEventListener( 'dispose', onRenderTargetDispose );
+
+		deallocateRenderTarget( renderTarget );
+
+		_this.info.memory.textures --;
+
+	};
+
+	var onMaterialDispose = function ( event ) {
+
+		var material = event.target;
+
+		material.removeEventListener( 'dispose', onMaterialDispose );
+
+		deallocateMaterial( material );
+
+	};
+
+	// Buffer deallocation
+
+	var deallocateGeometry = function ( geometry ) {
+
+		geometry.__webglInit = undefined;
+
+		if ( geometry.__webglVertexBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglVertexBuffer );
+		if ( geometry.__webglNormalBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglNormalBuffer );
+		if ( geometry.__webglTangentBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglTangentBuffer );
+		if ( geometry.__webglColorBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglColorBuffer );
+		if ( geometry.__webglUVBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglUVBuffer );
+		if ( geometry.__webglUV2Buffer !== undefined ) _gl.deleteBuffer( geometry.__webglUV2Buffer );
+
+		if ( geometry.__webglSkinIndicesBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglSkinIndicesBuffer );
+		if ( geometry.__webglSkinWeightsBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglSkinWeightsBuffer );
+
+		if ( geometry.__webglFaceBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglFaceBuffer );
+		if ( geometry.__webglLineBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineBuffer );
+
+		if ( geometry.__webglLineDistanceBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineDistanceBuffer );
+
+		// geometry groups
+
+		if ( geometry.geometryGroups !== undefined ) {
+
+			for ( var g in geometry.geometryGroups ) {
+
+				var geometryGroup = geometry.geometryGroups[ g ];
+
+				if ( geometryGroup.numMorphTargets !== undefined ) {
+
+					for ( var m = 0, ml = geometryGroup.numMorphTargets; m < ml; m ++ ) {
+
+						_gl.deleteBuffer( geometryGroup.__webglMorphTargetsBuffers[ m ] );
+
+					}
+
+				}
+
+				if ( geometryGroup.numMorphNormals !== undefined ) {
+
+					for ( var m = 0, ml = geometryGroup.numMorphNormals; m < ml; m ++ ) {
+
+						_gl.deleteBuffer( geometryGroup.__webglMorphNormalsBuffers[ m ] );
+
+					}
+
+				}
+
+				deleteCustomAttributesBuffers( geometryGroup );
+
+			}
+
+		}
+
+		deleteCustomAttributesBuffers( geometry );
+
+	};
+
+	var deallocateTexture = function ( texture ) {
+
+		if ( texture.image && texture.image.__webglTextureCube ) {
+
+			// cube texture
+
+			_gl.deleteTexture( texture.image.__webglTextureCube );
+
+		} else {
+
+			// 2D texture
+
+			if ( ! texture.__webglInit ) return;
+
+			texture.__webglInit = false;
+			_gl.deleteTexture( texture.__webglTexture );
+
+		}
+
+	};
+
+	var deallocateRenderTarget = function ( renderTarget ) {
+
+		if ( !renderTarget || ! renderTarget.__webglTexture ) return;
+
+		_gl.deleteTexture( renderTarget.__webglTexture );
+
+		if ( renderTarget instanceof THREE.WebGLRenderTargetCube ) {
+
+			for ( var i = 0; i < 6; i ++ ) {
+
+				_gl.deleteFramebuffer( renderTarget.__webglFramebuffer[ i ] );
+				_gl.deleteRenderbuffer( renderTarget.__webglRenderbuffer[ i ] );
+
+			}
+
+		} else {
+
+			_gl.deleteFramebuffer( renderTarget.__webglFramebuffer );
+			_gl.deleteRenderbuffer( renderTarget.__webglRenderbuffer );
+
+		}
+
+	};
+
+	var deallocateMaterial = function ( material ) {
+
+		var program = material.program;
+
+		if ( program === undefined ) return;
+
+		material.program = undefined;
+
+		// only deallocate GL program if this was the last use of shared program
+		// assumed there is only single copy of any program in the _programs list
+		// (that's how it's constructed)
+
+		var i, il, programInfo;
+		var deleteProgram = false;
+
+		for ( i = 0, il = _programs.length; i < il; i ++ ) {
+
+			programInfo = _programs[ i ];
+
+			if ( programInfo.program === program ) {
+
+				programInfo.usedTimes --;
+
+				if ( programInfo.usedTimes === 0 ) {
+
+					deleteProgram = true;
+
+				}
+
+				break;
+
+			}
+
+		}
+
+		if ( deleteProgram === true ) {
+
+			// avoid using array.splice, this is costlier than creating new array from scratch
+
+			var newPrograms = [];
+
+			for ( i = 0, il = _programs.length; i < il; i ++ ) {
+
+				programInfo = _programs[ i ];
+
+				if ( programInfo.program !== program ) {
+
+					newPrograms.push( programInfo );
+
+				}
+
+			}
+
+			_programs = newPrograms;
+
+			_gl.deleteProgram( program );
+
+			_this.info.memory.programs --;
+
+		}
+
+	};
+
+	//
+
+	/*
+	function deleteParticleBuffers ( geometry ) {
+
+		_gl.deleteBuffer( geometry.__webglVertexBuffer );
+		_gl.deleteBuffer( geometry.__webglColorBuffer );
+
+		deleteCustomAttributesBuffers( geometry );
+
+		_this.info.memory.geometries --;
+
+	};
+
+	function deleteLineBuffers ( geometry ) {
+
+		_gl.deleteBuffer( geometry.__webglVertexBuffer );
+		_gl.deleteBuffer( geometry.__webglColorBuffer );
+		_gl.deleteBuffer( geometry.__webglLineDistanceBuffer );
+
+		deleteCustomAttributesBuffers( geometry );
+
+		_this.info.memory.geometries --;
+
+	};
+
+	function deleteRibbonBuffers ( geometry ) {
+
+		_gl.deleteBuffer( geometry.__webglVertexBuffer );
+		_gl.deleteBuffer( geometry.__webglColorBuffer );
+		_gl.deleteBuffer( geometry.__webglNormalBuffer );
+
+		deleteCustomAttributesBuffers( geometry );
+
+		_this.info.memory.geometries --;
+
+	};
+
+	function deleteMeshBuffers ( geometryGroup ) {
+
+		_gl.deleteBuffer( geometryGroup.__webglVertexBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglNormalBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglTangentBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglColorBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglUVBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglUV2Buffer );
+
+		_gl.deleteBuffer( geometryGroup.__webglSkinIndicesBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglSkinWeightsBuffer );
+
+		_gl.deleteBuffer( geometryGroup.__webglFaceBuffer );
+		_gl.deleteBuffer( geometryGroup.__webglLineBuffer );
+
+		var m, ml;
+
+		if ( geometryGroup.numMorphTargets ) {
+
+			for ( m = 0, ml = geometryGroup.numMorphTargets; m < ml; m ++ ) {
+
+				_gl.deleteBuffer( geometryGroup.__webglMorphTargetsBuffers[ m ] );
+
+			}
+
+		}
+
+		if ( geometryGroup.numMorphNormals ) {
+
+			for ( m = 0, ml = geometryGroup.numMorphNormals; m < ml; m ++ ) {
+
+				_gl.deleteBuffer( geometryGroup.__webglMorphNormalsBuffers[ m ] );
+
+			}
+
+		}
+
+		deleteCustomAttributesBuffers( geometryGroup );
+
+		_this.info.memory.geometries --;
+
+	};
+	*/
+
+	function deleteCustomAttributesBuffers( geometry ) {
+
+		if ( geometry.__webglCustomAttributesList ) {
+
+			for ( var id in geometry.__webglCustomAttributesList ) {
+
+				_gl.deleteBuffer( geometry.__webglCustomAttributesList[ id ].buffer );
+
+			}
+
+		}
+
+	};
+
+	// Buffer initialization
+
+	function initCustomAttributes ( geometry, object ) {
+
+		var nvertices = geometry.vertices.length;
+
+		var material = object.material;
+
+		if ( material.attributes ) {
+
+			if ( geometry.__webglCustomAttributesList === undefined ) {
+
+				geometry.__webglCustomAttributesList = [];
+
+			}
+
+			for ( var a in material.attributes ) {
+
+				var attribute = material.attributes[ a ];
+
+				if ( !attribute.__webglInitialized || attribute.createUniqueBuffers ) {
+
+					attribute.__webglInitialized = true;
+
+					var size = 1;		// "f" and "i"
+
+					if ( attribute.type === "v2" ) size = 2;
+					else if ( attribute.type === "v3" ) size = 3;
+					else if ( attribute.type === "v4" ) size = 4;
+					else if ( attribute.type === "c"  ) size = 3;
+
+					attribute.size = size;
+
+					attribute.array = new Float32Array( nvertices * size );
+
+					attribute.buffer = _gl.createBuffer();
+					attribute.buffer.belongsToAttribute = a;
+
+					attribute.needsUpdate = true;
+
+				}
+
+				geometry.__webglCustomAttributesList.push( attribute );
+
+			}
+
+		}
+
+	};
+
+	function initParticleBuffers ( geometry, object ) {
+
+		var nvertices = geometry.vertices.length;
+
+		geometry.__vertexArray = new Float32Array( nvertices * 3 );
+		geometry.__colorArray = new Float32Array( nvertices * 3 );
+
+		geometry.__sortArray = [];
+
+		geometry.__webglParticleCount = nvertices;
+
+		initCustomAttributes ( geometry, object );
+
+	};
+
+	function initLineBuffers ( geometry, object ) {
+
+		var nvertices = geometry.vertices.length;
+
+		geometry.__vertexArray = new Float32Array( nvertices * 3 );
+		geometry.__colorArray = new Float32Array( nvertices * 3 );
+		geometry.__lineDistanceArray = new Float32Array( nvertices * 1 );
+
+		geometry.__webglLineCount = nvertices;
+
+		initCustomAttributes ( geometry, object );
+
+	};
+
+	function initRibbonBuffers ( geometry, object ) {
+
+		var nvertices = geometry.vertices.length;
+
+		geometry.__vertexArray = new Float32Array( nvertices * 3 );
+		geometry.__colorArray = new Float32Array( nvertices * 3 );
+		geometry.__normalArray = new Float32Array( nvertices * 3 );
+
+		geometry.__webglVertexCount = nvertices;
+
+		initCustomAttributes ( geometry, object );
+
+	};
+
+	function initMeshBuffers ( geometryGroup, object ) {
+
+		var geometry = object.geometry,
+			faces3 = geometryGroup.faces3,
+			faces4 = geometryGroup.faces4,
+
+			nvertices = faces3.length * 3 + faces4.length * 4,
+			ntris     = faces3.length * 1 + faces4.length * 2,
+			nlines    = faces3.length * 3 + faces4.length * 4,
+
+			material = getBufferMaterial( object, geometryGroup ),
+
+			uvType = bufferGuessUVType( material ),
+			normalType = bufferGuessNormalType( material ),
+			vertexColorType = bufferGuessVertexColorType( material );
+
+		//console.log( "uvType", uvType, "normalType", normalType, "vertexColorType", vertexColorType, object, geometryGroup, material );
+
+		geometryGroup.__vertexArray = new Float32Array( nvertices * 3 );
+
+		if ( normalType ) {
+
+			geometryGroup.__normalArray = new Float32Array( nvertices * 3 );
+
+		}
+
+		if ( geometry.hasTangents ) {
+
+			geometryGroup.__tangentArray = new Float32Array( nvertices * 4 );
+
+		}
+
+		if ( vertexColorType ) {
+
+			geometryGroup.__colorArray = new Float32Array( nvertices * 3 );
+
+		}
+
+		if ( uvType ) {
+
+			if ( geometry.faceUvs.length > 0 || geometry.faceVertexUvs.length > 0 ) {
+
+				geometryGroup.__uvArray = new Float32Array( nvertices * 2 );
+
+			}
+
+			if ( geometry.faceUvs.length > 1 || geometry.faceVertexUvs.length > 1 ) {
+
+				geometryGroup.__uv2Array = new Float32Array( nvertices * 2 );
+
+			}
+
+		}
+
+		if ( object.geometry.skinWeights.length && object.geometry.skinIndices.length ) {
+
+			geometryGroup.__skinIndexArray = new Float32Array( nvertices * 4 );
+			geometryGroup.__skinWeightArray = new Float32Array( nvertices * 4 );
+
+		}
+
+		geometryGroup.__faceArray = new Uint16Array( ntris * 3 );
+		geometryGroup.__lineArray = new Uint16Array( nlines * 2 );
+
+		var m, ml;
+
+		if ( geometryGroup.numMorphTargets ) {
+
+			geometryGroup.__morphTargetsArrays = [];
+
+			for ( m = 0, ml = geometryGroup.numMorphTargets; m < ml; m ++ ) {
+
+				geometryGroup.__morphTargetsArrays.push( new Float32Array( nvertices * 3 ) );
+
+			}
+
+		}
+
+		if ( geometryGroup.numMorphNormals ) {
+
+			geometryGroup.__morphNormalsArrays = [];
+
+			for ( m = 0, ml = geometryGroup.numMorphNormals; m < ml; m ++ ) {
+
+				geometryGroup.__morphNormalsArrays.push( new Float32Array( nvertices * 3 ) );
+
+			}
+
+		}
+
+		geometryGroup.__webglFaceCount = ntris * 3;
+		geometryGroup.__webglLineCount = nlines * 2;
+
+
+		// custom attributes
+
+		if ( material.attributes ) {
+
+			if ( geometryGroup.__webglCustomAttributesList === undefined ) {
+
+				geometryGroup.__webglCustomAttributesList = [];
+
+			}
+
+			for ( var a in material.attributes ) {
+
+				// Do a shallow copy of the attribute object so different geometryGroup chunks use different
+				// attribute buffers which are correctly indexed in the setMeshBuffers function
+
+				var originalAttribute = material.attributes[ a ];
+
+				var attribute = {};
+
+				for ( var property in originalAttribute ) {
+
+					attribute[ property ] = originalAttribute[ property ];
+
+				}
+
+				if ( !attribute.__webglInitialized || attribute.createUniqueBuffers ) {
+
+					attribute.__webglInitialized = true;
+
+					var size = 1;		// "f" and "i"
+
+					if( attribute.type === "v2" ) size = 2;
+					else if( attribute.type === "v3" ) size = 3;
+					else if( attribute.type === "v4" ) size = 4;
+					else if( attribute.type === "c"  ) size = 3;
+
+					attribute.size = size;
+
+					attribute.array = new Float32Array( nvertices * size );
+
+					attribute.buffer = _gl.createBuffer();
+					attribute.buffer.belongsToAttribute = a;
+
+					originalAttribute.needsUpdate = true;
+					attribute.__original = originalAttribute;
+
+				}
+
+				geometryGroup.__webglCustomAttributesList.push( attribute );
+
+			}
+
+		}
+
+		geometryGroup.__inittedArrays = true;
+
+	};
+
+	function getBufferMaterial( object, geometryGroup ) {
+
+		return object.material instanceof THREE.MeshFaceMaterial
+			? object.material.materials[ geometryGroup.materialIndex ]
+			: object.material;
+
+	};
+
+	function materialNeedsSmoothNormals ( material ) {
+
+		return material && material.shading !== undefined && material.shading === THREE.SmoothShading;
+
+	};
+
+	function bufferGuessNormalType ( material ) {
+
+		// only MeshBasicMaterial and MeshDepthMaterial don't need normals
+
+		if ( ( material instanceof THREE.MeshBasicMaterial && !material.envMap ) || material instanceof THREE.MeshDepthMaterial ) {
+
+			return false;
+
+		}
+
+		if ( materialNeedsSmoothNormals( material ) ) {
+
+			return THREE.SmoothShading;
+
+		} else {
+
+			return THREE.FlatShading;
+
+		}
+
+	};
+
+	function bufferGuessVertexColorType ( material ) {
+
+		if ( material.vertexColors ) {
+
+			return material.vertexColors;
+
+		}
+
+		return false;
+
+	};
+
+	function bufferGuessUVType ( material ) {
+
+		// material must use some texture to require uvs
+
+		if ( material.map || material.lightMap || material.bumpMap || material.normalMap || material.specularMap || material instanceof THREE.ShaderMaterial ) {
+
+			return true;
+
+		}
+
+		return false;
+
+	};
+
+	//
+
+	function initDirectBuffers( geometry ) {
+
+		var a, attribute, type;
+
+		for ( a in geometry.attributes ) {
+
+			if ( a === "index" ) {
+
+				type = _gl.ELEMENT_ARRAY_BUFFER;
+
+			} else {
+
+				type = _gl.ARRAY_BUFFER;
+
+			}
+
+			attribute = geometry.attributes[ a ];
+
+			attribute.buffer = _gl.createBuffer();
+
+			_gl.bindBuffer( type, attribute.buffer );
+			_gl.bufferData( type, attribute.array, _gl.STATIC_DRAW );
+
+		}
+
+	};
+
+	// Buffer setting
+
+	function setParticleBuffers ( geometry, hint, object ) {
+
+		var v, c, vertex, offset, index, color,
+
+		vertices = geometry.vertices,
+		vl = vertices.length,
+
+		colors = geometry.colors,
+		cl = colors.length,
+
+		vertexArray = geometry.__vertexArray,
+		colorArray = geometry.__colorArray,
+
+		sortArray = geometry.__sortArray,
+
+		dirtyVertices = geometry.verticesNeedUpdate,
+		dirtyElements = geometry.elementsNeedUpdate,
+		dirtyColors = geometry.colorsNeedUpdate,
+
+		customAttributes = geometry.__webglCustomAttributesList,
+		i, il,
+		a, ca, cal, value,
+		customAttribute;
+
+		if ( object.sortParticles ) {
+
+			_projScreenMatrixPS.copy( _projScreenMatrix );
+			_projScreenMatrixPS.multiply( object.matrixWorld );
+
+			for ( v = 0; v < vl; v ++ ) {
+
+				vertex = vertices[ v ];
+
+				_vector3.copy( vertex );
+				_vector3.applyProjection( _projScreenMatrixPS );
+
+				sortArray[ v ] = [ _vector3.z, v ];
+
+			}
+
+			sortArray.sort( numericalSort );
+
+			for ( v = 0; v < vl; v ++ ) {
+
+				vertex = vertices[ sortArray[v][1] ];
+
+				offset = v * 3;
+
+				vertexArray[ offset ]     = vertex.x;
+				vertexArray[ offset + 1 ] = vertex.y;
+				vertexArray[ offset + 2 ] = vertex.z;
+
+			}
+
+			for ( c = 0; c < cl; c ++ ) {
+
+				offset = c * 3;
+
+				color = colors[ sortArray[c][1] ];
+
+				colorArray[ offset ]     = color.r;
+				colorArray[ offset + 1 ] = color.g;
+				colorArray[ offset + 2 ] = color.b;
+
+			}
+
+			if ( customAttributes ) {
+
+				for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+					customAttribute = customAttributes[ i ];
+
+					if ( ! ( customAttribute.boundTo === undefined || customAttribute.boundTo === "vertices" ) ) continue;
+
+					offset = 0;
+
+					cal = customAttribute.value.length;
+
+					if ( customAttribute.size === 1 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							index = sortArray[ ca ][ 1 ];
+
+							customAttribute.array[ ca ] = customAttribute.value[ index ];
+
+						}
+
+					} else if ( customAttribute.size === 2 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							index = sortArray[ ca ][ 1 ];
+
+							value = customAttribute.value[ index ];
+
+							customAttribute.array[ offset ] 	= value.x;
+							customAttribute.array[ offset + 1 ] = value.y;
+
+							offset += 2;
+
+						}
+
+					} else if ( customAttribute.size === 3 ) {
+
+						if ( customAttribute.type === "c" ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								index = sortArray[ ca ][ 1 ];
+
+								value = customAttribute.value[ index ];
+
+								customAttribute.array[ offset ]     = value.r;
+								customAttribute.array[ offset + 1 ] = value.g;
+								customAttribute.array[ offset + 2 ] = value.b;
+
+								offset += 3;
+
+							}
+
+						} else {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								index = sortArray[ ca ][ 1 ];
+
+								value = customAttribute.value[ index ];
+
+								customAttribute.array[ offset ] 	= value.x;
+								customAttribute.array[ offset + 1 ] = value.y;
+								customAttribute.array[ offset + 2 ] = value.z;
+
+								offset += 3;
+
+							}
+
+						}
+
+					} else if ( customAttribute.size === 4 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							index = sortArray[ ca ][ 1 ];
+
+							value = customAttribute.value[ index ];
+
+							customAttribute.array[ offset ]      = value.x;
+							customAttribute.array[ offset + 1  ] = value.y;
+							customAttribute.array[ offset + 2  ] = value.z;
+							customAttribute.array[ offset + 3  ] = value.w;
+
+							offset += 4;
+
+						}
+
+					}
+
+				}
+
+			}
+
+		} else {
+
+			if ( dirtyVertices ) {
+
+				for ( v = 0; v < vl; v ++ ) {
+
+					vertex = vertices[ v ];
+
+					offset = v * 3;
+
+					vertexArray[ offset ]     = vertex.x;
+					vertexArray[ offset + 1 ] = vertex.y;
+					vertexArray[ offset + 2 ] = vertex.z;
+
+				}
+
+			}
+
+			if ( dirtyColors ) {
+
+				for ( c = 0; c < cl; c ++ ) {
+
+					color = colors[ c ];
+
+					offset = c * 3;
+
+					colorArray[ offset ]     = color.r;
+					colorArray[ offset + 1 ] = color.g;
+					colorArray[ offset + 2 ] = color.b;
+
+				}
+
+			}
+
+			if ( customAttributes ) {
+
+				for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+					customAttribute = customAttributes[ i ];
+
+					if ( customAttribute.needsUpdate &&
+						 ( customAttribute.boundTo === undefined ||
+						   customAttribute.boundTo === "vertices") ) {
+
+						cal = customAttribute.value.length;
+
+						offset = 0;
+
+						if ( customAttribute.size === 1 ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								customAttribute.array[ ca ] = customAttribute.value[ ca ];
+
+							}
+
+						} else if ( customAttribute.size === 2 ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ] 	= value.x;
+								customAttribute.array[ offset + 1 ] = value.y;
+
+								offset += 2;
+
+							}
+
+						} else if ( customAttribute.size === 3 ) {
+
+							if ( customAttribute.type === "c" ) {
+
+								for ( ca = 0; ca < cal; ca ++ ) {
+
+									value = customAttribute.value[ ca ];
+
+									customAttribute.array[ offset ] 	= value.r;
+									customAttribute.array[ offset + 1 ] = value.g;
+									customAttribute.array[ offset + 2 ] = value.b;
+
+									offset += 3;
+
+								}
+
+							} else {
+
+								for ( ca = 0; ca < cal; ca ++ ) {
+
+									value = customAttribute.value[ ca ];
+
+									customAttribute.array[ offset ] 	= value.x;
+									customAttribute.array[ offset + 1 ] = value.y;
+									customAttribute.array[ offset + 2 ] = value.z;
+
+									offset += 3;
+
+								}
+
+							}
+
+						} else if ( customAttribute.size === 4 ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ]      = value.x;
+								customAttribute.array[ offset + 1  ] = value.y;
+								customAttribute.array[ offset + 2  ] = value.z;
+								customAttribute.array[ offset + 3  ] = value.w;
+
+								offset += 4;
+
+							}
+
+						}
+
+					}
+
+				}
+
+			}
+
+		}
+
+		if ( dirtyVertices || object.sortParticles ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglVertexBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, vertexArray, hint );
+
+		}
+
+		if ( dirtyColors || object.sortParticles ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglColorBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, colorArray, hint );
+
+		}
+
+		if ( customAttributes ) {
+
+			for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+				customAttribute = customAttributes[ i ];
+
+				if ( customAttribute.needsUpdate || object.sortParticles ) {
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, customAttribute.buffer );
+					_gl.bufferData( _gl.ARRAY_BUFFER, customAttribute.array, hint );
+
+				}
+
+			}
+
+		}
+
+
+	};
+
+	function setLineBuffers ( geometry, hint ) {
+
+		var v, c, d, vertex, offset, color,
+
+		vertices = geometry.vertices,
+		colors = geometry.colors,
+		lineDistances = geometry.lineDistances,
+
+		vl = vertices.length,
+		cl = colors.length,
+		dl = lineDistances.length,
+
+		vertexArray = geometry.__vertexArray,
+		colorArray = geometry.__colorArray,
+		lineDistanceArray = geometry.__lineDistanceArray,
+
+		dirtyVertices = geometry.verticesNeedUpdate,
+		dirtyColors = geometry.colorsNeedUpdate,
+		dirtyLineDistances = geometry.lineDistancesNeedUpdate,
+
+		customAttributes = geometry.__webglCustomAttributesList,
+
+		i, il,
+		a, ca, cal, value,
+		customAttribute;
+
+		if ( dirtyVertices ) {
+
+			for ( v = 0; v < vl; v ++ ) {
+
+				vertex = vertices[ v ];
+
+				offset = v * 3;
+
+				vertexArray[ offset ]     = vertex.x;
+				vertexArray[ offset + 1 ] = vertex.y;
+				vertexArray[ offset + 2 ] = vertex.z;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglVertexBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, vertexArray, hint );
+
+		}
+
+		if ( dirtyColors ) {
+
+			for ( c = 0; c < cl; c ++ ) {
+
+				color = colors[ c ];
+
+				offset = c * 3;
+
+				colorArray[ offset ]     = color.r;
+				colorArray[ offset + 1 ] = color.g;
+				colorArray[ offset + 2 ] = color.b;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglColorBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, colorArray, hint );
+
+		}
+
+		if ( dirtyLineDistances ) {
+
+			for ( d = 0; d < dl; d ++ ) {
+
+				lineDistanceArray[ d ] = lineDistances[ d ];
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglLineDistanceBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, lineDistanceArray, hint );
+
+		}
+
+		if ( customAttributes ) {
+
+			for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+				customAttribute = customAttributes[ i ];
+
+				if ( customAttribute.needsUpdate &&
+					 ( customAttribute.boundTo === undefined ||
+					   customAttribute.boundTo === "vertices" ) ) {
+
+					offset = 0;
+
+					cal = customAttribute.value.length;
+
+					if ( customAttribute.size === 1 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							customAttribute.array[ ca ] = customAttribute.value[ ca ];
+
+						}
+
+					} else if ( customAttribute.size === 2 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							value = customAttribute.value[ ca ];
+
+							customAttribute.array[ offset ] 	= value.x;
+							customAttribute.array[ offset + 1 ] = value.y;
+
+							offset += 2;
+
+						}
+
+					} else if ( customAttribute.size === 3 ) {
+
+						if ( customAttribute.type === "c" ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ] 	= value.r;
+								customAttribute.array[ offset + 1 ] = value.g;
+								customAttribute.array[ offset + 2 ] = value.b;
+
+								offset += 3;
+
+							}
+
+						} else {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ] 	= value.x;
+								customAttribute.array[ offset + 1 ] = value.y;
+								customAttribute.array[ offset + 2 ] = value.z;
+
+								offset += 3;
+
+							}
+
+						}
+
+					} else if ( customAttribute.size === 4 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							value = customAttribute.value[ ca ];
+
+							customAttribute.array[ offset ] 	 = value.x;
+							customAttribute.array[ offset + 1  ] = value.y;
+							customAttribute.array[ offset + 2  ] = value.z;
+							customAttribute.array[ offset + 3  ] = value.w;
+
+							offset += 4;
+
+						}
+
+					}
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, customAttribute.buffer );
+					_gl.bufferData( _gl.ARRAY_BUFFER, customAttribute.array, hint );
+
+				}
+
+			}
+
+		}
+
+	};
+
+	function setRibbonBuffers ( geometry, hint ) {
+
+		var v, c, n, vertex, offset, color, normal,
+
+		i, il, ca, cal, customAttribute, value,
+
+		vertices = geometry.vertices,
+		colors = geometry.colors,
+		normals = geometry.normals,
+
+		vl = vertices.length,
+		cl = colors.length,
+		nl = normals.length,
+
+		vertexArray = geometry.__vertexArray,
+		colorArray = geometry.__colorArray,
+		normalArray = geometry.__normalArray,
+
+		dirtyVertices = geometry.verticesNeedUpdate,
+		dirtyColors = geometry.colorsNeedUpdate,
+		dirtyNormals = geometry.normalsNeedUpdate,
+
+		customAttributes = geometry.__webglCustomAttributesList;
+
+		if ( dirtyVertices ) {
+
+			for ( v = 0; v < vl; v ++ ) {
+
+				vertex = vertices[ v ];
+
+				offset = v * 3;
+
+				vertexArray[ offset ]     = vertex.x;
+				vertexArray[ offset + 1 ] = vertex.y;
+				vertexArray[ offset + 2 ] = vertex.z;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglVertexBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, vertexArray, hint );
+
+		}
+
+		if ( dirtyColors ) {
+
+			for ( c = 0; c < cl; c ++ ) {
+
+				color = colors[ c ];
+
+				offset = c * 3;
+
+				colorArray[ offset ]     = color.r;
+				colorArray[ offset + 1 ] = color.g;
+				colorArray[ offset + 2 ] = color.b;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglColorBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, colorArray, hint );
+
+		}
+
+		if ( dirtyNormals ) {
+
+			for ( n = 0; n < nl; n ++ ) {
+
+				normal = normals[ n ];
+
+				offset = n * 3;
+
+				normalArray[ offset ]     = normal.x;
+				normalArray[ offset + 1 ] = normal.y;
+				normalArray[ offset + 2 ] = normal.z;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometry.__webglNormalBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, normalArray, hint );
+
+		}
+
+		if ( customAttributes ) {
+
+			for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+				customAttribute = customAttributes[ i ];
+
+				if ( customAttribute.needsUpdate &&
+					 ( customAttribute.boundTo === undefined ||
+					   customAttribute.boundTo === "vertices" ) ) {
+
+					offset = 0;
+
+					cal = customAttribute.value.length;
+
+					if ( customAttribute.size === 1 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							customAttribute.array[ ca ] = customAttribute.value[ ca ];
+
+						}
+
+					} else if ( customAttribute.size === 2 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							value = customAttribute.value[ ca ];
+
+							customAttribute.array[ offset ] 	= value.x;
+							customAttribute.array[ offset + 1 ] = value.y;
+
+							offset += 2;
+
+						}
+
+					} else if ( customAttribute.size === 3 ) {
+
+						if ( customAttribute.type === "c" ) {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ] 	= value.r;
+								customAttribute.array[ offset + 1 ] = value.g;
+								customAttribute.array[ offset + 2 ] = value.b;
+
+								offset += 3;
+
+							}
+
+						} else {
+
+							for ( ca = 0; ca < cal; ca ++ ) {
+
+								value = customAttribute.value[ ca ];
+
+								customAttribute.array[ offset ] 	= value.x;
+								customAttribute.array[ offset + 1 ] = value.y;
+								customAttribute.array[ offset + 2 ] = value.z;
+
+								offset += 3;
+
+							}
+
+						}
+
+					} else if ( customAttribute.size === 4 ) {
+
+						for ( ca = 0; ca < cal; ca ++ ) {
+
+							value = customAttribute.value[ ca ];
+
+							customAttribute.array[ offset ] 	 = value.x;
+							customAttribute.array[ offset + 1  ] = value.y;
+							customAttribute.array[ offset + 2  ] = value.z;
+							customAttribute.array[ offset + 3  ] = value.w;
+
+							offset += 4;
+
+						}
+
+					}
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, customAttribute.buffer );
+					_gl.bufferData( _gl.ARRAY_BUFFER, customAttribute.array, hint );
+
+				}
+
+			}
+
+		}
+
+	};
+
+	function setMeshBuffers( geometryGroup, object, hint, dispose, material ) {
+
+		if ( ! geometryGroup.__inittedArrays ) {
+
+			return;
+
+		}
+
+		var normalType = bufferGuessNormalType( material ),
+		vertexColorType = bufferGuessVertexColorType( material ),
+		uvType = bufferGuessUVType( material ),
+
+		needsSmoothNormals = ( normalType === THREE.SmoothShading );
+
+		var f, fl, fi, face,
+		vertexNormals, faceNormal, normal,
+		vertexColors, faceColor,
+		vertexTangents,
+		uv, uv2, v1, v2, v3, v4, t1, t2, t3, t4, n1, n2, n3, n4,
+		c1, c2, c3, c4,
+		sw1, sw2, sw3, sw4,
+		si1, si2, si3, si4,
+		sa1, sa2, sa3, sa4,
+		sb1, sb2, sb3, sb4,
+		m, ml, i, il,
+		vn, uvi, uv2i,
+		vk, vkl, vka,
+		nka, chf, faceVertexNormals,
+		a,
+
+		vertexIndex = 0,
+
+		offset = 0,
+		offset_uv = 0,
+		offset_uv2 = 0,
+		offset_face = 0,
+		offset_normal = 0,
+		offset_tangent = 0,
+		offset_line = 0,
+		offset_color = 0,
+		offset_skin = 0,
+		offset_morphTarget = 0,
+		offset_custom = 0,
+		offset_customSrc = 0,
+
+		value,
+
+		vertexArray = geometryGroup.__vertexArray,
+		uvArray = geometryGroup.__uvArray,
+		uv2Array = geometryGroup.__uv2Array,
+		normalArray = geometryGroup.__normalArray,
+		tangentArray = geometryGroup.__tangentArray,
+		colorArray = geometryGroup.__colorArray,
+
+		skinIndexArray = geometryGroup.__skinIndexArray,
+		skinWeightArray = geometryGroup.__skinWeightArray,
+
+		morphTargetsArrays = geometryGroup.__morphTargetsArrays,
+		morphNormalsArrays = geometryGroup.__morphNormalsArrays,
+
+		customAttributes = geometryGroup.__webglCustomAttributesList,
+		customAttribute,
+
+		faceArray = geometryGroup.__faceArray,
+		lineArray = geometryGroup.__lineArray,
+
+		geometry = object.geometry, // this is shared for all chunks
+
+		dirtyVertices = geometry.verticesNeedUpdate,
+		dirtyElements = geometry.elementsNeedUpdate,
+		dirtyUvs = geometry.uvsNeedUpdate,
+		dirtyNormals = geometry.normalsNeedUpdate,
+		dirtyTangents = geometry.tangentsNeedUpdate,
+		dirtyColors = geometry.colorsNeedUpdate,
+		dirtyMorphTargets = geometry.morphTargetsNeedUpdate,
+
+		vertices = geometry.vertices,
+		chunk_faces3 = geometryGroup.faces3,
+		chunk_faces4 = geometryGroup.faces4,
+		obj_faces = geometry.faces,
+
+		obj_uvs  = geometry.faceVertexUvs[ 0 ],
+		obj_uvs2 = geometry.faceVertexUvs[ 1 ],
+
+		obj_colors = geometry.colors,
+
+		obj_skinIndices = geometry.skinIndices,
+		obj_skinWeights = geometry.skinWeights,
+
+		morphTargets = geometry.morphTargets,
+		morphNormals = geometry.morphNormals;
+
+		if ( dirtyVertices ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces3[ f ] ];
+
+				v1 = vertices[ face.a ];
+				v2 = vertices[ face.b ];
+				v3 = vertices[ face.c ];
+
+				vertexArray[ offset ]     = v1.x;
+				vertexArray[ offset + 1 ] = v1.y;
+				vertexArray[ offset + 2 ] = v1.z;
+
+				vertexArray[ offset + 3 ] = v2.x;
+				vertexArray[ offset + 4 ] = v2.y;
+				vertexArray[ offset + 5 ] = v2.z;
+
+				vertexArray[ offset + 6 ] = v3.x;
+				vertexArray[ offset + 7 ] = v3.y;
+				vertexArray[ offset + 8 ] = v3.z;
+
+				offset += 9;
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces4[ f ] ];
+
+				v1 = vertices[ face.a ];
+				v2 = vertices[ face.b ];
+				v3 = vertices[ face.c ];
+				v4 = vertices[ face.d ];
+
+				vertexArray[ offset ]     = v1.x;
+				vertexArray[ offset + 1 ] = v1.y;
+				vertexArray[ offset + 2 ] = v1.z;
+
+				vertexArray[ offset + 3 ] = v2.x;
+				vertexArray[ offset + 4 ] = v2.y;
+				vertexArray[ offset + 5 ] = v2.z;
+
+				vertexArray[ offset + 6 ] = v3.x;
+				vertexArray[ offset + 7 ] = v3.y;
+				vertexArray[ offset + 8 ] = v3.z;
+
+				vertexArray[ offset + 9 ]  = v4.x;
+				vertexArray[ offset + 10 ] = v4.y;
+				vertexArray[ offset + 11 ] = v4.z;
+
+				offset += 12;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglVertexBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, vertexArray, hint );
+
+		}
+
+		if ( dirtyMorphTargets ) {
+
+			for ( vk = 0, vkl = morphTargets.length; vk < vkl; vk ++ ) {
+
+				offset_morphTarget = 0;
+
+				for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+					chf = chunk_faces3[ f ];
+					face = obj_faces[ chf ];
+
+					// morph positions
+
+					v1 = morphTargets[ vk ].vertices[ face.a ];
+					v2 = morphTargets[ vk ].vertices[ face.b ];
+					v3 = morphTargets[ vk ].vertices[ face.c ];
+
+					vka = morphTargetsArrays[ vk ];
+
+					vka[ offset_morphTarget ] 	  = v1.x;
+					vka[ offset_morphTarget + 1 ] = v1.y;
+					vka[ offset_morphTarget + 2 ] = v1.z;
+
+					vka[ offset_morphTarget + 3 ] = v2.x;
+					vka[ offset_morphTarget + 4 ] = v2.y;
+					vka[ offset_morphTarget + 5 ] = v2.z;
+
+					vka[ offset_morphTarget + 6 ] = v3.x;
+					vka[ offset_morphTarget + 7 ] = v3.y;
+					vka[ offset_morphTarget + 8 ] = v3.z;
+
+					// morph normals
+
+					if ( material.morphNormals ) {
+
+						if ( needsSmoothNormals ) {
+
+							faceVertexNormals = morphNormals[ vk ].vertexNormals[ chf ];
+
+							n1 = faceVertexNormals.a;
+							n2 = faceVertexNormals.b;
+							n3 = faceVertexNormals.c;
+
+						} else {
+
+							n1 = morphNormals[ vk ].faceNormals[ chf ];
+							n2 = n1;
+							n3 = n1;
+
+						}
+
+						nka = morphNormalsArrays[ vk ];
+
+						nka[ offset_morphTarget ] 	  = n1.x;
+						nka[ offset_morphTarget + 1 ] = n1.y;
+						nka[ offset_morphTarget + 2 ] = n1.z;
+
+						nka[ offset_morphTarget + 3 ] = n2.x;
+						nka[ offset_morphTarget + 4 ] = n2.y;
+						nka[ offset_morphTarget + 5 ] = n2.z;
+
+						nka[ offset_morphTarget + 6 ] = n3.x;
+						nka[ offset_morphTarget + 7 ] = n3.y;
+						nka[ offset_morphTarget + 8 ] = n3.z;
+
+					}
+
+					//
+
+					offset_morphTarget += 9;
+
+				}
+
+				for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+					chf = chunk_faces4[ f ];
+					face = obj_faces[ chf ];
+
+					// morph positions
+
+					v1 = morphTargets[ vk ].vertices[ face.a ];
+					v2 = morphTargets[ vk ].vertices[ face.b ];
+					v3 = morphTargets[ vk ].vertices[ face.c ];
+					v4 = morphTargets[ vk ].vertices[ face.d ];
+
+					vka = morphTargetsArrays[ vk ];
+
+					vka[ offset_morphTarget ] 	  = v1.x;
+					vka[ offset_morphTarget + 1 ] = v1.y;
+					vka[ offset_morphTarget + 2 ] = v1.z;
+
+					vka[ offset_morphTarget + 3 ] = v2.x;
+					vka[ offset_morphTarget + 4 ] = v2.y;
+					vka[ offset_morphTarget + 5 ] = v2.z;
+
+					vka[ offset_morphTarget + 6 ] = v3.x;
+					vka[ offset_morphTarget + 7 ] = v3.y;
+					vka[ offset_morphTarget + 8 ] = v3.z;
+
+					vka[ offset_morphTarget + 9 ]  = v4.x;
+					vka[ offset_morphTarget + 10 ] = v4.y;
+					vka[ offset_morphTarget + 11 ] = v4.z;
+
+					// morph normals
+
+					if ( material.morphNormals ) {
+
+						if ( needsSmoothNormals ) {
+
+							faceVertexNormals = morphNormals[ vk ].vertexNormals[ chf ];
+
+							n1 = faceVertexNormals.a;
+							n2 = faceVertexNormals.b;
+							n3 = faceVertexNormals.c;
+							n4 = faceVertexNormals.d;
+
+						} else {
+
+							n1 = morphNormals[ vk ].faceNormals[ chf ];
+							n2 = n1;
+							n3 = n1;
+							n4 = n1;
+
+						}
+
+						nka = morphNormalsArrays[ vk ];
+
+						nka[ offset_morphTarget ] 	  = n1.x;
+						nka[ offset_morphTarget + 1 ] = n1.y;
+						nka[ offset_morphTarget + 2 ] = n1.z;
+
+						nka[ offset_morphTarget + 3 ] = n2.x;
+						nka[ offset_morphTarget + 4 ] = n2.y;
+						nka[ offset_morphTarget + 5 ] = n2.z;
+
+						nka[ offset_morphTarget + 6 ] = n3.x;
+						nka[ offset_morphTarget + 7 ] = n3.y;
+						nka[ offset_morphTarget + 8 ] = n3.z;
+
+						nka[ offset_morphTarget + 9 ]  = n4.x;
+						nka[ offset_morphTarget + 10 ] = n4.y;
+						nka[ offset_morphTarget + 11 ] = n4.z;
+
+					}
+
+					//
+
+					offset_morphTarget += 12;
+
+				}
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphTargetsBuffers[ vk ] );
+				_gl.bufferData( _gl.ARRAY_BUFFER, morphTargetsArrays[ vk ], hint );
+
+				if ( material.morphNormals ) {
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphNormalsBuffers[ vk ] );
+					_gl.bufferData( _gl.ARRAY_BUFFER, morphNormalsArrays[ vk ], hint );
+
+				}
+
+			}
+
+		}
+
+		if ( obj_skinWeights.length ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces3[ f ]	];
+
+				// weights
+
+				sw1 = obj_skinWeights[ face.a ];
+				sw2 = obj_skinWeights[ face.b ];
+				sw3 = obj_skinWeights[ face.c ];
+
+				skinWeightArray[ offset_skin ]     = sw1.x;
+				skinWeightArray[ offset_skin + 1 ] = sw1.y;
+				skinWeightArray[ offset_skin + 2 ] = sw1.z;
+				skinWeightArray[ offset_skin + 3 ] = sw1.w;
+
+				skinWeightArray[ offset_skin + 4 ] = sw2.x;
+				skinWeightArray[ offset_skin + 5 ] = sw2.y;
+				skinWeightArray[ offset_skin + 6 ] = sw2.z;
+				skinWeightArray[ offset_skin + 7 ] = sw2.w;
+
+				skinWeightArray[ offset_skin + 8 ]  = sw3.x;
+				skinWeightArray[ offset_skin + 9 ]  = sw3.y;
+				skinWeightArray[ offset_skin + 10 ] = sw3.z;
+				skinWeightArray[ offset_skin + 11 ] = sw3.w;
+
+				// indices
+
+				si1 = obj_skinIndices[ face.a ];
+				si2 = obj_skinIndices[ face.b ];
+				si3 = obj_skinIndices[ face.c ];
+
+				skinIndexArray[ offset_skin ]     = si1.x;
+				skinIndexArray[ offset_skin + 1 ] = si1.y;
+				skinIndexArray[ offset_skin + 2 ] = si1.z;
+				skinIndexArray[ offset_skin + 3 ] = si1.w;
+
+				skinIndexArray[ offset_skin + 4 ] = si2.x;
+				skinIndexArray[ offset_skin + 5 ] = si2.y;
+				skinIndexArray[ offset_skin + 6 ] = si2.z;
+				skinIndexArray[ offset_skin + 7 ] = si2.w;
+
+				skinIndexArray[ offset_skin + 8 ]  = si3.x;
+				skinIndexArray[ offset_skin + 9 ]  = si3.y;
+				skinIndexArray[ offset_skin + 10 ] = si3.z;
+				skinIndexArray[ offset_skin + 11 ] = si3.w;
+
+				offset_skin += 12;
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces4[ f ] ];
+
+				// weights
+
+				sw1 = obj_skinWeights[ face.a ];
+				sw2 = obj_skinWeights[ face.b ];
+				sw3 = obj_skinWeights[ face.c ];
+				sw4 = obj_skinWeights[ face.d ];
+
+				skinWeightArray[ offset_skin ]     = sw1.x;
+				skinWeightArray[ offset_skin + 1 ] = sw1.y;
+				skinWeightArray[ offset_skin + 2 ] = sw1.z;
+				skinWeightArray[ offset_skin + 3 ] = sw1.w;
+
+				skinWeightArray[ offset_skin + 4 ] = sw2.x;
+				skinWeightArray[ offset_skin + 5 ] = sw2.y;
+				skinWeightArray[ offset_skin + 6 ] = sw2.z;
+				skinWeightArray[ offset_skin + 7 ] = sw2.w;
+
+				skinWeightArray[ offset_skin + 8 ]  = sw3.x;
+				skinWeightArray[ offset_skin + 9 ]  = sw3.y;
+				skinWeightArray[ offset_skin + 10 ] = sw3.z;
+				skinWeightArray[ offset_skin + 11 ] = sw3.w;
+
+				skinWeightArray[ offset_skin + 12 ] = sw4.x;
+				skinWeightArray[ offset_skin + 13 ] = sw4.y;
+				skinWeightArray[ offset_skin + 14 ] = sw4.z;
+				skinWeightArray[ offset_skin + 15 ] = sw4.w;
+
+				// indices
+
+				si1 = obj_skinIndices[ face.a ];
+				si2 = obj_skinIndices[ face.b ];
+				si3 = obj_skinIndices[ face.c ];
+				si4 = obj_skinIndices[ face.d ];
+
+				skinIndexArray[ offset_skin ]     = si1.x;
+				skinIndexArray[ offset_skin + 1 ] = si1.y;
+				skinIndexArray[ offset_skin + 2 ] = si1.z;
+				skinIndexArray[ offset_skin + 3 ] = si1.w;
+
+				skinIndexArray[ offset_skin + 4 ] = si2.x;
+				skinIndexArray[ offset_skin + 5 ] = si2.y;
+				skinIndexArray[ offset_skin + 6 ] = si2.z;
+				skinIndexArray[ offset_skin + 7 ] = si2.w;
+
+				skinIndexArray[ offset_skin + 8 ]  = si3.x;
+				skinIndexArray[ offset_skin + 9 ]  = si3.y;
+				skinIndexArray[ offset_skin + 10 ] = si3.z;
+				skinIndexArray[ offset_skin + 11 ] = si3.w;
+
+				skinIndexArray[ offset_skin + 12 ] = si4.x;
+				skinIndexArray[ offset_skin + 13 ] = si4.y;
+				skinIndexArray[ offset_skin + 14 ] = si4.z;
+				skinIndexArray[ offset_skin + 15 ] = si4.w;
+
+				offset_skin += 16;
+
+			}
+
+			if ( offset_skin > 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglSkinIndicesBuffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, skinIndexArray, hint );
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglSkinWeightsBuffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, skinWeightArray, hint );
+
+			}
+
+		}
+
+		if ( dirtyColors && vertexColorType ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces3[ f ]	];
+
+				vertexColors = face.vertexColors;
+				faceColor = face.color;
+
+				if ( vertexColors.length === 3 && vertexColorType === THREE.VertexColors ) {
+
+					c1 = vertexColors[ 0 ];
+					c2 = vertexColors[ 1 ];
+					c3 = vertexColors[ 2 ];
+
+				} else {
+
+					c1 = faceColor;
+					c2 = faceColor;
+					c3 = faceColor;
+
+				}
+
+				colorArray[ offset_color ]     = c1.r;
+				colorArray[ offset_color + 1 ] = c1.g;
+				colorArray[ offset_color + 2 ] = c1.b;
+
+				colorArray[ offset_color + 3 ] = c2.r;
+				colorArray[ offset_color + 4 ] = c2.g;
+				colorArray[ offset_color + 5 ] = c2.b;
+
+				colorArray[ offset_color + 6 ] = c3.r;
+				colorArray[ offset_color + 7 ] = c3.g;
+				colorArray[ offset_color + 8 ] = c3.b;
+
+				offset_color += 9;
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces4[ f ] ];
+
+				vertexColors = face.vertexColors;
+				faceColor = face.color;
+
+				if ( vertexColors.length === 4 && vertexColorType === THREE.VertexColors ) {
+
+					c1 = vertexColors[ 0 ];
+					c2 = vertexColors[ 1 ];
+					c3 = vertexColors[ 2 ];
+					c4 = vertexColors[ 3 ];
+
+				} else {
+
+					c1 = faceColor;
+					c2 = faceColor;
+					c3 = faceColor;
+					c4 = faceColor;
+
+				}
+
+				colorArray[ offset_color ]     = c1.r;
+				colorArray[ offset_color + 1 ] = c1.g;
+				colorArray[ offset_color + 2 ] = c1.b;
+
+				colorArray[ offset_color + 3 ] = c2.r;
+				colorArray[ offset_color + 4 ] = c2.g;
+				colorArray[ offset_color + 5 ] = c2.b;
+
+				colorArray[ offset_color + 6 ] = c3.r;
+				colorArray[ offset_color + 7 ] = c3.g;
+				colorArray[ offset_color + 8 ] = c3.b;
+
+				colorArray[ offset_color + 9 ]  = c4.r;
+				colorArray[ offset_color + 10 ] = c4.g;
+				colorArray[ offset_color + 11 ] = c4.b;
+
+				offset_color += 12;
+
+			}
+
+			if ( offset_color > 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglColorBuffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, colorArray, hint );
+
+			}
+
+		}
+
+		if ( dirtyTangents && geometry.hasTangents ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces3[ f ]	];
+
+				vertexTangents = face.vertexTangents;
+
+				t1 = vertexTangents[ 0 ];
+				t2 = vertexTangents[ 1 ];
+				t3 = vertexTangents[ 2 ];
+
+				tangentArray[ offset_tangent ]     = t1.x;
+				tangentArray[ offset_tangent + 1 ] = t1.y;
+				tangentArray[ offset_tangent + 2 ] = t1.z;
+				tangentArray[ offset_tangent + 3 ] = t1.w;
+
+				tangentArray[ offset_tangent + 4 ] = t2.x;
+				tangentArray[ offset_tangent + 5 ] = t2.y;
+				tangentArray[ offset_tangent + 6 ] = t2.z;
+				tangentArray[ offset_tangent + 7 ] = t2.w;
+
+				tangentArray[ offset_tangent + 8 ]  = t3.x;
+				tangentArray[ offset_tangent + 9 ]  = t3.y;
+				tangentArray[ offset_tangent + 10 ] = t3.z;
+				tangentArray[ offset_tangent + 11 ] = t3.w;
+
+				offset_tangent += 12;
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces4[ f ] ];
+
+				vertexTangents = face.vertexTangents;
+
+				t1 = vertexTangents[ 0 ];
+				t2 = vertexTangents[ 1 ];
+				t3 = vertexTangents[ 2 ];
+				t4 = vertexTangents[ 3 ];
+
+				tangentArray[ offset_tangent ]     = t1.x;
+				tangentArray[ offset_tangent + 1 ] = t1.y;
+				tangentArray[ offset_tangent + 2 ] = t1.z;
+				tangentArray[ offset_tangent + 3 ] = t1.w;
+
+				tangentArray[ offset_tangent + 4 ] = t2.x;
+				tangentArray[ offset_tangent + 5 ] = t2.y;
+				tangentArray[ offset_tangent + 6 ] = t2.z;
+				tangentArray[ offset_tangent + 7 ] = t2.w;
+
+				tangentArray[ offset_tangent + 8 ]  = t3.x;
+				tangentArray[ offset_tangent + 9 ]  = t3.y;
+				tangentArray[ offset_tangent + 10 ] = t3.z;
+				tangentArray[ offset_tangent + 11 ] = t3.w;
+
+				tangentArray[ offset_tangent + 12 ] = t4.x;
+				tangentArray[ offset_tangent + 13 ] = t4.y;
+				tangentArray[ offset_tangent + 14 ] = t4.z;
+				tangentArray[ offset_tangent + 15 ] = t4.w;
+
+				offset_tangent += 16;
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglTangentBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, tangentArray, hint );
+
+		}
+
+		if ( dirtyNormals && normalType ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces3[ f ]	];
+
+				vertexNormals = face.vertexNormals;
+				faceNormal = face.normal;
+
+				if ( vertexNormals.length === 3 && needsSmoothNormals ) {
+
+					for ( i = 0; i < 3; i ++ ) {
+
+						vn = vertexNormals[ i ];
+
+						normalArray[ offset_normal ]     = vn.x;
+						normalArray[ offset_normal + 1 ] = vn.y;
+						normalArray[ offset_normal + 2 ] = vn.z;
+
+						offset_normal += 3;
+
+					}
+
+				} else {
+
+					for ( i = 0; i < 3; i ++ ) {
+
+						normalArray[ offset_normal ]     = faceNormal.x;
+						normalArray[ offset_normal + 1 ] = faceNormal.y;
+						normalArray[ offset_normal + 2 ] = faceNormal.z;
+
+						offset_normal += 3;
+
+					}
+
+				}
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				face = obj_faces[ chunk_faces4[ f ] ];
+
+				vertexNormals = face.vertexNormals;
+				faceNormal = face.normal;
+
+				if ( vertexNormals.length === 4 && needsSmoothNormals ) {
+
+					for ( i = 0; i < 4; i ++ ) {
+
+						vn = vertexNormals[ i ];
+
+						normalArray[ offset_normal ]     = vn.x;
+						normalArray[ offset_normal + 1 ] = vn.y;
+						normalArray[ offset_normal + 2 ] = vn.z;
+
+						offset_normal += 3;
+
+					}
+
+				} else {
+
+					for ( i = 0; i < 4; i ++ ) {
+
+						normalArray[ offset_normal ]     = faceNormal.x;
+						normalArray[ offset_normal + 1 ] = faceNormal.y;
+						normalArray[ offset_normal + 2 ] = faceNormal.z;
+
+						offset_normal += 3;
+
+					}
+
+				}
+
+			}
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglNormalBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, normalArray, hint );
+
+		}
+
+		if ( dirtyUvs && obj_uvs && uvType ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				fi = chunk_faces3[ f ];
+
+				uv = obj_uvs[ fi ];
+
+				if ( uv === undefined ) continue;
+
+				for ( i = 0; i < 3; i ++ ) {
+
+					uvi = uv[ i ];
+
+					uvArray[ offset_uv ]     = uvi.x;
+					uvArray[ offset_uv + 1 ] = uvi.y;
+
+					offset_uv += 2;
+
+				}
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				fi = chunk_faces4[ f ];
+
+				uv = obj_uvs[ fi ];
+
+				if ( uv === undefined ) continue;
+
+				for ( i = 0; i < 4; i ++ ) {
+
+					uvi = uv[ i ];
+
+					uvArray[ offset_uv ]     = uvi.x;
+					uvArray[ offset_uv + 1 ] = uvi.y;
+
+					offset_uv += 2;
+
+				}
+
+			}
+
+			if ( offset_uv > 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglUVBuffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, uvArray, hint );
+
+			}
+
+		}
+
+		if ( dirtyUvs && obj_uvs2 && uvType ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				fi = chunk_faces3[ f ];
+
+				uv2 = obj_uvs2[ fi ];
+
+				if ( uv2 === undefined ) continue;
+
+				for ( i = 0; i < 3; i ++ ) {
+
+					uv2i = uv2[ i ];
+
+					uv2Array[ offset_uv2 ]     = uv2i.x;
+					uv2Array[ offset_uv2 + 1 ] = uv2i.y;
+
+					offset_uv2 += 2;
+
+				}
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				fi = chunk_faces4[ f ];
+
+				uv2 = obj_uvs2[ fi ];
+
+				if ( uv2 === undefined ) continue;
+
+				for ( i = 0; i < 4; i ++ ) {
+
+					uv2i = uv2[ i ];
+
+					uv2Array[ offset_uv2 ]     = uv2i.x;
+					uv2Array[ offset_uv2 + 1 ] = uv2i.y;
+
+					offset_uv2 += 2;
+
+				}
+
+			}
+
+			if ( offset_uv2 > 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglUV2Buffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, uv2Array, hint );
+
+			}
+
+		}
+
+		if ( dirtyElements ) {
+
+			for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+				faceArray[ offset_face ] 	 = vertexIndex;
+				faceArray[ offset_face + 1 ] = vertexIndex + 1;
+				faceArray[ offset_face + 2 ] = vertexIndex + 2;
+
+				offset_face += 3;
+
+				lineArray[ offset_line ]     = vertexIndex;
+				lineArray[ offset_line + 1 ] = vertexIndex + 1;
+
+				lineArray[ offset_line + 2 ] = vertexIndex;
+				lineArray[ offset_line + 3 ] = vertexIndex + 2;
+
+				lineArray[ offset_line + 4 ] = vertexIndex + 1;
+				lineArray[ offset_line + 5 ] = vertexIndex + 2;
+
+				offset_line += 6;
+
+				vertexIndex += 3;
+
+			}
+
+			for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+				faceArray[ offset_face ]     = vertexIndex;
+				faceArray[ offset_face + 1 ] = vertexIndex + 1;
+				faceArray[ offset_face + 2 ] = vertexIndex + 3;
+
+				faceArray[ offset_face + 3 ] = vertexIndex + 1;
+				faceArray[ offset_face + 4 ] = vertexIndex + 2;
+				faceArray[ offset_face + 5 ] = vertexIndex + 3;
+
+				offset_face += 6;
+
+				lineArray[ offset_line ]     = vertexIndex;
+				lineArray[ offset_line + 1 ] = vertexIndex + 1;
+
+				lineArray[ offset_line + 2 ] = vertexIndex;
+				lineArray[ offset_line + 3 ] = vertexIndex + 3;
+
+				lineArray[ offset_line + 4 ] = vertexIndex + 1;
+				lineArray[ offset_line + 5 ] = vertexIndex + 2;
+
+				lineArray[ offset_line + 6 ] = vertexIndex + 2;
+				lineArray[ offset_line + 7 ] = vertexIndex + 3;
+
+				offset_line += 8;
+
+				vertexIndex += 4;
+
+			}
+
+			_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryGroup.__webglFaceBuffer );
+			_gl.bufferData( _gl.ELEMENT_ARRAY_BUFFER, faceArray, hint );
+
+			_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryGroup.__webglLineBuffer );
+			_gl.bufferData( _gl.ELEMENT_ARRAY_BUFFER, lineArray, hint );
+
+		}
+
+		if ( customAttributes ) {
+
+			for ( i = 0, il = customAttributes.length; i < il; i ++ ) {
+
+				customAttribute = customAttributes[ i ];
+
+				if ( ! customAttribute.__original.needsUpdate ) continue;
+
+				offset_custom = 0;
+				offset_customSrc = 0;
+
+				if ( customAttribute.size === 1 ) {
+
+					if ( customAttribute.boundTo === undefined || customAttribute.boundTo === "vertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces3[ f ]	];
+
+							customAttribute.array[ offset_custom ] 	   = customAttribute.value[ face.a ];
+							customAttribute.array[ offset_custom + 1 ] = customAttribute.value[ face.b ];
+							customAttribute.array[ offset_custom + 2 ] = customAttribute.value[ face.c ];
+
+							offset_custom += 3;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces4[ f ] ];
+
+							customAttribute.array[ offset_custom ] 	   = customAttribute.value[ face.a ];
+							customAttribute.array[ offset_custom + 1 ] = customAttribute.value[ face.b ];
+							customAttribute.array[ offset_custom + 2 ] = customAttribute.value[ face.c ];
+							customAttribute.array[ offset_custom + 3 ] = customAttribute.value[ face.d ];
+
+							offset_custom += 4;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faces" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							customAttribute.array[ offset_custom ] 	   = value;
+							customAttribute.array[ offset_custom + 1 ] = value;
+							customAttribute.array[ offset_custom + 2 ] = value;
+
+							offset_custom += 3;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							customAttribute.array[ offset_custom ] 	   = value;
+							customAttribute.array[ offset_custom + 1 ] = value;
+							customAttribute.array[ offset_custom + 2 ] = value;
+							customAttribute.array[ offset_custom + 3 ] = value;
+
+							offset_custom += 4;
+
+						}
+
+					}
+
+				} else if ( customAttribute.size === 2 ) {
+
+					if ( customAttribute.boundTo === undefined || customAttribute.boundTo === "vertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces3[ f ]	];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+
+							customAttribute.array[ offset_custom ] 	   = v1.x;
+							customAttribute.array[ offset_custom + 1 ] = v1.y;
+
+							customAttribute.array[ offset_custom + 2 ] = v2.x;
+							customAttribute.array[ offset_custom + 3 ] = v2.y;
+
+							customAttribute.array[ offset_custom + 4 ] = v3.x;
+							customAttribute.array[ offset_custom + 5 ] = v3.y;
+
+							offset_custom += 6;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces4[ f ] ];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+							v4 = customAttribute.value[ face.d ];
+
+							customAttribute.array[ offset_custom ] 	   = v1.x;
+							customAttribute.array[ offset_custom + 1 ] = v1.y;
+
+							customAttribute.array[ offset_custom + 2 ] = v2.x;
+							customAttribute.array[ offset_custom + 3 ] = v2.y;
+
+							customAttribute.array[ offset_custom + 4 ] = v3.x;
+							customAttribute.array[ offset_custom + 5 ] = v3.y;
+
+							customAttribute.array[ offset_custom + 6 ] = v4.x;
+							customAttribute.array[ offset_custom + 7 ] = v4.y;
+
+							offset_custom += 8;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faces" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+
+							customAttribute.array[ offset_custom ] 	   = v1.x;
+							customAttribute.array[ offset_custom + 1 ] = v1.y;
+
+							customAttribute.array[ offset_custom + 2 ] = v2.x;
+							customAttribute.array[ offset_custom + 3 ] = v2.y;
+
+							customAttribute.array[ offset_custom + 4 ] = v3.x;
+							customAttribute.array[ offset_custom + 5 ] = v3.y;
+
+							offset_custom += 6;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+							v4 = value;
+
+							customAttribute.array[ offset_custom ] 	   = v1.x;
+							customAttribute.array[ offset_custom + 1 ] = v1.y;
+
+							customAttribute.array[ offset_custom + 2 ] = v2.x;
+							customAttribute.array[ offset_custom + 3 ] = v2.y;
+
+							customAttribute.array[ offset_custom + 4 ] = v3.x;
+							customAttribute.array[ offset_custom + 5 ] = v3.y;
+
+							customAttribute.array[ offset_custom + 6 ] = v4.x;
+							customAttribute.array[ offset_custom + 7 ] = v4.y;
+
+							offset_custom += 8;
+
+						}
+
+					}
+
+				} else if ( customAttribute.size === 3 ) {
+
+					var pp;
+
+					if ( customAttribute.type === "c" ) {
+
+						pp = [ "r", "g", "b" ];
+
+					} else {
+
+						pp = [ "x", "y", "z" ];
+
+					}
+
+					if ( customAttribute.boundTo === undefined || customAttribute.boundTo === "vertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces3[ f ]	];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+
+							customAttribute.array[ offset_custom ] 	   = v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1 ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2 ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3 ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4 ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5 ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6 ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7 ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8 ] = v3[ pp[ 2 ] ];
+
+							offset_custom += 9;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces4[ f ] ];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+							v4 = customAttribute.value[ face.d ];
+
+							customAttribute.array[ offset_custom  ] 	= v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1  ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2  ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3  ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4  ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5  ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6  ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7  ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8  ] = v3[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 9  ] = v4[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 10 ] = v4[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 11 ] = v4[ pp[ 2 ] ];
+
+							offset_custom += 12;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faces" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+
+							customAttribute.array[ offset_custom ] 	   = v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1 ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2 ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3 ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4 ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5 ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6 ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7 ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8 ] = v3[ pp[ 2 ] ];
+
+							offset_custom += 9;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+							v4 = value;
+
+							customAttribute.array[ offset_custom  ] 	= v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1  ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2  ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3  ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4  ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5  ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6  ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7  ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8  ] = v3[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 9  ] = v4[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 10 ] = v4[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 11 ] = v4[ pp[ 2 ] ];
+
+							offset_custom += 12;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faceVertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							v1 = value[ 0 ];
+							v2 = value[ 1 ];
+							v3 = value[ 2 ];
+
+							customAttribute.array[ offset_custom ] 	   = v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1 ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2 ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3 ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4 ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5 ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6 ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7 ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8 ] = v3[ pp[ 2 ] ];
+
+							offset_custom += 9;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							v1 = value[ 0 ];
+							v2 = value[ 1 ];
+							v3 = value[ 2 ];
+							v4 = value[ 3 ];
+
+							customAttribute.array[ offset_custom  ] 	= v1[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 1  ] = v1[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 2  ] = v1[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 3  ] = v2[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 4  ] = v2[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 5  ] = v2[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 6  ] = v3[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 7  ] = v3[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 8  ] = v3[ pp[ 2 ] ];
+
+							customAttribute.array[ offset_custom + 9  ] = v4[ pp[ 0 ] ];
+							customAttribute.array[ offset_custom + 10 ] = v4[ pp[ 1 ] ];
+							customAttribute.array[ offset_custom + 11 ] = v4[ pp[ 2 ] ];
+
+							offset_custom += 12;
+
+						}
+
+					}
+
+				} else if ( customAttribute.size === 4 ) {
+
+					if ( customAttribute.boundTo === undefined || customAttribute.boundTo === "vertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces3[ f ]	];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							offset_custom += 12;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							face = obj_faces[ chunk_faces4[ f ] ];
+
+							v1 = customAttribute.value[ face.a ];
+							v2 = customAttribute.value[ face.b ];
+							v3 = customAttribute.value[ face.c ];
+							v4 = customAttribute.value[ face.d ];
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							customAttribute.array[ offset_custom + 12 ] = v4.x;
+							customAttribute.array[ offset_custom + 13 ] = v4.y;
+							customAttribute.array[ offset_custom + 14 ] = v4.z;
+							customAttribute.array[ offset_custom + 15 ] = v4.w;
+
+							offset_custom += 16;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faces" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							offset_custom += 12;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							v1 = value;
+							v2 = value;
+							v3 = value;
+							v4 = value;
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							customAttribute.array[ offset_custom + 12 ] = v4.x;
+							customAttribute.array[ offset_custom + 13 ] = v4.y;
+							customAttribute.array[ offset_custom + 14 ] = v4.z;
+							customAttribute.array[ offset_custom + 15 ] = v4.w;
+
+							offset_custom += 16;
+
+						}
+
+					} else if ( customAttribute.boundTo === "faceVertices" ) {
+
+						for ( f = 0, fl = chunk_faces3.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces3[ f ] ];
+
+							v1 = value[ 0 ];
+							v2 = value[ 1 ];
+							v3 = value[ 2 ];
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							offset_custom += 12;
+
+						}
+
+						for ( f = 0, fl = chunk_faces4.length; f < fl; f ++ ) {
+
+							value = customAttribute.value[ chunk_faces4[ f ] ];
+
+							v1 = value[ 0 ];
+							v2 = value[ 1 ];
+							v3 = value[ 2 ];
+							v4 = value[ 3 ];
+
+							customAttribute.array[ offset_custom  ] 	= v1.x;
+							customAttribute.array[ offset_custom + 1  ] = v1.y;
+							customAttribute.array[ offset_custom + 2  ] = v1.z;
+							customAttribute.array[ offset_custom + 3  ] = v1.w;
+
+							customAttribute.array[ offset_custom + 4  ] = v2.x;
+							customAttribute.array[ offset_custom + 5  ] = v2.y;
+							customAttribute.array[ offset_custom + 6  ] = v2.z;
+							customAttribute.array[ offset_custom + 7  ] = v2.w;
+
+							customAttribute.array[ offset_custom + 8  ] = v3.x;
+							customAttribute.array[ offset_custom + 9  ] = v3.y;
+							customAttribute.array[ offset_custom + 10 ] = v3.z;
+							customAttribute.array[ offset_custom + 11 ] = v3.w;
+
+							customAttribute.array[ offset_custom + 12 ] = v4.x;
+							customAttribute.array[ offset_custom + 13 ] = v4.y;
+							customAttribute.array[ offset_custom + 14 ] = v4.z;
+							customAttribute.array[ offset_custom + 15 ] = v4.w;
+
+							offset_custom += 16;
+
+						}
+
+					}
+
+				}
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, customAttribute.buffer );
+				_gl.bufferData( _gl.ARRAY_BUFFER, customAttribute.array, hint );
+
+			}
+
+		}
+
+		if ( dispose ) {
+
+			delete geometryGroup.__inittedArrays;
+			delete geometryGroup.__colorArray;
+			delete geometryGroup.__normalArray;
+			delete geometryGroup.__tangentArray;
+			delete geometryGroup.__uvArray;
+			delete geometryGroup.__uv2Array;
+			delete geometryGroup.__faceArray;
+			delete geometryGroup.__vertexArray;
+			delete geometryGroup.__lineArray;
+			delete geometryGroup.__skinIndexArray;
+			delete geometryGroup.__skinWeightArray;
+
+		}
+
+	};
+
+	function setDirectBuffers ( geometry, hint, dispose ) {
+
+		var attributes = geometry.attributes;
+
+		var index = attributes[ "index" ];
+		var position = attributes[ "position" ];
+		var normal = attributes[ "normal" ];
+		var uv = attributes[ "uv" ];
+		var color = attributes[ "color" ];
+		var tangent = attributes[ "tangent" ];
+
+		if ( geometry.elementsNeedUpdate && index !== undefined ) {
+
+			_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
+			_gl.bufferData( _gl.ELEMENT_ARRAY_BUFFER, index.array, hint );
+
+		}
+
+		if ( geometry.verticesNeedUpdate && position !== undefined ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, position.buffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, position.array, hint );
+
+		}
+
+		if ( geometry.normalsNeedUpdate && normal !== undefined ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, normal.buffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, normal.array, hint );
+
+		}
+
+		if ( geometry.uvsNeedUpdate && uv !== undefined ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, uv.buffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, uv.array, hint );
+
+		}
+
+		if ( geometry.colorsNeedUpdate && color !== undefined ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, color.buffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, color.array, hint );
+
+		}
+
+		if ( geometry.tangentsNeedUpdate && tangent !== undefined ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, tangent.buffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, tangent.array, hint );
+
+		}
+
+		if ( dispose ) {
+
+			for ( var i in geometry.attributes ) {
+
+				delete geometry.attributes[ i ].array;
+
+			}
+
+		}
+
+	};
+
+	// Buffer rendering
+
+	this.renderBufferImmediate = function ( object, program, material ) {
+
+		if ( object.hasPositions && ! object.__webglVertexBuffer ) object.__webglVertexBuffer = _gl.createBuffer();
+		if ( object.hasNormals && ! object.__webglNormalBuffer ) object.__webglNormalBuffer = _gl.createBuffer();
+		if ( object.hasUvs && ! object.__webglUvBuffer ) object.__webglUvBuffer = _gl.createBuffer();
+		if ( object.hasColors && ! object.__webglColorBuffer ) object.__webglColorBuffer = _gl.createBuffer();
+
+		if ( object.hasPositions ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, object.__webglVertexBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, object.positionArray, _gl.DYNAMIC_DRAW );
+			_gl.enableVertexAttribArray( program.attributes.position );
+			_gl.vertexAttribPointer( program.attributes.position, 3, _gl.FLOAT, false, 0, 0 );
+
+		}
+
+		if ( object.hasNormals ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, object.__webglNormalBuffer );
+
+			if ( material.shading === THREE.FlatShading ) {
+
+				var nx, ny, nz,
+					nax, nbx, ncx, nay, nby, ncy, naz, nbz, ncz,
+					normalArray,
+					i, il = object.count * 3;
+
+				for( i = 0; i < il; i += 9 ) {
+
+					normalArray = object.normalArray;
+
+					nax  = normalArray[ i ];
+					nay  = normalArray[ i + 1 ];
+					naz  = normalArray[ i + 2 ];
+
+					nbx  = normalArray[ i + 3 ];
+					nby  = normalArray[ i + 4 ];
+					nbz  = normalArray[ i + 5 ];
+
+					ncx  = normalArray[ i + 6 ];
+					ncy  = normalArray[ i + 7 ];
+					ncz  = normalArray[ i + 8 ];
+
+					nx = ( nax + nbx + ncx ) / 3;
+					ny = ( nay + nby + ncy ) / 3;
+					nz = ( naz + nbz + ncz ) / 3;
+
+					normalArray[ i ] 	 = nx;
+					normalArray[ i + 1 ] = ny;
+					normalArray[ i + 2 ] = nz;
+
+					normalArray[ i + 3 ] = nx;
+					normalArray[ i + 4 ] = ny;
+					normalArray[ i + 5 ] = nz;
+
+					normalArray[ i + 6 ] = nx;
+					normalArray[ i + 7 ] = ny;
+					normalArray[ i + 8 ] = nz;
+
+				}
+
+			}
+
+			_gl.bufferData( _gl.ARRAY_BUFFER, object.normalArray, _gl.DYNAMIC_DRAW );
+			_gl.enableVertexAttribArray( program.attributes.normal );
+			_gl.vertexAttribPointer( program.attributes.normal, 3, _gl.FLOAT, false, 0, 0 );
+
+		}
+
+		if ( object.hasUvs && material.map ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, object.__webglUvBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, object.uvArray, _gl.DYNAMIC_DRAW );
+			_gl.enableVertexAttribArray( program.attributes.uv );
+			_gl.vertexAttribPointer( program.attributes.uv, 2, _gl.FLOAT, false, 0, 0 );
+
+		}
+
+		if ( object.hasColors && material.vertexColors !== THREE.NoColors ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, object.__webglColorBuffer );
+			_gl.bufferData( _gl.ARRAY_BUFFER, object.colorArray, _gl.DYNAMIC_DRAW );
+			_gl.enableVertexAttribArray( program.attributes.color );
+			_gl.vertexAttribPointer( program.attributes.color, 3, _gl.FLOAT, false, 0, 0 );
+
+		}
+
+		_gl.drawArrays( _gl.TRIANGLES, 0, object.count );
+
+		object.count = 0;
+
+	};
+
+	this.renderBufferDirect = function ( camera, lights, fog, material, geometry, object ) {
+
+		if ( material.visible === false ) return;
+
+		var program, attributes, linewidth, primitives, a, attribute;
+
+		program = setProgram( camera, lights, fog, material, object );
+
+		attributes = program.attributes;
+
+		var updateBuffers = false,
+			wireframeBit = material.wireframe ? 1 : 0,
+			geometryHash = ( geometry.id * 0xffffff ) + ( program.id * 2 ) + wireframeBit;
+
+		if ( geometryHash !== _currentGeometryGroupHash ) {
+
+			_currentGeometryGroupHash = geometryHash;
+			updateBuffers = true;
+
+		}
+
+		if ( updateBuffers ) {
+
+			disableAttributes();
+
+		}
+
+		// render mesh
+
+		if ( object instanceof THREE.Mesh ) {
+
+			var index = geometry.attributes[ "index" ];
+
+			// indexed triangles
+
+			if ( index ) {
+
+				var offsets = geometry.offsets;
+
+				// if there is more than 1 chunk
+				// must set attribute pointers to use new offsets for each chunk
+				// even if geometry and materials didn't change
+
+				if ( offsets.length > 1 ) updateBuffers = true;
+
+				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+
+					var startIndex = offsets[ i ].index;
+
+					if ( updateBuffers ) {
+
+						// vertices
+
+						var position = geometry.attributes[ "position" ];
+						var positionSize = position.itemSize;
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, position.buffer );
+						enableAttribute( attributes.position );
+						_gl.vertexAttribPointer( attributes.position, positionSize, _gl.FLOAT, false, 0, startIndex * positionSize * 4 ); // 4 bytes per Float32
+
+						// normals
+
+						var normal = geometry.attributes[ "normal" ];
+
+						if ( attributes.normal >= 0 && normal ) {
+
+							var normalSize = normal.itemSize;
+
+							_gl.bindBuffer( _gl.ARRAY_BUFFER, normal.buffer );
+							enableAttribute( attributes.normal );
+							_gl.vertexAttribPointer( attributes.normal, normalSize, _gl.FLOAT, false, 0, startIndex * normalSize * 4 );
+
+						}
+
+						// uvs
+
+						var uv = geometry.attributes[ "uv" ];
+
+						if ( attributes.uv >= 0 && uv ) {
+
+							var uvSize = uv.itemSize;
+
+							_gl.bindBuffer( _gl.ARRAY_BUFFER, uv.buffer );
+							enableAttribute( attributes.uv );
+							_gl.vertexAttribPointer( attributes.uv, uvSize, _gl.FLOAT, false, 0, startIndex * uvSize * 4 );
+
+						}
+
+						// colors
+
+						var color = geometry.attributes[ "color" ];
+
+						if ( attributes.color >= 0 && color ) {
+
+							var colorSize = color.itemSize;
+
+							_gl.bindBuffer( _gl.ARRAY_BUFFER, color.buffer );
+							enableAttribute( attributes.color );
+							_gl.vertexAttribPointer( attributes.color, colorSize, _gl.FLOAT, false, 0, startIndex * colorSize * 4 );
+
+						}
+
+						// tangents
+
+						var tangent = geometry.attributes[ "tangent" ];
+
+						if ( attributes.tangent >= 0 && tangent ) {
+
+							var tangentSize = tangent.itemSize;
+
+							_gl.bindBuffer( _gl.ARRAY_BUFFER, tangent.buffer );
+							enableAttribute( attributes.tangent );
+							_gl.vertexAttribPointer( attributes.tangent, tangentSize, _gl.FLOAT, false, 0, startIndex * tangentSize * 4 );
+
+						}
+
+						// indices
+
+						_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
+
+					}
+
+					// render indexed triangles
+
+					_gl.drawElements( _gl.TRIANGLES, offsets[ i ].count, _gl.UNSIGNED_SHORT, offsets[ i ].start * 2 ); // 2 bytes per Uint16
+
+					_this.info.render.calls ++;
+					_this.info.render.vertices += offsets[ i ].count; // not really true, here vertices can be shared
+					_this.info.render.faces += offsets[ i ].count / 3;
+
+				}
+
+			// non-indexed triangles
+
+			} else {
+
+				if ( updateBuffers ) {
+
+					// vertices
+
+					var position = geometry.attributes[ "position" ];
+					var positionSize = position.itemSize;
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, position.buffer );
+					enableAttribute( attributes.position );
+					_gl.vertexAttribPointer( attributes.position, positionSize, _gl.FLOAT, false, 0, 0 );
+
+					// normals
+
+					var normal = geometry.attributes[ "normal" ];
+
+					if ( attributes.normal >= 0 && normal ) {
+
+						var normalSize = normal.itemSize;
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, normal.buffer );
+						enableAttribute( attributes.normal );
+						_gl.vertexAttribPointer( attributes.normal, normalSize, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+					// uvs
+
+					var uv = geometry.attributes[ "uv" ];
+
+					if ( attributes.uv >= 0 && uv ) {
+
+						var uvSize = uv.itemSize;
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, uv.buffer );
+						enableAttribute( attributes.uv );
+						_gl.vertexAttribPointer( attributes.uv, uvSize, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+					// colors
+
+					var color = geometry.attributes[ "color" ];
+
+					if ( attributes.color >= 0 && color ) {
+
+						var colorSize = color.itemSize;
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, color.buffer );
+						enableAttribute( attributes.color );
+						_gl.vertexAttribPointer( attributes.color, colorSize, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+					// tangents
+
+					var tangent = geometry.attributes[ "tangent" ];
+
+					if ( attributes.tangent >= 0 && tangent ) {
+
+						var tangentSize = tangent.itemSize;
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, tangent.buffer );
+						enableAttribute( attributes.tangent );
+						_gl.vertexAttribPointer( attributes.tangent, tangentSize, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+				}
+
+				// render non-indexed triangles
+
+				_gl.drawArrays( _gl.TRIANGLES, 0, position.numItems / 3 );
+
+				_this.info.render.calls ++;
+				_this.info.render.vertices += position.numItems / 3;
+				_this.info.render.faces += position.numItems / 3 / 3;
+
+			}
+
+		// render particles
+
+		} else if ( object instanceof THREE.ParticleSystem ) {
+
+			if ( updateBuffers ) {
+
+				// vertices
+
+				var position = geometry.attributes[ "position" ];
+				var positionSize = position.itemSize;
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, position.buffer );
+				enableAttribute( attributes.position );
+				_gl.vertexAttribPointer( attributes.position, positionSize, _gl.FLOAT, false, 0, 0 );
+
+				// colors
+
+				var color = geometry.attributes[ "color" ];
+
+				if ( attributes.color >= 0 && color ) {
+
+					var colorSize = color.itemSize;
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, color.buffer );
+					enableAttribute( attributes.color );
+					_gl.vertexAttribPointer( attributes.color, colorSize, _gl.FLOAT, false, 0, 0 );
+
+				}
+
+				// render particles
+
+				_gl.drawArrays( _gl.POINTS, 0, position.numItems / 3 );
+
+				_this.info.render.calls ++;
+				_this.info.render.points += position.numItems / 3;
+
+			}
+
+		} else if ( object instanceof THREE.Line ) {
+
+			if ( updateBuffers ) {
+
+				// vertices
+
+				var position = geometry.attributes[ "position" ];
+				var positionSize = position.itemSize;
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, position.buffer );
+				enableAttribute( attributes.position );
+				_gl.vertexAttribPointer( attributes.position, positionSize, _gl.FLOAT, false, 0, 0 );
+
+				// colors
+
+				var color = geometry.attributes[ "color" ];
+
+				if ( attributes.color >= 0 && color ) {
+
+					var colorSize = color.itemSize;
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, color.buffer );
+					enableAttribute( attributes.color );
+					_gl.vertexAttribPointer( attributes.color, colorSize, _gl.FLOAT, false, 0, 0 );
+
+				}
+
+				// render lines
+
+				setLineWidth( material.linewidth );
+
+				_gl.drawArrays( _gl.LINE_STRIP, 0, position.numItems / 3 );
+
+				_this.info.render.calls ++;
+				_this.info.render.points += position.numItems;
+
+			}
+
+    }
+
+	};
+
+	this.renderBuffer = function ( camera, lights, fog, material, geometryGroup, object ) {
+
+		if ( material.visible === false ) return;
+
+		var program, attributes, linewidth, primitives, a, attribute, i, il;
+
+		program = setProgram( camera, lights, fog, material, object );
+
+		attributes = program.attributes;
+
+		var updateBuffers = false,
+			wireframeBit = material.wireframe ? 1 : 0,
+			geometryGroupHash = ( geometryGroup.id * 0xffffff ) + ( program.id * 2 ) + wireframeBit;
+
+		if ( geometryGroupHash !== _currentGeometryGroupHash ) {
+
+			_currentGeometryGroupHash = geometryGroupHash;
+			updateBuffers = true;
+
+		}
+
+		if ( updateBuffers ) {
+
+			disableAttributes();
+
+		}
+
+		// vertices
+
+		if ( !material.morphTargets && attributes.position >= 0 ) {
+
+			if ( updateBuffers ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglVertexBuffer );
+				enableAttribute( attributes.position );
+				_gl.vertexAttribPointer( attributes.position, 3, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+		} else {
+
+			if ( object.morphTargetBase ) {
+
+				setupMorphTargets( material, geometryGroup, object );
+
+			}
+
+		}
+
+
+		if ( updateBuffers ) {
+
+			// custom attributes
+
+			// Use the per-geometryGroup custom attribute arrays which are setup in initMeshBuffers
+
+			if ( geometryGroup.__webglCustomAttributesList ) {
+
+				for ( i = 0, il = geometryGroup.__webglCustomAttributesList.length; i < il; i ++ ) {
+
+					attribute = geometryGroup.__webglCustomAttributesList[ i ];
+
+					if ( attributes[ attribute.buffer.belongsToAttribute ] >= 0 ) {
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, attribute.buffer );
+						enableAttribute( attributes[ attribute.buffer.belongsToAttribute ] );
+						_gl.vertexAttribPointer( attributes[ attribute.buffer.belongsToAttribute ], attribute.size, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+				}
+
+			}
+
+
+			// colors
+
+			if ( attributes.color >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglColorBuffer );
+				enableAttribute( attributes.color );
+				_gl.vertexAttribPointer( attributes.color, 3, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			// normals
+
+			if ( attributes.normal >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglNormalBuffer );
+				enableAttribute( attributes.normal );
+				_gl.vertexAttribPointer( attributes.normal, 3, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			// tangents
+
+			if ( attributes.tangent >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglTangentBuffer );
+				enableAttribute( attributes.tangent );
+				_gl.vertexAttribPointer( attributes.tangent, 4, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			// uvs
+
+			if ( attributes.uv >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglUVBuffer );
+				enableAttribute( attributes.uv );
+				_gl.vertexAttribPointer( attributes.uv, 2, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			if ( attributes.uv2 >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglUV2Buffer );
+				enableAttribute( attributes.uv2 );
+				_gl.vertexAttribPointer( attributes.uv2, 2, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			if ( material.skinning &&
+				 attributes.skinIndex >= 0 && attributes.skinWeight >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglSkinIndicesBuffer );
+				enableAttribute( attributes.skinIndex );
+				_gl.vertexAttribPointer( attributes.skinIndex, 4, _gl.FLOAT, false, 0, 0 );
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglSkinWeightsBuffer );
+				enableAttribute( attributes.skinWeight );
+				_gl.vertexAttribPointer( attributes.skinWeight, 4, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+			// line distances
+
+			if ( attributes.lineDistance >= 0 ) {
+
+				_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglLineDistanceBuffer );
+				enableAttribute( attributes.lineDistance );
+				_gl.vertexAttribPointer( attributes.lineDistance, 1, _gl.FLOAT, false, 0, 0 );
+
+			}
+
+		}
+
+		// render mesh
+
+		if ( object instanceof THREE.Mesh ) {
+
+			// wireframe
+
+			if ( material.wireframe ) {
+
+				setLineWidth( material.wireframeLinewidth );
+
+				if ( updateBuffers ) _gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryGroup.__webglLineBuffer );
+				_gl.drawElements( _gl.LINES, geometryGroup.__webglLineCount, _gl.UNSIGNED_SHORT, 0 );
+
+			// triangles
+
+			} else {
+
+				if ( updateBuffers ) _gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryGroup.__webglFaceBuffer );
+				_gl.drawElements( _gl.TRIANGLES, geometryGroup.__webglFaceCount, _gl.UNSIGNED_SHORT, 0 );
+
+			}
+
+			_this.info.render.calls ++;
+			_this.info.render.vertices += geometryGroup.__webglFaceCount;
+			_this.info.render.faces += geometryGroup.__webglFaceCount / 3;
+
+		// render lines
+
+		} else if ( object instanceof THREE.Line ) {
+
+			primitives = ( object.type === THREE.LineStrip ) ? _gl.LINE_STRIP : _gl.LINES;
+
+			setLineWidth( material.linewidth );
+
+			_gl.drawArrays( primitives, 0, geometryGroup.__webglLineCount );
+
+			_this.info.render.calls ++;
+
+		// render particles
+
+		} else if ( object instanceof THREE.ParticleSystem ) {
+
+			_gl.drawArrays( _gl.POINTS, 0, geometryGroup.__webglParticleCount );
+
+			_this.info.render.calls ++;
+			_this.info.render.points += geometryGroup.__webglParticleCount;
+
+		// render ribbon
+
+		} else if ( object instanceof THREE.Ribbon ) {
+
+			_gl.drawArrays( _gl.TRIANGLE_STRIP, 0, geometryGroup.__webglVertexCount );
+
+			_this.info.render.calls ++;
+
+		}
+
+	};
+
+	function enableAttribute( attribute ) {
+
+		if ( ! _enabledAttributes[ attribute ] ) {
+
+			_gl.enableVertexAttribArray( attribute );
+			_enabledAttributes[ attribute ] = true;
+
+		}
+
+	};
+
+	function disableAttributes() {
+
+		for ( var attribute in _enabledAttributes ) {
+
+			if ( _enabledAttributes[ attribute ] ) {
+
+				_gl.disableVertexAttribArray( attribute );
+				_enabledAttributes[ attribute ] = false;
+
+			}
+
+		}
+
+	};
+
+	function setupMorphTargets ( material, geometryGroup, object ) {
+
+		// set base
+
+		var attributes = material.program.attributes;
+
+		if ( object.morphTargetBase !== -1 && attributes.position >= 0 ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphTargetsBuffers[ object.morphTargetBase ] );
+			enableAttribute( attributes.position );
+			_gl.vertexAttribPointer( attributes.position, 3, _gl.FLOAT, false, 0, 0 );
+
+		} else if ( attributes.position >= 0 ) {
+
+			_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglVertexBuffer );
+			enableAttribute( attributes.position );
+			_gl.vertexAttribPointer( attributes.position, 3, _gl.FLOAT, false, 0, 0 );
+
+		}
+
+		if ( object.morphTargetForcedOrder.length ) {
+
+			// set forced order
+
+			var m = 0;
+			var order = object.morphTargetForcedOrder;
+			var influences = object.morphTargetInfluences;
+
+			while ( m < material.numSupportedMorphTargets && m < order.length ) {
+
+				if ( attributes[ "morphTarget" + m ] >= 0 ) {
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphTargetsBuffers[ order[ m ] ] );
+					enableAttribute( attributes[ "morphTarget" + m ] );
+					_gl.vertexAttribPointer( attributes[ "morphTarget" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+				}
+
+				if ( attributes[ "morphNormal" + m ] >= 0 && material.morphNormals ) {
+
+					_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphNormalsBuffers[ order[ m ] ] );
+					enableAttribute( attributes[ "morphNormal" + m ] );
+					_gl.vertexAttribPointer( attributes[ "morphNormal" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+				}
+
+				object.__webglMorphTargetInfluences[ m ] = influences[ order[ m ] ];
+
+				m ++;
+			}
+
+		} else {
+
+			// find the most influencing
+
+			var influence, activeInfluenceIndices = [];
+			var influences = object.morphTargetInfluences;
+			var i, il = influences.length;
+
+			for ( i = 0; i < il; i ++ ) {
+
+				influence = influences[ i ];
+
+				if ( influence > 0 ) {
+
+					activeInfluenceIndices.push( [ influence, i ] );
+
+				}
+
+			}
+
+			if ( activeInfluenceIndices.length > material.numSupportedMorphTargets ) {
+
+				activeInfluenceIndices.sort( numericalSort );
+				activeInfluenceIndices.length = material.numSupportedMorphTargets;
+
+			} else if ( activeInfluenceIndices.length > material.numSupportedMorphNormals ) {
+
+				activeInfluenceIndices.sort( numericalSort );
+
+			} else if ( activeInfluenceIndices.length === 0 ) {
+
+				activeInfluenceIndices.push( [ 0, 0 ] );
+
+			};
+
+			var influenceIndex, m = 0;
+
+			while ( m < material.numSupportedMorphTargets ) {
+
+				if ( activeInfluenceIndices[ m ] ) {
+
+					influenceIndex = activeInfluenceIndices[ m ][ 1 ];
+
+					if ( attributes[ "morphTarget" + m ] >= 0 ) {
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphTargetsBuffers[ influenceIndex ] );
+						enableAttribute( attributes[ "morphTarget" + m ] );
+						_gl.vertexAttribPointer( attributes[ "morphTarget" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+					}
+
+					if ( attributes[ "morphNormal" + m ] >= 0 && material.morphNormals ) {
+
+						_gl.bindBuffer( _gl.ARRAY_BUFFER, geometryGroup.__webglMorphNormalsBuffers[ influenceIndex ] );
+						enableAttribute( attributes[ "morphNormal" + m ] );
+						_gl.vertexAttribPointer( attributes[ "morphNormal" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+
+					}
+
+					object.__webglMorphTargetInfluences[ m ] = influences[ influenceIndex ];
+
+				} else {
+
+					/*
+					_gl.vertexAttribPointer( attributes[ "morphTarget" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+					if ( material.morphNormals ) {
+
+						_gl.vertexAttribPointer( attributes[ "morphNormal" + m ], 3, _gl.FLOAT, false, 0, 0 );
+
+					}
+					*/
+
+					object.__webglMorphTargetInfluences[ m ] = 0;
+
+				}
+
+				m ++;
+
+			}
+
+		}
+
+		// load updated influences uniform
+
+		if ( material.program.uniforms.morphTargetInfluences !== null ) {
+
+			_gl.uniform1fv( material.program.uniforms.morphTargetInfluences, object.__webglMorphTargetInfluences );
+
+		}
+
+	};
+
+	// Sorting
+
+	function painterSortStable ( a, b ) {
+
+		if ( a.z !== b.z ) {
+
+			return b.z - a.z;
+
+		} else {
+
+			return b.id - a.id;
+
+		}
+
+	};
+
+	function numericalSort ( a, b ) {
+
+		return b[ 0 ] - a[ 0 ];
+
+	};
+
+
+	// Rendering
+
+	this.render = function ( scene, camera, renderTarget, forceClear ) {
+
+		if ( camera instanceof THREE.Camera === false ) {
+
+			console.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' );
+			return;
+
+		}
+
+		var i, il,
+
+		webglObject, object,
+		renderList,
+
+		lights = scene.__lights,
+		fog = scene.fog;
+
+		// reset caching for this frame
+
+		_currentMaterialId = -1;
+		_lightsNeedUpdate = true;
+
+		// update scene graph
+
+		if ( this.autoUpdateScene ) scene.updateMatrixWorld();
+
+		// update camera matrices and frustum
+
+		if ( camera.parent === undefined ) camera.updateMatrixWorld();
+
+		camera.matrixWorldInverse.getInverse( camera.matrixWorld );
+
+		_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
+		_frustum.setFromMatrix( _projScreenMatrix );
+
+		// update WebGL objects
+
+		if ( this.autoUpdateObjects ) this.initWebGLObjects( scene );
+
+		// custom render plugins (pre pass)
+
+		renderPlugins( this.renderPluginsPre, scene, camera );
+
+		//
+
+		_this.info.render.calls = 0;
+		_this.info.render.vertices = 0;
+		_this.info.render.faces = 0;
+		_this.info.render.points = 0;
+
+		this.setRenderTarget( renderTarget );
+
+		if ( this.autoClear || forceClear ) {
+
+			this.clear( this.autoClearColor, this.autoClearDepth, this.autoClearStencil );
+
+		}
+
+		// set matrices for regular objects (frustum culled)
+
+		renderList = scene.__webglObjects;
+
+		for ( i = 0, il = renderList.length; i < il; i ++ ) {
+
+			webglObject = renderList[ i ];
+			object = webglObject.object;
+
+			webglObject.render = false;
+
+			if ( object.visible ) {
+
+				if ( ! ( object instanceof THREE.Mesh || object instanceof THREE.ParticleSystem ) || ! ( object.frustumCulled ) || _frustum.intersectsObject( object ) ) {
+
+					setupMatrices( object, camera );
+
+					unrollBufferMaterial( webglObject );
+
+					webglObject.render = true;
+
+					if ( this.sortObjects === true ) {
+
+						if ( object.renderDepth !== null ) {
+
+							webglObject.z = object.renderDepth;
+
+						} else {
+
+							_vector3.getPositionFromMatrix( object.matrixWorld );
+							_vector3.applyProjection( _projScreenMatrix );
+
+							webglObject.z = _vector3.z;
+
+						}
+
+						webglObject.id = object.id;
+
+					}
+
+				}
+
+			}
+
+		}
+
+		if ( this.sortObjects ) {
+
+			renderList.sort( painterSortStable );
+
+		}
+
+		// set matrices for immediate objects
+
+		renderList = scene.__webglObjectsImmediate;
+
+		for ( i = 0, il = renderList.length; i < il; i ++ ) {
+
+			webglObject = renderList[ i ];
+			object = webglObject.object;
+
+			if ( object.visible ) {
+
+				setupMatrices( object, camera );
+
+				unrollImmediateBufferMaterial( webglObject );
+
+			}
+
+		}
+
+		if ( scene.overrideMaterial ) {
+
+			var material = scene.overrideMaterial;
+
+			this.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst );
+			this.setDepthTest( material.depthTest );
+			this.setDepthWrite( material.depthWrite );
+			setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
+
+			renderObjects( scene.__webglObjects, false, "", camera, lights, fog, true, material );
+			renderObjectsImmediate( scene.__webglObjectsImmediate, "", camera, lights, fog, false, material );
+
+		} else {
+
+			var material = null;
+
+			// opaque pass (front-to-back order)
+
+			this.setBlending( THREE.NoBlending );
+
+			renderObjects( scene.__webglObjects, true, "opaque", camera, lights, fog, false, material );
+			renderObjectsImmediate( scene.__webglObjectsImmediate, "opaque", camera, lights, fog, false, material );
+
+			// transparent pass (back-to-front order)
+
+			renderObjects( scene.__webglObjects, false, "transparent", camera, lights, fog, true, material );
+			renderObjectsImmediate( scene.__webglObjectsImmediate, "transparent", camera, lights, fog, true, material );
+
+		}
+
+		// custom render plugins (post pass)
+
+		renderPlugins( this.renderPluginsPost, scene, camera );
+
+
+		// Generate mipmap if we're using any kind of mipmap filtering
+
+		if ( renderTarget && renderTarget.generateMipmaps && renderTarget.minFilter !== THREE.NearestFilter && renderTarget.minFilter !== THREE.LinearFilter ) {
+
+			updateRenderTargetMipmap( renderTarget );
+
+		}
+
+		// Ensure depth buffer writing is enabled so it can be cleared on next render
+
+		this.setDepthTest( true );
+		this.setDepthWrite( true );
+
+		// _gl.finish();
+
+	};
+
+	function renderPlugins( plugins, scene, camera ) {
+
+		if ( ! plugins.length ) return;
+
+		for ( var i = 0, il = plugins.length; i < il; i ++ ) {
+
+			// reset state for plugin (to start from clean slate)
+
+			_currentProgram = null;
+			_currentCamera = null;
+
+			_oldBlending = -1;
+			_oldDepthTest = -1;
+			_oldDepthWrite = -1;
+			_oldDoubleSided = -1;
+			_oldFlipSided = -1;
+			_currentGeometryGroupHash = -1;
+			_currentMaterialId = -1;
+
+			_lightsNeedUpdate = true;
+
+			plugins[ i ].render( scene, camera, _currentWidth, _currentHeight );
+
+			// reset state after plugin (anything could have changed)
+
+			_currentProgram = null;
+			_currentCamera = null;
+
+			_oldBlending = -1;
+			_oldDepthTest = -1;
+			_oldDepthWrite = -1;
+			_oldDoubleSided = -1;
+			_oldFlipSided = -1;
+			_currentGeometryGroupHash = -1;
+			_currentMaterialId = -1;
+
+			_lightsNeedUpdate = true;
+
+		}
+
+	};
+
+	function renderObjects ( renderList, reverse, materialType, camera, lights, fog, useBlending, overrideMaterial ) {
+
+		var webglObject, object, buffer, material, start, end, delta;
+
+		if ( reverse ) {
+
+			start = renderList.length - 1;
+			end = -1;
+			delta = -1;
+
+		} else {
+
+			start = 0;
+			end = renderList.length;
+			delta = 1;
+		}
+
+		for ( var i = start; i !== end; i += delta ) {
+
+			webglObject = renderList[ i ];
+
+			if ( webglObject.render ) {
+
+				object = webglObject.object;
+				buffer = webglObject.buffer;
+
+				if ( overrideMaterial ) {
+
+					material = overrideMaterial;
+
+				} else {
+
+					material = webglObject[ materialType ];
+
+					if ( ! material ) continue;
+
+					if ( useBlending ) _this.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst );
+
+					_this.setDepthTest( material.depthTest );
+					_this.setDepthWrite( material.depthWrite );
+					setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
+
+				}
+
+				_this.setMaterialFaces( material );
+
+				if ( buffer instanceof THREE.BufferGeometry ) {
+
+					_this.renderBufferDirect( camera, lights, fog, material, buffer, object );
+
+				} else {
+
+					_this.renderBuffer( camera, lights, fog, material, buffer, object );
+
+				}
+
+			}
+
+		}
+
+	};
+
+	function renderObjectsImmediate ( renderList, materialType, camera, lights, fog, useBlending, overrideMaterial ) {
+
+		var webglObject, object, material, program;
+
+		for ( var i = 0, il = renderList.length; i < il; i ++ ) {
+
+			webglObject = renderList[ i ];
+			object = webglObject.object;
+
+			if ( object.visible ) {
+
+				if ( overrideMaterial ) {
+
+					material = overrideMaterial;
+
+				} else {
+
+					material = webglObject[ materialType ];
+
+					if ( ! material ) continue;
+
+					if ( useBlending ) _this.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst );
+
+					_this.setDepthTest( material.depthTest );
+					_this.setDepthWrite( material.depthWrite );
+					setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
+
+				}
+
+				_this.renderImmediateObject( camera, lights, fog, material, object );
+
+			}
+
+		}
+
+	};
+
+	this.renderImmediateObject = function ( camera, lights, fog, material, object ) {
+
+		var program = setProgram( camera, lights, fog, material, object );
+
+		_currentGeometryGroupHash = -1;
+
+		_this.setMaterialFaces( material );
+
+		if ( object.immediateRenderCallback ) {
+
+			object.immediateRenderCallback( program, _gl, _frustum );
+
+		} else {
+
+			object.render( function( object ) { _this.renderBufferImmediate( object, program, material ); } );
+
+		}
+
+	};
+
+	function unrollImmediateBufferMaterial ( globject ) {
+
+		var object = globject.object,
+			material = object.material;
+
+		if ( material.transparent ) {
+
+			globject.transparent = material;
+			globject.opaque = null;
+
+		} else {
+
+			globject.opaque = material;
+			globject.transparent = null;
+
+		}
+
+	};
+
+	function unrollBufferMaterial ( globject ) {
+
+		var object = globject.object,
+			buffer = globject.buffer,
+			material, materialIndex, meshMaterial;
+
+		meshMaterial = object.material;
+
+		if ( meshMaterial instanceof THREE.MeshFaceMaterial ) {
+
+			materialIndex = buffer.materialIndex;
+
+			material = meshMaterial.materials[ materialIndex ];
+
+			if ( material.transparent ) {
+
+				globject.transparent = material;
+				globject.opaque = null;
+
+			} else {
+
+				globject.opaque = material;
+				globject.transparent = null;
+
+			}
+
+		} else {
+
+			material = meshMaterial;
+
+			if ( material ) {
+
+				if ( material.transparent ) {
+
+					globject.transparent = material;
+					globject.opaque = null;
+
+				} else {
+
+					globject.opaque = material;
+					globject.transparent = null;
+
+				}
+
+			}
+
+		}
+
+	};
+
+	// Geometry splitting
+
+	function sortFacesByMaterial ( geometry, material ) {
+
+		var f, fl, face, materialIndex, vertices,
+			groupHash, hash_map = {};
+
+		var numMorphTargets = geometry.morphTargets.length;
+		var numMorphNormals = geometry.morphNormals.length;
+
+		var usesFaceMaterial = material instanceof THREE.MeshFaceMaterial;
+
+		geometry.geometryGroups = {};
+
+		for ( f = 0, fl = geometry.faces.length; f < fl; f ++ ) {
+
+			face = geometry.faces[ f ];
+			materialIndex = usesFaceMaterial ? face.materialIndex : 0;
+
+			if ( hash_map[ materialIndex ] === undefined ) {
+
+				hash_map[ materialIndex ] = { 'hash': materialIndex, 'counter': 0 };
+
+			}
+
+			groupHash = hash_map[ materialIndex ].hash + '_' + hash_map[ materialIndex ].counter;
+
+			if ( geometry.geometryGroups[ groupHash ] === undefined ) {
+
+				geometry.geometryGroups[ groupHash ] = { 'faces3': [], 'faces4': [], 'materialIndex': materialIndex, 'vertices': 0, 'numMorphTargets': numMorphTargets, 'numMorphNormals': numMorphNormals };
+
+			}
+
+			vertices = face instanceof THREE.Face3 ? 3 : 4;
+
+			if ( geometry.geometryGroups[ groupHash ].vertices + vertices > 65535 ) {
+
+				hash_map[ materialIndex ].counter += 1;
+				groupHash = hash_map[ materialIndex ].hash + '_' + hash_map[ materialIndex ].counter;
+
+				if ( geometry.geometryGroups[ groupHash ] === undefined ) {
+
+					geometry.geometryGroups[ groupHash ] = { 'faces3': [], 'faces4': [], 'materialIndex': materialIndex, 'vertices': 0, 'numMorphTargets': numMorphTargets, 'numMorphNormals': numMorphNormals };
+
+				}
+
+			}
+
+			if ( face instanceof THREE.Face3 ) {
+
+				geometry.geometryGroups[ groupHash ].faces3.push( f );
+
+			} else {
+
+				geometry.geometryGroups[ groupHash ].faces4.push( f );
+
+			}
+
+			geometry.geometryGroups[ groupHash ].vertices += vertices;
+
+		}
+
+		geometry.geometryGroupsList = [];
+
+		for ( var g in geometry.geometryGroups ) {
+
+			geometry.geometryGroups[ g ].id = _geometryGroupCounter ++;
+
+			geometry.geometryGroupsList.push( geometry.geometryGroups[ g ] );
+
+		}
+
+	};
+
+	// Objects refresh
+
+	this.initWebGLObjects = function ( scene ) {
+
+		if ( !scene.__webglObjects ) {
+
+			scene.__webglObjects = [];
+			scene.__webglObjectsImmediate = [];
+			scene.__webglSprites = [];
+			scene.__webglFlares = [];
+
+		}
+
+		while ( scene.__objectsAdded.length ) {
+
+			addObject( scene.__objectsAdded[ 0 ], scene );
+			scene.__objectsAdded.splice( 0, 1 );
+
+		}
+
+		while ( scene.__objectsRemoved.length ) {
+
+			removeObject( scene.__objectsRemoved[ 0 ], scene );
+			scene.__objectsRemoved.splice( 0, 1 );
+
+		}
+
+		// update must be called after objects adding / removal
+
+		for ( var o = 0, ol = scene.__webglObjects.length; o < ol; o ++ ) {
+
+			updateObject( scene.__webglObjects[ o ].object );
+
+		}
+
+	};
+
+	// Objects adding
+
+	function addObject ( object, scene ) {
+
+		var g, geometry, material, geometryGroup;
+
+		if ( ! object.__webglInit ) {
+
+			object.__webglInit = true;
+
+			object._modelViewMatrix = new THREE.Matrix4();
+			object._normalMatrix = new THREE.Matrix3();
+
+			if ( object.geometry !== undefined && object.geometry.__webglInit === undefined ) {
+
+				object.geometry.__webglInit = true;
+				object.geometry.addEventListener( 'dispose', onGeometryDispose );
+
+			}
+
+			if ( object instanceof THREE.Mesh ) {
+
+				geometry = object.geometry;
+				material = object.material;
+
+				if ( geometry instanceof THREE.Geometry ) {
+
+					if ( geometry.geometryGroups === undefined ) {
+
+						sortFacesByMaterial( geometry, material );
+
+					}
+
+					// create separate VBOs per geometry chunk
+
+					for ( g in geometry.geometryGroups ) {
+
+						geometryGroup = geometry.geometryGroups[ g ];
+
+						// initialise VBO on the first access
+
+						if ( ! geometryGroup.__webglVertexBuffer ) {
+
+							createMeshBuffers( geometryGroup );
+							initMeshBuffers( geometryGroup, object );
+
+							geometry.verticesNeedUpdate = true;
+							geometry.morphTargetsNeedUpdate = true;
+							geometry.elementsNeedUpdate = true;
+							geometry.uvsNeedUpdate = true;
+							geometry.normalsNeedUpdate = true;
+							geometry.tangentsNeedUpdate = true;
+							geometry.colorsNeedUpdate = true;
+
+						}
+
+					}
+
+				} else if ( geometry instanceof THREE.BufferGeometry ) {
+
+					initDirectBuffers( geometry );
+
+				}
+
+			} else if ( object instanceof THREE.Ribbon ) {
+
+				geometry = object.geometry;
+
+				if ( ! geometry.__webglVertexBuffer ) {
+
+					createRibbonBuffers( geometry );
+					initRibbonBuffers( geometry, object );
+
+					geometry.verticesNeedUpdate = true;
+					geometry.colorsNeedUpdate = true;
+					geometry.normalsNeedUpdate = true;
+
+				}
+
+			} else if ( object instanceof THREE.Line ) {
+
+				geometry = object.geometry;
+
+				if ( ! geometry.__webglVertexBuffer ) {
+
+					if ( geometry instanceof THREE.Geometry ) {
+
+            createLineBuffers( geometry );
+            initLineBuffers( geometry, object );
+
+            geometry.verticesNeedUpdate = true;
+            geometry.colorsNeedUpdate = true;
+            geometry.lineDistancesNeedUpdate = true;
+
+          } else if ( geometry instanceof THREE.BufferGeometry ) {
+
+						initDirectBuffers( geometry );
+
+					}
+
+				}
+
+			} else if ( object instanceof THREE.ParticleSystem ) {
+
+				geometry = object.geometry;
+
+				if ( ! geometry.__webglVertexBuffer ) {
+
+					if ( geometry instanceof THREE.Geometry ) {
+
+						createParticleBuffers( geometry );
+						initParticleBuffers( geometry, object );
+
+						geometry.verticesNeedUpdate = true;
+						geometry.colorsNeedUpdate = true;
+
+					} else if ( geometry instanceof THREE.BufferGeometry ) {
+
+						initDirectBuffers( geometry );
+
+					}
+
+
+				}
+
+			}
+
+		}
+
+		if ( ! object.__webglActive ) {
+
+			if ( object instanceof THREE.Mesh ) {
+
+				geometry = object.geometry;
+
+				if ( geometry instanceof THREE.BufferGeometry ) {
+
+					addBuffer( scene.__webglObjects, geometry, object );
+
+				} else if ( geometry instanceof THREE.Geometry ) {
+
+					for ( g in geometry.geometryGroups ) {
+
+						geometryGroup = geometry.geometryGroups[ g ];
+
+						addBuffer( scene.__webglObjects, geometryGroup, object );
+
+					}
+
+				}
+
+			} else if ( object instanceof THREE.Ribbon ||
+						object instanceof THREE.Line ||
+						object instanceof THREE.ParticleSystem ) {
+
+				geometry = object.geometry;
+				addBuffer( scene.__webglObjects, geometry, object );
+
+			} else if ( object instanceof THREE.ImmediateRenderObject || object.immediateRenderCallback ) {
+
+				addBufferImmediate( scene.__webglObjectsImmediate, object );
+
+			} else if ( object instanceof THREE.Sprite ) {
+
+				scene.__webglSprites.push( object );
+
+			} else if ( object instanceof THREE.LensFlare ) {
+
+				scene.__webglFlares.push( object );
+
+			}
+
+			object.__webglActive = true;
+
+		}
+
+	};
+
+	function addBuffer ( objlist, buffer, object ) {
+
+		objlist.push(
+			{
+				buffer: buffer,
+				object: object,
+				opaque: null,
+				transparent: null
+			}
+		);
+
+	};
+
+	function addBufferImmediate ( objlist, object ) {
+
+		objlist.push(
+			{
+				object: object,
+				opaque: null,
+				transparent: null
+			}
+		);
+
+	};
+
+	// Objects updates
+
+	function updateObject ( object ) {
+
+		var geometry = object.geometry,
+			geometryGroup, customAttributesDirty, material;
+
+		if ( object instanceof THREE.Mesh ) {
+
+			if ( geometry instanceof THREE.BufferGeometry ) {
+
+				if ( geometry.verticesNeedUpdate || geometry.elementsNeedUpdate ||
+					 geometry.uvsNeedUpdate || geometry.normalsNeedUpdate ||
+					 geometry.colorsNeedUpdate || geometry.tangentsNeedUpdate ) {
+
+					setDirectBuffers( geometry, _gl.DYNAMIC_DRAW, !geometry.dynamic );
+
+				}
+
+				geometry.verticesNeedUpdate = false;
+				geometry.elementsNeedUpdate = false;
+				geometry.uvsNeedUpdate = false;
+				geometry.normalsNeedUpdate = false;
+				geometry.colorsNeedUpdate = false;
+				geometry.tangentsNeedUpdate = false;
+
+			} else {
+
+				// check all geometry groups
+
+				for( var i = 0, il = geometry.geometryGroupsList.length; i < il; i ++ ) {
+
+					geometryGroup = geometry.geometryGroupsList[ i ];
+
+					material = getBufferMaterial( object, geometryGroup );
+
+					if ( geometry.buffersNeedUpdate ) {
+
+						initMeshBuffers( geometryGroup, object );
+
+					}
+
+					customAttributesDirty = material.attributes && areCustomAttributesDirty( material );
+
+					if ( geometry.verticesNeedUpdate || geometry.morphTargetsNeedUpdate || geometry.elementsNeedUpdate ||
+						 geometry.uvsNeedUpdate || geometry.normalsNeedUpdate ||
+						 geometry.colorsNeedUpdate || geometry.tangentsNeedUpdate || customAttributesDirty ) {
+
+						setMeshBuffers( geometryGroup, object, _gl.DYNAMIC_DRAW, !geometry.dynamic, material );
+
+					}
+
+				}
+
+				geometry.verticesNeedUpdate = false;
+				geometry.morphTargetsNeedUpdate = false;
+				geometry.elementsNeedUpdate = false;
+				geometry.uvsNeedUpdate = false;
+				geometry.normalsNeedUpdate = false;
+				geometry.colorsNeedUpdate = false;
+				geometry.tangentsNeedUpdate = false;
+
+				geometry.buffersNeedUpdate = false;
+
+				material.attributes && clearCustomAttributes( material );
+
+			}
+
+		} else if ( object instanceof THREE.Ribbon ) {
+
+			material = getBufferMaterial( object, geometry );
+
+			customAttributesDirty = material.attributes && areCustomAttributesDirty( material );
+
+			if ( geometry.verticesNeedUpdate || geometry.colorsNeedUpdate || geometry.normalsNeedUpdate || customAttributesDirty ) {
+
+				setRibbonBuffers( geometry, _gl.DYNAMIC_DRAW );
+
+			}
+
+			geometry.verticesNeedUpdate = false;
+			geometry.colorsNeedUpdate = false;
+			geometry.normalsNeedUpdate = false;
+
+			material.attributes && clearCustomAttributes( material );
+
+		} else if ( object instanceof THREE.Line ) {
+
+      if ( geometry instanceof THREE.BufferGeometry ) {
+
+				if ( geometry.verticesNeedUpdate || geometry.colorsNeedUpdate ) {
+
+					setDirectBuffers( geometry, _gl.DYNAMIC_DRAW, !geometry.dynamic );
+
+				}
+
+				geometry.verticesNeedUpdate = false;
+				geometry.colorsNeedUpdate = false;
+
+			} else {
+
+        material = getBufferMaterial( object, geometry );
+
+        customAttributesDirty = material.attributes && areCustomAttributesDirty( material );
+
+        if ( geometry.verticesNeedUpdate || geometry.colorsNeedUpdate || geometry.lineDistancesNeedUpdate || customAttributesDirty ) {
+
+          setLineBuffers( geometry, _gl.DYNAMIC_DRAW );
+
+        }
+
+        geometry.verticesNeedUpdate = false;
+        geometry.colorsNeedUpdate = false;
+        geometry.lineDistancesNeedUpdate = false;
+
+        material.attributes && clearCustomAttributes( material );
+
+      }
+
+		} else if ( object instanceof THREE.ParticleSystem ) {
+
+			if ( geometry instanceof THREE.BufferGeometry ) {
+
+				if ( geometry.verticesNeedUpdate || geometry.colorsNeedUpdate ) {
+
+					setDirectBuffers( geometry, _gl.DYNAMIC_DRAW, !geometry.dynamic );
+
+				}
+
+				geometry.verticesNeedUpdate = false;
+				geometry.colorsNeedUpdate = false;
+
+			} else {
+
+				material = getBufferMaterial( object, geometry );
+
+				customAttributesDirty = material.attributes && areCustomAttributesDirty( material );
+
+				if ( geometry.verticesNeedUpdate || geometry.colorsNeedUpdate || object.sortParticles || customAttributesDirty ) {
+
+					setParticleBuffers( geometry, _gl.DYNAMIC_DRAW, object );
+
+				}
+
+				geometry.verticesNeedUpdate = false;
+				geometry.colorsNeedUpdate = false;
+
+				material.attributes && clearCustomAttributes( material );
+
+			}
+
+		}
+
+	};
+
+	// Objects updates - custom attributes check
+
+	function areCustomAttributesDirty ( material ) {
+
+		for ( var a in material.attributes ) {
+
+			if ( material.attributes[ a ].needsUpdate ) return true;
+
+		}
+
+		return false;
+
+	};
+
+	function clearCustomAttributes ( material ) {
+
+		for ( var a in material.attributes ) {
+
+			material.attributes[ a ].needsUpdate = false;
+
+		}
+
+	};
+
+	// Objects removal
+
+	function removeObject ( object, scene ) {
+
+		if ( object instanceof THREE.Mesh  ||
+			 object instanceof THREE.ParticleSystem ||
+			 object instanceof THREE.Ribbon ||
+			 object instanceof THREE.Line ) {
+
+			removeInstances( scene.__webglObjects, object );
+
+		} else if ( object instanceof THREE.Sprite ) {
+
+			removeInstancesDirect( scene.__webglSprites, object );
+
+		} else if ( object instanceof THREE.LensFlare ) {
+
+			removeInstancesDirect( scene.__webglFlares, object );
+
+		} else if ( object instanceof THREE.ImmediateRenderObject || object.immediateRenderCallback ) {
+
+			removeInstances( scene.__webglObjectsImmediate, object );
+
+		}
+
+		object.__webglActive = false;
+
+	};
+
+	function removeInstances ( objlist, object ) {
+
+		for ( var o = objlist.length - 1; o >= 0; o -- ) {
+
+			if ( objlist[ o ].object === object ) {
+
+				objlist.splice( o, 1 );
+
+			}
+
+		}
+
+	};
+
+	function removeInstancesDirect ( objlist, object ) {
+
+		for ( var o = objlist.length - 1; o >= 0; o -- ) {
+
+			if ( objlist[ o ] === object ) {
+
+				objlist.splice( o, 1 );
+
+			}
+
+		}
+
+	};
+
+	// Materials
+
+	this.initMaterial = function ( material, lights, fog, object ) {
+
+		material.addEventListener( 'dispose', onMaterialDispose );
+
+		var u, a, identifiers, i, parameters, maxLightCount, maxBones, maxShadows, shaderID;
+
+		if ( material instanceof THREE.MeshDepthMaterial ) {
+
+			shaderID = 'depth';
+
+		} else if ( material instanceof THREE.MeshNormalMaterial ) {
+
+			shaderID = 'normal';
+
+		} else if ( material instanceof THREE.MeshBasicMaterial ) {
+
+			shaderID = 'basic';
+
+		} else if ( material instanceof THREE.MeshLambertMaterial ) {
+
+			shaderID = 'lambert';
+
+		} else if ( material instanceof THREE.MeshPhongMaterial ) {
+
+			shaderID = 'phong';
+
+		} else if ( material instanceof THREE.LineBasicMaterial ) {
+
+			shaderID = 'basic';
+
+		} else if ( material instanceof THREE.LineDashedMaterial ) {
+
+			shaderID = 'dashed';
+
+		} else if ( material instanceof THREE.ParticleBasicMaterial ) {
+
+			shaderID = 'particle_basic';
+
+		}
+
+		if ( shaderID ) {
+
+			setMaterialShaders( material, THREE.ShaderLib[ shaderID ] );
+
+		}
+
+		// heuristics to create shader parameters according to lights in the scene
+		// (not to blow over maxLights budget)
+
+		maxLightCount = allocateLights( lights );
+
+		maxShadows = allocateShadows( lights );
+
+		maxBones = allocateBones( object );
+
+		parameters = {
+
+			map: !!material.map,
+			envMap: !!material.envMap,
+			lightMap: !!material.lightMap,
+			bumpMap: !!material.bumpMap,
+			normalMap: !!material.normalMap,
+			specularMap: !!material.specularMap,
+
+			vertexColors: material.vertexColors,
+
+			fog: fog,
+			useFog: material.fog,
+			fogExp: fog instanceof THREE.FogExp2,
+
+			sizeAttenuation: material.sizeAttenuation,
+
+			skinning: material.skinning,
+			maxBones: maxBones,
+			useVertexTexture: _supportsBoneTextures && object && object.useVertexTexture,
+			boneTextureWidth: object && object.boneTextureWidth,
+			boneTextureHeight: object && object.boneTextureHeight,
+
+			morphTargets: material.morphTargets,
+			morphNormals: material.morphNormals,
+			maxMorphTargets: this.maxMorphTargets,
+			maxMorphNormals: this.maxMorphNormals,
+
+			maxDirLights: maxLightCount.directional,
+			maxPointLights: maxLightCount.point,
+			maxSpotLights: maxLightCount.spot,
+			maxHemiLights: maxLightCount.hemi,
+
+			maxShadows: maxShadows,
+			shadowMapEnabled: this.shadowMapEnabled && object.receiveShadow,
+			shadowMapType: this.shadowMapType,
+			shadowMapDebug: this.shadowMapDebug,
+			shadowMapCascade: this.shadowMapCascade,
+
+			alphaTest: material.alphaTest,
+			metal: material.metal,
+			perPixel: material.perPixel,
+			wrapAround: material.wrapAround,
+			doubleSided: material.side === THREE.DoubleSide,
+			flipSided: material.side === THREE.BackSide
+
+		};
+
+		material.program = buildProgram( shaderID, material.fragmentShader, material.vertexShader, material.uniforms, material.attributes, material.defines, parameters );
+
+		var attributes = material.program.attributes;
+
+		if ( material.morphTargets ) {
+
+			material.numSupportedMorphTargets = 0;
+
+			var id, base = "morphTarget";
+
+			for ( i = 0; i < this.maxMorphTargets; i ++ ) {
+
+				id = base + i;
+
+				if ( attributes[ id ] >= 0 ) {
+
+					material.numSupportedMorphTargets ++;
+
+				}
+
+			}
+
+		}
+
+		if ( material.morphNormals ) {
+
+			material.numSupportedMorphNormals = 0;
+
+			var id, base = "morphNormal";
+
+			for ( i = 0; i < this.maxMorphNormals; i ++ ) {
+
+				id = base + i;
+
+				if ( attributes[ id ] >= 0 ) {
+
+					material.numSupportedMorphNormals ++;
+
+				}
+
+			}
+
+		}
+
+		material.uniformsList = [];
+
+		for ( u in material.uniforms ) {
+
+			material.uniformsList.push( [ material.uniforms[ u ], u ] );
+
+		}
+
+	};
+
+	function setMaterialShaders( material, shaders ) {
+
+		material.uniforms = THREE.UniformsUtils.clone( shaders.uniforms );
+		material.vertexShader = shaders.vertexShader;
+		material.fragmentShader = shaders.fragmentShader;
+
+	};
+
+	function setProgram( camera, lights, fog, material, object ) {
+
+		_usedTextureUnits = 0;
+
+		if ( material.needsUpdate ) {
+
+			if ( material.program ) deallocateMaterial( material );
+
+			_this.initMaterial( material, lights, fog, object );
+			material.needsUpdate = false;
+
+		}
+
+		if ( material.morphTargets ) {
+
+			if ( ! object.__webglMorphTargetInfluences ) {
+
+				object.__webglMorphTargetInfluences = new Float32Array( _this.maxMorphTargets );
+
+			}
+
+		}
+
+		var refreshMaterial = false;
+
+		var program = material.program,
+			p_uniforms = program.uniforms,
+			m_uniforms = material.uniforms;
+
+		if ( program !== _currentProgram ) {
+
+			_gl.useProgram( program );
+			_currentProgram = program;
+
+			refreshMaterial = true;
+
+		}
+
+		if ( material.id !== _currentMaterialId ) {
+
+			_currentMaterialId = material.id;
+			refreshMaterial = true;
+
+		}
+
+		if ( refreshMaterial || camera !== _currentCamera ) {
+
+			_gl.uniformMatrix4fv( p_uniforms.projectionMatrix, false, camera.projectionMatrix.elements );
+
+			if ( camera !== _currentCamera ) _currentCamera = camera;
+
+		}
+
+		// skinning uniforms must be set even if material didn't change
+		// auto-setting of texture unit for bone texture must go before other textures
+		// not sure why, but otherwise weird things happen
+
+		if ( material.skinning ) {
+
+			if ( _supportsBoneTextures && object.useVertexTexture ) {
+
+				if ( p_uniforms.boneTexture !== null ) {
+
+					var textureUnit = getTextureUnit();
+
+					_gl.uniform1i( p_uniforms.boneTexture, textureUnit );
+					_this.setTexture( object.boneTexture, textureUnit );
+
+				}
+
+			} else {
+
+				if ( p_uniforms.boneGlobalMatrices !== null ) {
+
+					_gl.uniformMatrix4fv( p_uniforms.boneGlobalMatrices, false, object.boneMatrices );
+
+				}
+
+			}
+
+		}
+
+		if ( refreshMaterial ) {
+
+			// refresh uniforms common to several materials
+
+			if ( fog && material.fog ) {
+
+				refreshUniformsFog( m_uniforms, fog );
+
+			}
+
+			if ( material instanceof THREE.MeshPhongMaterial ||
+				 material instanceof THREE.MeshLambertMaterial ||
+				 material.lights ) {
+
+				if ( _lightsNeedUpdate ) {
+
+					setupLights( program, lights );
+					_lightsNeedUpdate = false;
+
+				}
+
+				refreshUniformsLights( m_uniforms, _lights );
+
+			}
+
+			if ( material instanceof THREE.MeshBasicMaterial ||
+				 material instanceof THREE.MeshLambertMaterial ||
+				 material instanceof THREE.MeshPhongMaterial ) {
+
+				refreshUniformsCommon( m_uniforms, material );
+
+			}
+
+			// refresh single material specific uniforms
+
+			if ( material instanceof THREE.LineBasicMaterial ) {
+
+				refreshUniformsLine( m_uniforms, material );
+
+			} else if ( material instanceof THREE.LineDashedMaterial ) {
+
+				refreshUniformsLine( m_uniforms, material );
+				refreshUniformsDash( m_uniforms, material );
+
+			} else if ( material instanceof THREE.ParticleBasicMaterial ) {
+
+				refreshUniformsParticle( m_uniforms, material );
+
+			} else if ( material instanceof THREE.MeshPhongMaterial ) {
+
+				refreshUniformsPhong( m_uniforms, material );
+
+			} else if ( material instanceof THREE.MeshLambertMaterial ) {
+
+				refreshUniformsLambert( m_uniforms, material );
+
+			} else if ( material instanceof THREE.MeshDepthMaterial ) {
+
+				m_uniforms.mNear.value = camera.near;
+				m_uniforms.mFar.value = camera.far;
+				m_uniforms.opacity.value = material.opacity;
+
+			} else if ( material instanceof THREE.MeshNormalMaterial ) {
+
+				m_uniforms.opacity.value = material.opacity;
+
+			}
+
+			if ( object.receiveShadow && ! material._shadowPass ) {
+
+				refreshUniformsShadow( m_uniforms, lights );
+
+			}
+
+			// load common uniforms
+
+			loadUniformsGeneric( program, material.uniformsList );
+
+			// load material specific uniforms
+			// (shader material also gets them for the sake of genericity)
+
+			if ( material instanceof THREE.ShaderMaterial ||
+				 material instanceof THREE.MeshPhongMaterial ||
+				 material.envMap ) {
+
+				if ( p_uniforms.cameraPosition !== null ) {
+
+					_vector3.getPositionFromMatrix( camera.matrixWorld );
+					_gl.uniform3f( p_uniforms.cameraPosition, _vector3.x, _vector3.y, _vector3.z );
+
+				}
+
+			}
+
+			if ( material instanceof THREE.MeshPhongMaterial ||
+				 material instanceof THREE.MeshLambertMaterial ||
+				 material instanceof THREE.ShaderMaterial ||
+				 material.skinning ) {
+
+				if ( p_uniforms.viewMatrix !== null ) {
+
+					_gl.uniformMatrix4fv( p_uniforms.viewMatrix, false, camera.matrixWorldInverse.elements );
+
+				}
+
+			}
+
+		}
+
+		loadUniformsMatrices( p_uniforms, object );
+
+		if ( p_uniforms.modelMatrix !== null ) {
+
+			_gl.uniformMatrix4fv( p_uniforms.modelMatrix, false, object.matrixWorld.elements );
+
+		}
+
+		return program;
+
+	};
+
+	// Uniforms (refresh uniforms objects)
+
+	function refreshUniformsCommon ( uniforms, material ) {
+
+		uniforms.opacity.value = material.opacity;
+
+		if ( _this.gammaInput ) {
+
+			uniforms.diffuse.value.copyGammaToLinear( material.color );
+
+		} else {
+
+			uniforms.diffuse.value = material.color;
+
+		}
+
+		uniforms.map.value = material.map;
+		uniforms.lightMap.value = material.lightMap;
+		uniforms.specularMap.value = material.specularMap;
+
+		if ( material.bumpMap ) {
+
+			uniforms.bumpMap.value = material.bumpMap;
+			uniforms.bumpScale.value = material.bumpScale;
+
+		}
+
+		if ( material.normalMap ) {
+
+			uniforms.normalMap.value = material.normalMap;
+			uniforms.normalScale.value.copy( material.normalScale );
+
+		}
+
+		// uv repeat and offset setting priorities
+		//	1. color map
+		//	2. specular map
+		//	3. normal map
+		//	4. bump map
+
+		var uvScaleMap;
+
+		if ( material.map ) {
+
+			uvScaleMap = material.map;
+
+		} else if ( material.specularMap ) {
+
+			uvScaleMap = material.specularMap;
+
+		} else if ( material.normalMap ) {
+
+			uvScaleMap = material.normalMap;
+
+		} else if ( material.bumpMap ) {
+
+			uvScaleMap = material.bumpMap;
+
+		}
+
+		if ( uvScaleMap !== undefined ) {
+
+			var offset = uvScaleMap.offset;
+			var repeat = uvScaleMap.repeat;
+
+			uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y );
+
+		}
+
+		uniforms.envMap.value = material.envMap;
+		uniforms.flipEnvMap.value = ( material.envMap instanceof THREE.WebGLRenderTargetCube ) ? 1 : -1;
+
+		if ( _this.gammaInput ) {
+
+			//uniforms.reflectivity.value = material.reflectivity * material.reflectivity;
+			uniforms.reflectivity.value = material.reflectivity;
+
+		} else {
+
+			uniforms.reflectivity.value = material.reflectivity;
+
+		}
+
+		uniforms.refractionRatio.value = material.refractionRatio;
+		uniforms.combine.value = material.combine;
+		uniforms.useRefract.value = material.envMap && material.envMap.mapping instanceof THREE.CubeRefractionMapping;
+
+	};
+
+	function refreshUniformsLine ( uniforms, material ) {
+
+		uniforms.diffuse.value = material.color;
+		uniforms.opacity.value = material.opacity;
+
+	};
+
+	function refreshUniformsDash ( uniforms, material ) {
+
+		uniforms.dashSize.value = material.dashSize;
+		uniforms.totalSize.value = material.dashSize + material.gapSize;
+		uniforms.scale.value = material.scale;
+
+	};
+
+	function refreshUniformsParticle ( uniforms, material ) {
+
+		uniforms.psColor.value = material.color;
+		uniforms.opacity.value = material.opacity;
+		uniforms.size.value = material.size;
+		uniforms.scale.value = _canvas.height / 2.0; // TODO: Cache this.
+
+		uniforms.map.value = material.map;
+
+	};
+
+	function refreshUniformsFog ( uniforms, fog ) {
+
+		uniforms.fogColor.value = fog.color;
+
+		if ( fog instanceof THREE.Fog ) {
+
+			uniforms.fogNear.value = fog.near;
+			uniforms.fogFar.value = fog.far;
+
+		} else if ( fog instanceof THREE.FogExp2 ) {
+
+			uniforms.fogDensity.value = fog.density;
+
+		}
+
+	};
+
+	function refreshUniformsPhong ( uniforms, material ) {
+
+		uniforms.shininess.value = material.shininess;
+
+		if ( _this.gammaInput ) {
+
+			uniforms.ambient.value.copyGammaToLinear( material.ambient );
+			uniforms.emissive.value.copyGammaToLinear( material.emissive );
+			uniforms.specular.value.copyGammaToLinear( material.specular );
+
+		} else {
+
+			uniforms.ambient.value = material.ambient;
+			uniforms.emissive.value = material.emissive;
+			uniforms.specular.value = material.specular;
+
+		}
+
+		if ( material.wrapAround ) {
+
+			uniforms.wrapRGB.value.copy( material.wrapRGB );
+
+		}
+
+	};
+
+	function refreshUniformsLambert ( uniforms, material ) {
+
+		if ( _this.gammaInput ) {
+
+			uniforms.ambient.value.copyGammaToLinear( material.ambient );
+			uniforms.emissive.value.copyGammaToLinear( material.emissive );
+
+		} else {
+
+			uniforms.ambient.value = material.ambient;
+			uniforms.emissive.value = material.emissive;
+
+		}
+
+		if ( material.wrapAround ) {
+
+			uniforms.wrapRGB.value.copy( material.wrapRGB );
+
+		}
+
+	};
+
+	function refreshUniformsLights ( uniforms, lights ) {
+
+		uniforms.ambientLightColor.value = lights.ambient;
+
+		uniforms.directionalLightColor.value = lights.directional.colors;
+		uniforms.directionalLightDirection.value = lights.directional.positions;
+
+		uniforms.pointLightColor.value = lights.point.colors;
+		uniforms.pointLightPosition.value = lights.point.positions;
+		uniforms.pointLightDistance.value = lights.point.distances;
+
+		uniforms.spotLightColor.value = lights.spot.colors;
+		uniforms.spotLightPosition.value = lights.spot.positions;
+		uniforms.spotLightDistance.value = lights.spot.distances;
+		uniforms.spotLightDirection.value = lights.spot.directions;
+		uniforms.spotLightAngleCos.value = lights.spot.anglesCos;
+		uniforms.spotLightExponent.value = lights.spot.exponents;
+
+		uniforms.hemisphereLightSkyColor.value = lights.hemi.skyColors;
+		uniforms.hemisphereLightGroundColor.value = lights.hemi.groundColors;
+		uniforms.hemisphereLightDirection.value = lights.hemi.positions;
+
+	};
+
+	function refreshUniformsShadow ( uniforms, lights ) {
+
+		if ( uniforms.shadowMatrix ) {
+
+			var j = 0;
+
+			for ( var i = 0, il = lights.length; i < il; i ++ ) {
+
+				var light = lights[ i ];
+
+				if ( ! light.castShadow ) continue;
+
+				if ( light instanceof THREE.SpotLight || ( light instanceof THREE.DirectionalLight && ! light.shadowCascade ) ) {
+
+					uniforms.shadowMap.value[ j ] = light.shadowMap;
+					uniforms.shadowMapSize.value[ j ] = light.shadowMapSize;
+
+					uniforms.shadowMatrix.value[ j ] = light.shadowMatrix;
+
+					uniforms.shadowDarkness.value[ j ] = light.shadowDarkness;
+					uniforms.shadowBias.value[ j ] = light.shadowBias;
+
+					j ++;
+
+				}
+
+			}
+
+		}
+
+	};
+
+	// Uniforms (load to GPU)
+
+	function loadUniformsMatrices ( uniforms, object ) {
+
+		_gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, object._modelViewMatrix.elements );
+
+		if ( uniforms.normalMatrix ) {
+
+			_gl.uniformMatrix3fv( uniforms.normalMatrix, false, object._normalMatrix.elements );
+
+		}
+
+	};
+
+	function getTextureUnit() {
+
+		var textureUnit = _usedTextureUnits;
+
+		if ( textureUnit >= _maxTextures ) {
+
+			console.warn( "WebGLRenderer: trying to use " + textureUnit + " texture units while this GPU supports only " + _maxTextures );
+
+		}
+
+		_usedTextureUnits += 1;
+
+		return textureUnit;
+
+	};
+
+	function loadUniformsGeneric ( program, uniforms ) {
+
+		var uniform, value, type, location, texture, textureUnit, i, il, j, jl, offset;
+
+		for ( j = 0, jl = uniforms.length; j < jl; j ++ ) {
+
+			location = program.uniforms[ uniforms[ j ][ 1 ] ];
+			if ( !location ) continue;
+
+			uniform = uniforms[ j ][ 0 ];
+
+			type = uniform.type;
+			value = uniform.value;
+
+			if ( type === "i" ) { // single integer
+
+				_gl.uniform1i( location, value );
+
+			} else if ( type === "f" ) { // single float
+
+				_gl.uniform1f( location, value );
+
+			} else if ( type === "v2" ) { // single THREE.Vector2
+
+				_gl.uniform2f( location, value.x, value.y );
+
+			} else if ( type === "v3" ) { // single THREE.Vector3
+
+				_gl.uniform3f( location, value.x, value.y, value.z );
+
+			} else if ( type === "v4" ) { // single THREE.Vector4
+
+				_gl.uniform4f( location, value.x, value.y, value.z, value.w );
+
+			} else if ( type === "c" ) { // single THREE.Color
+
+				_gl.uniform3f( location, value.r, value.g, value.b );
+
+			} else if ( type === "iv1" ) { // flat array of integers (JS or typed array)
+
+				_gl.uniform1iv( location, value );
+
+			} else if ( type === "iv" ) { // flat array of integers with 3 x N size (JS or typed array)
+
+				_gl.uniform3iv( location, value );
+
+			} else if ( type === "fv1" ) { // flat array of floats (JS or typed array)
+
+				_gl.uniform1fv( location, value );
+
+			} else if ( type === "fv" ) { // flat array of floats with 3 x N size (JS or typed array)
+
+				_gl.uniform3fv( location, value );
+
+			} else if ( type === "v2v" ) { // array of THREE.Vector2
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = new Float32Array( 2 * value.length );
+
+				}
+
+				for ( i = 0, il = value.length; i < il; i ++ ) {
+
+					offset = i * 2;
+
+					uniform._array[ offset ] 	 = value[ i ].x;
+					uniform._array[ offset + 1 ] = value[ i ].y;
+
+				}
+
+				_gl.uniform2fv( location, uniform._array );
+
+			} else if ( type === "v3v" ) { // array of THREE.Vector3
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = new Float32Array( 3 * value.length );
+
+				}
+
+				for ( i = 0, il = value.length; i < il; i ++ ) {
+
+					offset = i * 3;
+
+					uniform._array[ offset ] 	 = value[ i ].x;
+					uniform._array[ offset + 1 ] = value[ i ].y;
+					uniform._array[ offset + 2 ] = value[ i ].z;
+
+				}
+
+				_gl.uniform3fv( location, uniform._array );
+
+			} else if ( type === "v4v" ) { // array of THREE.Vector4
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = new Float32Array( 4 * value.length );
+
+				}
+
+				for ( i = 0, il = value.length; i < il; i ++ ) {
+
+					offset = i * 4;
+
+					uniform._array[ offset ] 	 = value[ i ].x;
+					uniform._array[ offset + 1 ] = value[ i ].y;
+					uniform._array[ offset + 2 ] = value[ i ].z;
+					uniform._array[ offset + 3 ] = value[ i ].w;
+
+				}
+
+				_gl.uniform4fv( location, uniform._array );
+
+			} else if ( type === "m4") { // single THREE.Matrix4
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = new Float32Array( 16 );
+
+				}
+
+				value.flattenToArray( uniform._array );
+				_gl.uniformMatrix4fv( location, false, uniform._array );
+
+			} else if ( type === "m4v" ) { // array of THREE.Matrix4
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = new Float32Array( 16 * value.length );
+
+				}
+
+				for ( i = 0, il = value.length; i < il; i ++ ) {
+
+					value[ i ].flattenToArrayOffset( uniform._array, i * 16 );
+
+				}
+
+				_gl.uniformMatrix4fv( location, false, uniform._array );
+
+			} else if ( type === "t" ) { // single THREE.Texture (2d or cube)
+
+				texture = value;
+				textureUnit = getTextureUnit();
+
+				_gl.uniform1i( location, textureUnit );
+
+				if ( !texture ) continue;
+
+				if ( texture.image instanceof Array && texture.image.length === 6 ) {
+
+					setCubeTexture( texture, textureUnit );
+
+				} else if ( texture instanceof THREE.WebGLRenderTargetCube ) {
+
+					setCubeTextureDynamic( texture, textureUnit );
+
+				} else {
+
+					_this.setTexture( texture, textureUnit );
+
+				}
+
+			} else if ( type === "tv" ) { // array of THREE.Texture (2d)
+
+				if ( uniform._array === undefined ) {
+
+					uniform._array = [];
+
+				}
+
+				for( i = 0, il = uniform.value.length; i < il; i ++ ) {
+
+					uniform._array[ i ] = getTextureUnit();
+
+				}
+
+				_gl.uniform1iv( location, uniform._array );
+
+				for( i = 0, il = uniform.value.length; i < il; i ++ ) {
+
+					texture = uniform.value[ i ];
+					textureUnit = uniform._array[ i ];
+
+					if ( !texture ) continue;
+
+					_this.setTexture( texture, textureUnit );
+
+				}
+
+			}
+
+		}
+
+	};
+
+	function setupMatrices ( object, camera ) {
+
+		object._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
+
+		object._normalMatrix.getInverse( object._modelViewMatrix );
+		object._normalMatrix.transpose();
+
+	};
+
+	//
+
+	function setColorGamma( array, offset, color, intensitySq ) {
+
+		array[ offset ]     = color.r * color.r * intensitySq;
+		array[ offset + 1 ] = color.g * color.g * intensitySq;
+		array[ offset + 2 ] = color.b * color.b * intensitySq;
+
+	};
+
+	function setColorLinear( array, offset, color, intensity ) {
+
+		array[ offset ]     = color.r * intensity;
+		array[ offset + 1 ] = color.g * intensity;
+		array[ offset + 2 ] = color.b * intensity;
+
+	};
+
+	function setupLights ( program, lights ) {
+
+		var l, ll, light, n,
+		r = 0, g = 0, b = 0,
+		color, skyColor, groundColor,
+		intensity,  intensitySq,
+		position,
+		distance,
+
+		zlights = _lights,
+
+		dirColors = zlights.directional.colors,
+		dirPositions = zlights.directional.positions,
+
+		pointColors = zlights.point.colors,
+		pointPositions = zlights.point.positions,
+		pointDistances = zlights.point.distances,
+
+		spotColors = zlights.spot.colors,
+		spotPositions = zlights.spot.positions,
+		spotDistances = zlights.spot.distances,
+		spotDirections = zlights.spot.directions,
+		spotAnglesCos = zlights.spot.anglesCos,
+		spotExponents = zlights.spot.exponents,
+
+		hemiSkyColors = zlights.hemi.skyColors,
+		hemiGroundColors = zlights.hemi.groundColors,
+		hemiPositions = zlights.hemi.positions,
+
+		dirLength = 0,
+		pointLength = 0,
+		spotLength = 0,
+		hemiLength = 0,
+
+		dirCount = 0,
+		pointCount = 0,
+		spotCount = 0,
+		hemiCount = 0,
+
+		dirOffset = 0,
+		pointOffset = 0,
+		spotOffset = 0,
+		hemiOffset = 0;
+
+		for ( l = 0, ll = lights.length; l < ll; l ++ ) {
+
+			light = lights[ l ];
+
+			if ( light.onlyShadow ) continue;
+
+			color = light.color;
+			intensity = light.intensity;
+			distance = light.distance;
+
+			if ( light instanceof THREE.AmbientLight ) {
+
+				if ( ! light.visible ) continue;
+
+				if ( _this.gammaInput ) {
+
+					r += color.r * color.r;
+					g += color.g * color.g;
+					b += color.b * color.b;
+
+				} else {
+
+					r += color.r;
+					g += color.g;
+					b += color.b;
+
+				}
+
+			} else if ( light instanceof THREE.DirectionalLight ) {
+
+				dirCount += 1;
+
+				if ( ! light.visible ) continue;
+
+				_direction.getPositionFromMatrix( light.matrixWorld );
+				_vector3.getPositionFromMatrix( light.target.matrixWorld );
+				_direction.sub( _vector3 );
+				_direction.normalize();
+
+				// skip lights with undefined direction
+				// these create troubles in OpenGL (making pixel black)
+
+				if ( _direction.x === 0 && _direction.y === 0 && _direction.z === 0 ) continue;
+
+				dirOffset = dirLength * 3;
+
+				dirPositions[ dirOffset ]     = _direction.x;
+				dirPositions[ dirOffset + 1 ] = _direction.y;
+				dirPositions[ dirOffset + 2 ] = _direction.z;
+
+				if ( _this.gammaInput ) {
+
+					setColorGamma( dirColors, dirOffset, color, intensity * intensity );
+
+				} else {
+
+					setColorLinear( dirColors, dirOffset, color, intensity );
+
+				}
+
+				dirLength += 1;
+
+			} else if ( light instanceof THREE.PointLight ) {
+
+				pointCount += 1;
+
+				if ( ! light.visible ) continue;
+
+				pointOffset = pointLength * 3;
+
+				if ( _this.gammaInput ) {
+
+					setColorGamma( pointColors, pointOffset, color, intensity * intensity );
+
+				} else {
+
+					setColorLinear( pointColors, pointOffset, color, intensity );
+
+				}
+
+				_vector3.getPositionFromMatrix( light.matrixWorld );
+
+				pointPositions[ pointOffset ]     = _vector3.x;
+				pointPositions[ pointOffset + 1 ] = _vector3.y;
+				pointPositions[ pointOffset + 2 ] = _vector3.z;
+
+				pointDistances[ pointLength ] = distance;
+
+				pointLength += 1;
+
+			} else if ( light instanceof THREE.SpotLight ) {
+
+				spotCount += 1;
+
+				if ( ! light.visible ) continue;
+
+				spotOffset = spotLength * 3;
+
+				if ( _this.gammaInput ) {
+
+					setColorGamma( spotColors, spotOffset, color, intensity * intensity );
+
+				} else {
+
+					setColorLinear( spotColors, spotOffset, color, intensity );
+
+				}
+
+				_vector3.getPositionFromMatrix( light.matrixWorld );
+
+				spotPositions[ spotOffset ]     = _vector3.x;
+				spotPositions[ spotOffset + 1 ] = _vector3.y;
+				spotPositions[ spotOffset + 2 ] = _vector3.z;
+
+				spotDistances[ spotLength ] = distance;
+
+				_direction.copy( _vector3 );
+				_vector3.getPositionFromMatrix( light.target.matrixWorld );
+				_direction.sub( _vector3 );
+				_direction.normalize();
+
+				spotDirections[ spotOffset ]     = _direction.x;
+				spotDirections[ spotOffset + 1 ] = _direction.y;
+				spotDirections[ spotOffset + 2 ] = _direction.z;
+
+				spotAnglesCos[ spotLength ] = Math.cos( light.angle );
+				spotExponents[ spotLength ] = light.exponent;
+
+				spotLength += 1;
+
+			} else if ( light instanceof THREE.HemisphereLight ) {
+
+				hemiCount += 1;
+
+				if ( ! light.visible ) continue;
+
+				_direction.getPositionFromMatrix( light.matrixWorld );
+				_direction.normalize();
+
+				// skip lights with undefined direction
+				// these create troubles in OpenGL (making pixel black)
+
+				if ( _direction.x === 0 && _direction.y === 0 && _direction.z === 0 ) continue;
+
+				hemiOffset = hemiLength * 3;
+
+				hemiPositions[ hemiOffset ]     = _direction.x;
+				hemiPositions[ hemiOffset + 1 ] = _direction.y;
+				hemiPositions[ hemiOffset + 2 ] = _direction.z;
+
+				skyColor = light.color;
+				groundColor = light.groundColor;
+
+				if ( _this.gammaInput ) {
+
+					intensitySq = intensity * intensity;
+
+					setColorGamma( hemiSkyColors, hemiOffset, skyColor, intensitySq );
+					setColorGamma( hemiGroundColors, hemiOffset, groundColor, intensitySq );
+
+				} else {
+
+					setColorLinear( hemiSkyColors, hemiOffset, skyColor, intensity );
+					setColorLinear( hemiGroundColors, hemiOffset, groundColor, intensity );
+
+				}
+
+				hemiLength += 1;
+
+			}
+
+		}
+
+		// null eventual remains from removed lights
+		// (this is to avoid if in shader)
+
+		for ( l = dirLength * 3, ll = Math.max( dirColors.length, dirCount * 3 ); l < ll; l ++ ) dirColors[ l ] = 0.0;
+		for ( l = pointLength * 3, ll = Math.max( pointColors.length, pointCount * 3 ); l < ll; l ++ ) pointColors[ l ] = 0.0;
+		for ( l = spotLength * 3, ll = Math.max( spotColors.length, spotCount * 3 ); l < ll; l ++ ) spotColors[ l ] = 0.0;
+		for ( l = hemiLength * 3, ll = Math.max( hemiSkyColors.length, hemiCount * 3 ); l < ll; l ++ ) hemiSkyColors[ l ] = 0.0;
+		for ( l = hemiLength * 3, ll = Math.max( hemiGroundColors.length, hemiCount * 3 ); l < ll; l ++ ) hemiGroundColors[ l ] = 0.0;
+
+		zlights.directional.length = dirLength;
+		zlights.point.length = pointLength;
+		zlights.spot.length = spotLength;
+		zlights.hemi.length = hemiLength;
+
+		zlights.ambient[ 0 ] = r;
+		zlights.ambient[ 1 ] = g;
+		zlights.ambient[ 2 ] = b;
+
+	};
+
+	// GL state setting
+
+	this.setFaceCulling = function ( cullFace, frontFaceDirection ) {
+
+		if ( cullFace === THREE.CullFaceNone ) {
+
+			_gl.disable( _gl.CULL_FACE );
+
+		} else {
+
+			if ( frontFaceDirection === THREE.FrontFaceDirectionCW ) {
+
+				_gl.frontFace( _gl.CW );
+
+			} else {
+
+				_gl.frontFace( _gl.CCW );
+
+			}
+
+			if ( cullFace === THREE.CullFaceBack ) {
+
+				_gl.cullFace( _gl.BACK );
+
+			} else if ( cullFace === THREE.CullFaceFront ) {
+
+				_gl.cullFace( _gl.FRONT );
+
+			} else {
+
+				_gl.cullFace( _gl.FRONT_AND_BACK );
+
+			}
+
+			_gl.enable( _gl.CULL_FACE );
+
+		}
+
+	};
+
+	this.setMaterialFaces = function ( material ) {
+
+		var doubleSided = material.side === THREE.DoubleSide;
+		var flipSided = material.side === THREE.BackSide;
+
+		if ( _oldDoubleSided !== doubleSided ) {
+
+			if ( doubleSided ) {
+
+				_gl.disable( _gl.CULL_FACE );
+
+			} else {
+
+				_gl.enable( _gl.CULL_FACE );
+
+			}
+
+			_oldDoubleSided = doubleSided;
+
+		}
+
+		if ( _oldFlipSided !== flipSided ) {
+
+			if ( flipSided ) {
+
+				_gl.frontFace( _gl.CW );
+
+			} else {
+
+				_gl.frontFace( _gl.CCW );
+
+			}
+
+			_oldFlipSided = flipSided;
+
+		}
+
+	};
+
+	this.setDepthTest = function ( depthTest ) {
+
+		if ( _oldDepthTest !== depthTest ) {
+
+			if ( depthTest ) {
+
+				_gl.enable( _gl.DEPTH_TEST );
+
+			} else {
+
+				_gl.disable( _gl.DEPTH_TEST );
+
+			}
+
+			_oldDepthTest = depthTest;
+
+		}
+
+	};
+
+	this.setDepthWrite = function ( depthWrite ) {
+
+		if ( _oldDepthWrite !== depthWrite ) {
+
+			_gl.depthMask( depthWrite );
+			_oldDepthWrite = depthWrite;
+
+		}
+
+	};
+
+	function setLineWidth ( width ) {
+
+		if ( width !== _oldLineWidth ) {
+
+			_gl.lineWidth( width );
+
+			_oldLineWidth = width;
+
+		}
+
+	};
+
+	function setPolygonOffset ( polygonoffset, factor, units ) {
+
+		if ( _oldPolygonOffset !== polygonoffset ) {
+
+			if ( polygonoffset ) {
+
+				_gl.enable( _gl.POLYGON_OFFSET_FILL );
+
+			} else {
+
+				_gl.disable( _gl.POLYGON_OFFSET_FILL );
+
+			}
+
+			_oldPolygonOffset = polygonoffset;
+
+		}
+
+		if ( polygonoffset && ( _oldPolygonOffsetFactor !== factor || _oldPolygonOffsetUnits !== units ) ) {
+
+			_gl.polygonOffset( factor, units );
+
+			_oldPolygonOffsetFactor = factor;
+			_oldPolygonOffsetUnits = units;
+
+		}
+
+	};
+
+	this.setBlending = function ( blending, blendEquation, blendSrc, blendDst ) {
+
+		if ( blending !== _oldBlending ) {
+
+			if ( blending === THREE.NoBlending ) {
+
+				_gl.disable( _gl.BLEND );
+
+			} else if ( blending === THREE.AdditiveBlending ) {
+
+				_gl.enable( _gl.BLEND );
+				_gl.blendEquation( _gl.FUNC_ADD );
+				_gl.blendFunc( _gl.SRC_ALPHA, _gl.ONE );
+
+			} else if ( blending === THREE.SubtractiveBlending ) {
+
+				// TODO: Find blendFuncSeparate() combination
+				_gl.enable( _gl.BLEND );
+				_gl.blendEquation( _gl.FUNC_ADD );
+				_gl.blendFunc( _gl.ZERO, _gl.ONE_MINUS_SRC_COLOR );
+
+			} else if ( blending === THREE.MultiplyBlending ) {
+
+				// TODO: Find blendFuncSeparate() combination
+				_gl.enable( _gl.BLEND );
+				_gl.blendEquation( _gl.FUNC_ADD );
+				_gl.blendFunc( _gl.ZERO, _gl.SRC_COLOR );
+
+			} else if ( blending === THREE.CustomBlending ) {
+
+				_gl.enable( _gl.BLEND );
+
+			} else {
+
+				_gl.enable( _gl.BLEND );
+				_gl.blendEquationSeparate( _gl.FUNC_ADD, _gl.FUNC_ADD );
+				_gl.blendFuncSeparate( _gl.SRC_ALPHA, _gl.ONE_MINUS_SRC_ALPHA, _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA );
+
+			}
+
+			_oldBlending = blending;
+
+		}
+
+		if ( blending === THREE.CustomBlending ) {
+
+			if ( blendEquation !== _oldBlendEquation ) {
+
+				_gl.blendEquation( paramThreeToGL( blendEquation ) );
+
+				_oldBlendEquation = blendEquation;
+
+			}
+
+			if ( blendSrc !== _oldBlendSrc || blendDst !== _oldBlendDst ) {
+
+				_gl.blendFunc( paramThreeToGL( blendSrc ), paramThreeToGL( blendDst ) );
+
+				_oldBlendSrc = blendSrc;
+				_oldBlendDst = blendDst;
+
+			}
+
+		} else {
+
+			_oldBlendEquation = null;
+			_oldBlendSrc = null;
+			_oldBlendDst = null;
+
+		}
+
+	};
+
+	// Defines
+
+	function generateDefines ( defines ) {
+
+		var value, chunk, chunks = [];
+
+		for ( var d in defines ) {
+
+			value = defines[ d ];
+			if ( value === false ) continue;
+
+			chunk = "#define " + d + " " + value;
+			chunks.push( chunk );
+
+		}
+
+		return chunks.join( "\n" );
+
+	};
+
+	// Shaders
+
+	function buildProgram ( shaderID, fragmentShader, vertexShader, uniforms, attributes, defines, parameters ) {
+
+		var p, pl, d, program, code;
+		var chunks = [];
+
+		// Generate code
+
+		if ( shaderID ) {
+
+			chunks.push( shaderID );
+
+		} else {
+
+			chunks.push( fragmentShader );
+			chunks.push( vertexShader );
+
+		}
+
+		for ( d in defines ) {
+
+			chunks.push( d );
+			chunks.push( defines[ d ] );
+
+		}
+
+		for ( p in parameters ) {
+
+			chunks.push( p );
+			chunks.push( parameters[ p ] );
+
+		}
+
+		code = chunks.join();
+
+		// Check if code has been already compiled
+
+		for ( p = 0, pl = _programs.length; p < pl; p ++ ) {
+
+			var programInfo = _programs[ p ];
+
+			if ( programInfo.code === code ) {
+
+				//console.log( "Code already compiled." /*: \n\n" + code*/ );
+
+				programInfo.usedTimes ++;
+
+				return programInfo.program;
+
+			}
+
+		}
+
+		var shadowMapTypeDefine = "SHADOWMAP_TYPE_BASIC";
+
+		if ( parameters.shadowMapType === THREE.PCFShadowMap ) {
+
+			shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF";
+
+		} else if ( parameters.shadowMapType === THREE.PCFSoftShadowMap ) {
+
+			shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF_SOFT";
+
+		}
+
+		//console.log( "building new program " );
+
+		//
+
+		var customDefines = generateDefines( defines );
+
+		//
+
+		program = _gl.createProgram();
+
+		var prefix_vertex = [
+
+			"precision " + _precision + " float;",
+
+			customDefines,
+
+			_supportsVertexTextures ? "#define VERTEX_TEXTURES" : "",
+
+			_this.gammaInput ? "#define GAMMA_INPUT" : "",
+			_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
+			_this.physicallyBasedShading ? "#define PHYSICALLY_BASED_SHADING" : "",
+
+			"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
+			"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
+			"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
+			"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
+
+			"#define MAX_SHADOWS " + parameters.maxShadows,
+
+			"#define MAX_BONES " + parameters.maxBones,
+
+			parameters.map ? "#define USE_MAP" : "",
+			parameters.envMap ? "#define USE_ENVMAP" : "",
+			parameters.lightMap ? "#define USE_LIGHTMAP" : "",
+			parameters.bumpMap ? "#define USE_BUMPMAP" : "",
+			parameters.normalMap ? "#define USE_NORMALMAP" : "",
+			parameters.specularMap ? "#define USE_SPECULARMAP" : "",
+			parameters.vertexColors ? "#define USE_COLOR" : "",
+
+			parameters.skinning ? "#define USE_SKINNING" : "",
+			parameters.useVertexTexture ? "#define BONE_TEXTURE" : "",
+			parameters.boneTextureWidth ? "#define N_BONE_PIXEL_X " + parameters.boneTextureWidth.toFixed( 1 ) : "",
+			parameters.boneTextureHeight ? "#define N_BONE_PIXEL_Y " + parameters.boneTextureHeight.toFixed( 1 ) : "",
+
+			parameters.morphTargets ? "#define USE_MORPHTARGETS" : "",
+			parameters.morphNormals ? "#define USE_MORPHNORMALS" : "",
+			parameters.perPixel ? "#define PHONG_PER_PIXEL" : "",
+			parameters.wrapAround ? "#define WRAP_AROUND" : "",
+			parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
+			parameters.flipSided ? "#define FLIP_SIDED" : "",
+
+			parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
+			parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
+			parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
+			parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
+
+			parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "",
+
+			"uniform mat4 modelMatrix;",
+			"uniform mat4 modelViewMatrix;",
+			"uniform mat4 projectionMatrix;",
+			"uniform mat4 viewMatrix;",
+			"uniform mat3 normalMatrix;",
+			"uniform vec3 cameraPosition;",
+
+			"attribute vec3 position;",
+			"attribute vec3 normal;",
+			"attribute vec2 uv;",
+			"attribute vec2 uv2;",
+
+			"#ifdef USE_COLOR",
+
+				"attribute vec3 color;",
+
+			"#endif",
+
+			"#ifdef USE_MORPHTARGETS",
+
+				"attribute vec3 morphTarget0;",
+				"attribute vec3 morphTarget1;",
+				"attribute vec3 morphTarget2;",
+				"attribute vec3 morphTarget3;",
+
+				"#ifdef USE_MORPHNORMALS",
+
+					"attribute vec3 morphNormal0;",
+					"attribute vec3 morphNormal1;",
+					"attribute vec3 morphNormal2;",
+					"attribute vec3 morphNormal3;",
+
+				"#else",
+
+					"attribute vec3 morphTarget4;",
+					"attribute vec3 morphTarget5;",
+					"attribute vec3 morphTarget6;",
+					"attribute vec3 morphTarget7;",
+
+				"#endif",
+
+			"#endif",
+
+			"#ifdef USE_SKINNING",
+
+				"attribute vec4 skinIndex;",
+				"attribute vec4 skinWeight;",
+
+			"#endif",
+
+			""
+
+		].join("\n");
+
+		var prefix_fragment = [
+
+			"precision " + _precision + " float;",
+
+			( parameters.bumpMap || parameters.normalMap ) ? "#extension GL_OES_standard_derivatives : enable" : "",
+
+			customDefines,
+
+			"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
+			"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
+			"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
+			"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
+
+			"#define MAX_SHADOWS " + parameters.maxShadows,
+
+			parameters.alphaTest ? "#define ALPHATEST " + parameters.alphaTest: "",
+
+			_this.gammaInput ? "#define GAMMA_INPUT" : "",
+			_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
+			_this.physicallyBasedShading ? "#define PHYSICALLY_BASED_SHADING" : "",
+
+			( parameters.useFog && parameters.fog ) ? "#define USE_FOG" : "",
+			( parameters.useFog && parameters.fogExp ) ? "#define FOG_EXP2" : "",
+
+			parameters.map ? "#define USE_MAP" : "",
+			parameters.envMap ? "#define USE_ENVMAP" : "",
+			parameters.lightMap ? "#define USE_LIGHTMAP" : "",
+			parameters.bumpMap ? "#define USE_BUMPMAP" : "",
+			parameters.normalMap ? "#define USE_NORMALMAP" : "",
+			parameters.specularMap ? "#define USE_SPECULARMAP" : "",
+			parameters.vertexColors ? "#define USE_COLOR" : "",
+
+			parameters.metal ? "#define METAL" : "",
+			parameters.perPixel ? "#define PHONG_PER_PIXEL" : "",
+			parameters.wrapAround ? "#define WRAP_AROUND" : "",
+			parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
+			parameters.flipSided ? "#define FLIP_SIDED" : "",
+
+			parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
+			parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
+			parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
+			parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
+
+			"uniform mat4 viewMatrix;",
+			"uniform vec3 cameraPosition;",
+			""
+
+		].join("\n");
+
+		var glFragmentShader = getShader( "fragment", prefix_fragment + fragmentShader );
+		var glVertexShader = getShader( "vertex", prefix_vertex + vertexShader );
+
+		_gl.attachShader( program, glVertexShader );
+		_gl.attachShader( program, glFragmentShader );
+
+		_gl.linkProgram( program );
+
+		if ( !_gl.getProgramParameter( program, _gl.LINK_STATUS ) ) {
+
+			console.error( "Could not initialise shader\n" + "VALIDATE_STATUS: " + _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) + ", gl error [" + _gl.getError() + "]" );
+
+		}
+
+		// clean up
+
+		_gl.deleteShader( glFragmentShader );
+		_gl.deleteShader( glVertexShader );
+
+		//console.log( prefix_fragment + fragmentShader );
+		//console.log( prefix_vertex + vertexShader );
+
+		program.uniforms = {};
+		program.attributes = {};
+
+		var identifiers, u, a, i;
+
+		// cache uniform locations
+
+		identifiers = [
+
+			'viewMatrix', 'modelViewMatrix', 'projectionMatrix', 'normalMatrix', 'modelMatrix', 'cameraPosition',
+			'morphTargetInfluences'
+
+		];
+
+		if ( parameters.useVertexTexture ) {
+
+			identifiers.push( 'boneTexture' );
+
+		} else {
+
+			identifiers.push( 'boneGlobalMatrices' );
+
+		}
+
+		for ( u in uniforms ) {
+
+			identifiers.push( u );
+
+		}
+
+		cacheUniformLocations( program, identifiers );
+
+		// cache attributes locations
+
+		identifiers = [
+
+			"position", "normal", "uv", "uv2", "tangent", "color",
+			"skinIndex", "skinWeight", "lineDistance"
+
+		];
+
+		for ( i = 0; i < parameters.maxMorphTargets; i ++ ) {
+
+			identifiers.push( "morphTarget" + i );
+
+		}
+
+		for ( i = 0; i < parameters.maxMorphNormals; i ++ ) {
+
+			identifiers.push( "morphNormal" + i );
+
+		}
+
+		for ( a in attributes ) {
+
+			identifiers.push( a );
+
+		}
+
+		cacheAttributeLocations( program, identifiers );
+
+		program.id = _programs_counter ++;
+
+		_programs.push( { program: program, code: code, usedTimes: 1 } );
+
+		_this.info.memory.programs = _programs.length;
+
+		return program;
+
+	};
+
+	// Shader parameters cache
+
+	function cacheUniformLocations ( program, identifiers ) {
+
+		var i, l, id;
+
+		for( i = 0, l = identifiers.length; i < l; i ++ ) {
+
+			id = identifiers[ i ];
+			program.uniforms[ id ] = _gl.getUniformLocation( program, id );
+
+		}
+
+	};
+
+	function cacheAttributeLocations ( program, identifiers ) {
+
+		var i, l, id;
+
+		for( i = 0, l = identifiers.length; i < l; i ++ ) {
+
+			id = identifiers[ i ];
+			program.attributes[ id ] = _gl.getAttribLocation( program, id );
+
+		}
+
+	};
+
+	function addLineNumbers ( string ) {
+
+		var chunks = string.split( "\n" );
+
+		for ( var i = 0, il = chunks.length; i < il; i ++ ) {
+
+			// Chrome reports shader errors on lines
+			// starting counting from 1
+
+			chunks[ i ] = ( i + 1 ) + ": " + chunks[ i ];
+
+		}
+
+		return chunks.join( "\n" );
+
+	};
+
+	function getShader ( type, string ) {
+
+		var shader;
+
+		if ( type === "fragment" ) {
+
+			shader = _gl.createShader( _gl.FRAGMENT_SHADER );
+
+		} else if ( type === "vertex" ) {
+
+			shader = _gl.createShader( _gl.VERTEX_SHADER );
+
+		}
+
+		_gl.shaderSource( shader, string );
+		_gl.compileShader( shader );
+
+		if ( !_gl.getShaderParameter( shader, _gl.COMPILE_STATUS ) ) {
+
+			console.error( _gl.getShaderInfoLog( shader ) );
+			console.error( addLineNumbers( string ) );
+			return null;
+
+		}
+
+		return shader;
+
+	};
+
+	// Textures
+
+
+	function isPowerOfTwo ( value ) {
+
+		return ( value & ( value - 1 ) ) === 0;
+
+	};
+
+	function setTextureParameters ( textureType, texture, isImagePowerOfTwo ) {
+
+		if ( isImagePowerOfTwo ) {
+
+			_gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) );
+			_gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) );
+
+			_gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) );
+			_gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) );
+
+		} else {
+
+			_gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE );
+			_gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE );
+
+			_gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, filterFallback( texture.magFilter ) );
+			_gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, filterFallback( texture.minFilter ) );
+
+		}
+
+		if ( _glExtensionTextureFilterAnisotropic && texture.type !== THREE.FloatType ) {
+
+			if ( texture.anisotropy > 1 || texture.__oldAnisotropy ) {
+
+				_gl.texParameterf( textureType, _glExtensionTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, _maxAnisotropy ) );
+				texture.__oldAnisotropy = texture.anisotropy;
+
+			}
+
+		}
+
+	};
+
+	this.setTexture = function ( texture, slot ) {
+
+		if ( texture.needsUpdate ) {
+
+			if ( ! texture.__webglInit ) {
+
+				texture.__webglInit = true;
+
+				texture.addEventListener( 'dispose', onTextureDispose );
+
+				texture.__webglTexture = _gl.createTexture();
+
+				_this.info.memory.textures ++;
+
+			}
+
+			_gl.activeTexture( _gl.TEXTURE0 + slot );
+			_gl.bindTexture( _gl.TEXTURE_2D, texture.__webglTexture );
+
+			_gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY );
+			_gl.pixelStorei( _gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha );
+			_gl.pixelStorei( _gl.UNPACK_ALIGNMENT, texture.unpackAlignment );
+
+			var image = texture.image,
+			isImagePowerOfTwo = isPowerOfTwo( image.width ) && isPowerOfTwo( image.height ),
+			glFormat = paramThreeToGL( texture.format ),
+			glType = paramThreeToGL( texture.type );
+
+			setTextureParameters( _gl.TEXTURE_2D, texture, isImagePowerOfTwo );
+
+			var mipmap, mipmaps = texture.mipmaps;
+
+			if ( texture instanceof THREE.DataTexture ) {
+
+				// use manually created mipmaps if available
+				// if there are no manual mipmaps
+				// set 0 level mipmap and then use GL to generate other mipmap levels
+
+				if ( mipmaps.length > 0 && isImagePowerOfTwo ) {
+
+					for ( var i = 0, il = mipmaps.length; i < il; i ++ ) {
+
+						mipmap = mipmaps[ i ];
+						_gl.texImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data );
+
+					}
+
+					texture.generateMipmaps = false;
+
+				} else {
+
+					_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, image.width, image.height, 0, glFormat, glType, image.data );
+
+				}
+
+			} else if ( texture instanceof THREE.CompressedTexture ) {
+
+				// compressed textures can only use manually created mipmaps
+				// WebGL can't generate mipmaps for DDS textures
+
+				for( var i = 0, il = mipmaps.length; i < il; i ++ ) {
+
+					mipmap = mipmaps[ i ];
+					_gl.compressedTexImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, mipmap.data );
+
+				}
+
+			} else { // regular Texture (image, video, canvas)
+
+				// use manually created mipmaps if available
+				// if there are no manual mipmaps
+				// set 0 level mipmap and then use GL to generate other mipmap levels
+
+				if ( mipmaps.length > 0 && isImagePowerOfTwo ) {
+
+					for ( var i = 0, il = mipmaps.length; i < il; i ++ ) {
+
+						mipmap = mipmaps[ i ];
+						_gl.texImage2D( _gl.TEXTURE_2D, i, glFormat, glFormat, glType, mipmap );
+
+					}
+
+					texture.generateMipmaps = false;
+
+				} else {
+
+					_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, glFormat, glType, texture.image );
+
+				}
+
+			}
+
+			if ( texture.generateMipmaps && isImagePowerOfTwo ) _gl.generateMipmap( _gl.TEXTURE_2D );
+
+			texture.needsUpdate = false;
+
+			if ( texture.onUpdate ) texture.onUpdate();
+
+		} else {
+
+			_gl.activeTexture( _gl.TEXTURE0 + slot );
+			_gl.bindTexture( _gl.TEXTURE_2D, texture.__webglTexture );
+
+		}
+
+	};
+
+	function clampToMaxSize ( image, maxSize ) {
+
+		if ( image.width <= maxSize && image.height <= maxSize ) {
+
+			return image;
+
+		}
+
+		// Warning: Scaling through the canvas will only work with images that use
+		// premultiplied alpha.
+
+		var maxDimension = Math.max( image.width, image.height );
+		var newWidth = Math.floor( image.width * maxSize / maxDimension );
+		var newHeight = Math.floor( image.height * maxSize / maxDimension );
+
+		var canvas = document.createElement( 'canvas' );
+		canvas.width = newWidth;
+		canvas.height = newHeight;
+
+		var ctx = canvas.getContext( "2d" );
+		ctx.drawImage( image, 0, 0, image.width, image.height, 0, 0, newWidth, newHeight );
+
+		return canvas;
+
+	}
+
+	function setCubeTexture ( texture, slot ) {
+
+		if ( texture.image.length === 6 ) {
+
+			if ( texture.needsUpdate ) {
+
+				if ( ! texture.image.__webglTextureCube ) {
+
+					texture.image.__webglTextureCube = _gl.createTexture();
+
+					_this.info.memory.textures ++;
+
+				}
+
+				_gl.activeTexture( _gl.TEXTURE0 + slot );
+				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, texture.image.__webglTextureCube );
+
+				_gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY );
+
+				var isCompressed = texture instanceof THREE.CompressedTexture;
+
+				var cubeImage = [];
+
+				for ( var i = 0; i < 6; i ++ ) {
+
+					if ( _this.autoScaleCubemaps && ! isCompressed ) {
+
+						cubeImage[ i ] = clampToMaxSize( texture.image[ i ], _maxCubemapSize );
+
+					} else {
+
+						cubeImage[ i ] = texture.image[ i ];
+
+					}
+
+				}
+
+				var image = cubeImage[ 0 ],
+				isImagePowerOfTwo = isPowerOfTwo( image.width ) && isPowerOfTwo( image.height ),
+				glFormat = paramThreeToGL( texture.format ),
+				glType = paramThreeToGL( texture.type );
+
+				setTextureParameters( _gl.TEXTURE_CUBE_MAP, texture, isImagePowerOfTwo );
+
+				for ( var i = 0; i < 6; i ++ ) {
+
+					if ( isCompressed ) {
+
+						var mipmap, mipmaps = cubeImage[ i ].mipmaps;
+
+						for( var j = 0, jl = mipmaps.length; j < jl; j ++ ) {
+
+							mipmap = mipmaps[ j ];
+							_gl.compressedTexImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glFormat, mipmap.width, mipmap.height, 0, mipmap.data );
+
+						}
+
+					} else {
+
+						_gl.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, glFormat, glType, cubeImage[ i ] );
+
+					}
+
+				}
+
+				if ( texture.generateMipmaps && isImagePowerOfTwo ) {
+
+					_gl.generateMipmap( _gl.TEXTURE_CUBE_MAP );
+
+				}
+
+				texture.needsUpdate = false;
+
+				if ( texture.onUpdate ) texture.onUpdate();
+
+			} else {
+
+				_gl.activeTexture( _gl.TEXTURE0 + slot );
+				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, texture.image.__webglTextureCube );
+
+			}
+
+		}
+
+	};
+
+	function setCubeTextureDynamic ( texture, slot ) {
+
+		_gl.activeTexture( _gl.TEXTURE0 + slot );
+		_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, texture.__webglTexture );
+
+	};
+
+	// Render targets
+
+	function setupFrameBuffer ( framebuffer, renderTarget, textureTarget ) {
+
+		_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
+		_gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, textureTarget, renderTarget.__webglTexture, 0 );
+
+	};
+
+	function setupRenderBuffer ( renderbuffer, renderTarget  ) {
+
+		_gl.bindRenderbuffer( _gl.RENDERBUFFER, renderbuffer );
+
+		if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) {
+
+			_gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_COMPONENT16, renderTarget.width, renderTarget.height );
+			_gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer );
+
+		/* For some reason this is not working. Defaulting to RGBA4.
+		} else if( ! renderTarget.depthBuffer && renderTarget.stencilBuffer ) {
+
+			_gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.STENCIL_INDEX8, renderTarget.width, renderTarget.height );
+			_gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer );
+		*/
+		} else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) {
+
+			_gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height );
+			_gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer );
+
+		} else {
+
+			_gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.RGBA4, renderTarget.width, renderTarget.height );
+
+		}
+
+	};
+
+	this.setRenderTarget = function ( renderTarget ) {
+
+		var isCube = ( renderTarget instanceof THREE.WebGLRenderTargetCube );
+
+		if ( renderTarget && ! renderTarget.__webglFramebuffer ) {
+
+			if ( renderTarget.depthBuffer === undefined ) renderTarget.depthBuffer = true;
+			if ( renderTarget.stencilBuffer === undefined ) renderTarget.stencilBuffer = true;
+
+			renderTarget.addEventListener( 'dispose', onRenderTargetDispose );
+
+			renderTarget.__webglTexture = _gl.createTexture();
+
+			_this.info.memory.textures ++;
+
+			// Setup texture, create render and frame buffers
+
+			var isTargetPowerOfTwo = isPowerOfTwo( renderTarget.width ) && isPowerOfTwo( renderTarget.height ),
+				glFormat = paramThreeToGL( renderTarget.format ),
+				glType = paramThreeToGL( renderTarget.type );
+
+			if ( isCube ) {
+
+				renderTarget.__webglFramebuffer = [];
+				renderTarget.__webglRenderbuffer = [];
+
+				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, renderTarget.__webglTexture );
+				setTextureParameters( _gl.TEXTURE_CUBE_MAP, renderTarget, isTargetPowerOfTwo );
+
+				for ( var i = 0; i < 6; i ++ ) {
+
+					renderTarget.__webglFramebuffer[ i ] = _gl.createFramebuffer();
+					renderTarget.__webglRenderbuffer[ i ] = _gl.createRenderbuffer();
+
+					_gl.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
+
+					setupFrameBuffer( renderTarget.__webglFramebuffer[ i ], renderTarget, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i );
+					setupRenderBuffer( renderTarget.__webglRenderbuffer[ i ], renderTarget );
+
+				}
+
+				if ( isTargetPowerOfTwo ) _gl.generateMipmap( _gl.TEXTURE_CUBE_MAP );
+
+			} else {
+
+				renderTarget.__webglFramebuffer = _gl.createFramebuffer();
+
+				if ( renderTarget.shareDepthFrom ) {
+
+					renderTarget.__webglRenderbuffer = renderTarget.shareDepthFrom.__webglRenderbuffer;
+
+				} else {
+
+					renderTarget.__webglRenderbuffer = _gl.createRenderbuffer();
+
+				}
+
+				_gl.bindTexture( _gl.TEXTURE_2D, renderTarget.__webglTexture );
+				setTextureParameters( _gl.TEXTURE_2D, renderTarget, isTargetPowerOfTwo );
+
+				_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
+
+				setupFrameBuffer( renderTarget.__webglFramebuffer, renderTarget, _gl.TEXTURE_2D );
+
+				if ( renderTarget.shareDepthFrom ) {
+
+					if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) {
+
+						_gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.RENDERBUFFER, renderTarget.__webglRenderbuffer );
+
+					} else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) {
+
+						_gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderTarget.__webglRenderbuffer );
+
+					}
+
+				} else {
+
+					setupRenderBuffer( renderTarget.__webglRenderbuffer, renderTarget );
+
+				}
+
+				if ( isTargetPowerOfTwo ) _gl.generateMipmap( _gl.TEXTURE_2D );
+
+			}
+
+			// Release everything
+
+			if ( isCube ) {
+
+				_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, null );
+
+			} else {
+
+				_gl.bindTexture( _gl.TEXTURE_2D, null );
+
+			}
+
+			_gl.bindRenderbuffer( _gl.RENDERBUFFER, null );
+			_gl.bindFramebuffer( _gl.FRAMEBUFFER, null );
+
+		}
+
+		var framebuffer, width, height, vx, vy;
+
+		if ( renderTarget ) {
+
+			if ( isCube ) {
+
+				framebuffer = renderTarget.__webglFramebuffer[ renderTarget.activeCubeFace ];
+
+			} else {
+
+				framebuffer = renderTarget.__webglFramebuffer;
+
+			}
+
+			width = renderTarget.width;
+			height = renderTarget.height;
+
+			vx = 0;
+			vy = 0;
+
+		} else {
+
+			framebuffer = null;
+
+			width = _viewportWidth;
+			height = _viewportHeight;
+
+			vx = _viewportX;
+			vy = _viewportY;
+
+		}
+
+		if ( framebuffer !== _currentFramebuffer ) {
+
+			_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
+			_gl.viewport( vx, vy, width, height );
+
+			_currentFramebuffer = framebuffer;
+
+		}
+
+		_currentWidth = width;
+		_currentHeight = height;
+
+	};
+
+	function updateRenderTargetMipmap ( renderTarget ) {
+
+		if ( renderTarget instanceof THREE.WebGLRenderTargetCube ) {
+
+			_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, renderTarget.__webglTexture );
+			_gl.generateMipmap( _gl.TEXTURE_CUBE_MAP );
+			_gl.bindTexture( _gl.TEXTURE_CUBE_MAP, null );
+
+		} else {
+
+			_gl.bindTexture( _gl.TEXTURE_2D, renderTarget.__webglTexture );
+			_gl.generateMipmap( _gl.TEXTURE_2D );
+			_gl.bindTexture( _gl.TEXTURE_2D, null );
+
+		}
+
+	};
+
+	// Fallback filters for non-power-of-2 textures
+
+	function filterFallback ( f ) {
+
+		if ( f === THREE.NearestFilter || f === THREE.NearestMipMapNearestFilter || f === THREE.NearestMipMapLinearFilter ) {
+
+			return _gl.NEAREST;
+
+		}
+
+		return _gl.LINEAR;
+
+	};
+
+	// Map three.js constants to WebGL constants
+
+	function paramThreeToGL ( p ) {
+
+		if ( p === THREE.RepeatWrapping ) return _gl.REPEAT;
+		if ( p === THREE.ClampToEdgeWrapping ) return _gl.CLAMP_TO_EDGE;
+		if ( p === THREE.MirroredRepeatWrapping ) return _gl.MIRRORED_REPEAT;
+
+		if ( p === THREE.NearestFilter ) return _gl.NEAREST;
+		if ( p === THREE.NearestMipMapNearestFilter ) return _gl.NEAREST_MIPMAP_NEAREST;
+		if ( p === THREE.NearestMipMapLinearFilter ) return _gl.NEAREST_MIPMAP_LINEAR;
+
+		if ( p === THREE.LinearFilter ) return _gl.LINEAR;
+		if ( p === THREE.LinearMipMapNearestFilter ) return _gl.LINEAR_MIPMAP_NEAREST;
+		if ( p === THREE.LinearMipMapLinearFilter ) return _gl.LINEAR_MIPMAP_LINEAR;
+
+		if ( p === THREE.UnsignedByteType ) return _gl.UNSIGNED_BYTE;
+		if ( p === THREE.UnsignedShort4444Type ) return _gl.UNSIGNED_SHORT_4_4_4_4;
+		if ( p === THREE.UnsignedShort5551Type ) return _gl.UNSIGNED_SHORT_5_5_5_1;
+		if ( p === THREE.UnsignedShort565Type ) return _gl.UNSIGNED_SHORT_5_6_5;
+
+		if ( p === THREE.ByteType ) return _gl.BYTE;
+		if ( p === THREE.ShortType ) return _gl.SHORT;
+		if ( p === THREE.UnsignedShortType ) return _gl.UNSIGNED_SHORT;
+		if ( p === THREE.IntType ) return _gl.INT;
+		if ( p === THREE.UnsignedIntType ) return _gl.UNSIGNED_INT;
+		if ( p === THREE.FloatType ) return _gl.FLOAT;
+
+		if ( p === THREE.AlphaFormat ) return _gl.ALPHA;
+		if ( p === THREE.RGBFormat ) return _gl.RGB;
+		if ( p === THREE.RGBAFormat ) return _gl.RGBA;
+		if ( p === THREE.LuminanceFormat ) return _gl.LUMINANCE;
+		if ( p === THREE.LuminanceAlphaFormat ) return _gl.LUMINANCE_ALPHA;
+
+		if ( p === THREE.AddEquation ) return _gl.FUNC_ADD;
+		if ( p === THREE.SubtractEquation ) return _gl.FUNC_SUBTRACT;
+		if ( p === THREE.ReverseSubtractEquation ) return _gl.FUNC_REVERSE_SUBTRACT;
+
+		if ( p === THREE.ZeroFactor ) return _gl.ZERO;
+		if ( p === THREE.OneFactor ) return _gl.ONE;
+		if ( p === THREE.SrcColorFactor ) return _gl.SRC_COLOR;
+		if ( p === THREE.OneMinusSrcColorFactor ) return _gl.ONE_MINUS_SRC_COLOR;
+		if ( p === THREE.SrcAlphaFactor ) return _gl.SRC_ALPHA;
+		if ( p === THREE.OneMinusSrcAlphaFactor ) return _gl.ONE_MINUS_SRC_ALPHA;
+		if ( p === THREE.DstAlphaFactor ) return _gl.DST_ALPHA;
+		if ( p === THREE.OneMinusDstAlphaFactor ) return _gl.ONE_MINUS_DST_ALPHA;
+
+		if ( p === THREE.DstColorFactor ) return _gl.DST_COLOR;
+		if ( p === THREE.OneMinusDstColorFactor ) return _gl.ONE_MINUS_DST_COLOR;
+		if ( p === THREE.SrcAlphaSaturateFactor ) return _gl.SRC_ALPHA_SATURATE;
+
+		if ( _glExtensionCompressedTextureS3TC !== undefined ) {
+
+			if ( p === THREE.RGB_S3TC_DXT1_Format ) return _glExtensionCompressedTextureS3TC.COMPRESSED_RGB_S3TC_DXT1_EXT;
+			if ( p === THREE.RGBA_S3TC_DXT1_Format ) return _glExtensionCompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT1_EXT;
+			if ( p === THREE.RGBA_S3TC_DXT3_Format ) return _glExtensionCompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT3_EXT;
+			if ( p === THREE.RGBA_S3TC_DXT5_Format ) return _glExtensionCompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT5_EXT;
+
+		}
+
+		return 0;
+
+	};
+
+	// Allocations
+
+	function allocateBones ( object ) {
+
+		if ( _supportsBoneTextures && object && object.useVertexTexture ) {
+
+			return 1024;
+
+		} else {
+
+			// default for when object is not specified
+			// ( for example when prebuilding shader
+			//   to be used with multiple objects )
+			//
+			// 	- leave some extra space for other uniforms
+			//  - limit here is ANGLE's 254 max uniform vectors
+			//    (up to 54 should be safe)
+
+			var nVertexUniforms = _gl.getParameter( _gl.MAX_VERTEX_UNIFORM_VECTORS );
+			var nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 );
+
+			var maxBones = nVertexMatrices;
+
+			if ( object !== undefined && object instanceof THREE.SkinnedMesh ) {
+
+				maxBones = Math.min( object.bones.length, maxBones );
+
+				if ( maxBones < object.bones.length ) {
+
+					console.warn( "WebGLRenderer: too many bones - " + object.bones.length + ", this GPU supports just " + maxBones + " (try OpenGL instead of ANGLE)" );
+
+				}
+
+			}
+
+			return maxBones;
+
+		}
+
+	};
+
+	function allocateLights ( lights ) {
+
+		var l, ll, light, dirLights, pointLights, spotLights, hemiLights;
+
+		dirLights = pointLights = spotLights = hemiLights = 0;
+
+		for ( l = 0, ll = lights.length; l < ll; l ++ ) {
+
+			light = lights[ l ];
+
+			if ( light.onlyShadow ) continue;
+
+			if ( light instanceof THREE.DirectionalLight ) dirLights ++;
+			if ( light instanceof THREE.PointLight ) pointLights ++;
+			if ( light instanceof THREE.SpotLight ) spotLights ++;
+			if ( light instanceof THREE.HemisphereLight ) hemiLights ++;
+
+		}
+
+		return { 'directional' : dirLights, 'point' : pointLights, 'spot': spotLights, 'hemi': hemiLights };
+
+	};
+
+	function allocateShadows ( lights ) {
+
+		var l, ll, light, maxShadows = 0;
+
+		for ( l = 0, ll = lights.length; l < ll; l++ ) {
+
+			light = lights[ l ];
+
+			if ( ! light.castShadow ) continue;
+
+			if ( light instanceof THREE.SpotLight ) maxShadows ++;
+			if ( light instanceof THREE.DirectionalLight && ! light.shadowCascade ) maxShadows ++;
+
+		}
+
+		return maxShadows;
+
+	};
+
+	// Initialization
+
+	function initGL () {
+
+		try {
+
+			if ( ! ( _gl = _canvas.getContext( 'experimental-webgl', { alpha: _alpha, premultipliedAlpha: _premultipliedAlpha, antialias: _antialias, stencil: _stencil, preserveDrawingBuffer: _preserveDrawingBuffer } ) ) ) {
+
+				throw 'Error creating WebGL context.';
+
+			}
+
+		} catch ( error ) {
+
+			console.error( error );
+
+		}
+
+		_glExtensionTextureFloat = _gl.getExtension( 'OES_texture_float' );
+		_glExtensionStandardDerivatives = _gl.getExtension( 'OES_standard_derivatives' );
+
+		_glExtensionTextureFilterAnisotropic = _gl.getExtension( 'EXT_texture_filter_anisotropic' ) ||
+											   _gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) ||
+											   _gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' );
+
+
+		_glExtensionCompressedTextureS3TC = _gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) ||
+											_gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) ||
+											_gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' );
+
+		if ( ! _glExtensionTextureFloat ) {
+
+			console.log( 'THREE.WebGLRenderer: Float textures not supported.' );
+
+		}
+
+		if ( ! _glExtensionStandardDerivatives ) {
+
+			console.log( 'THREE.WebGLRenderer: Standard derivatives not supported.' );
+
+		}
+
+		if ( ! _glExtensionTextureFilterAnisotropic ) {
+
+			console.log( 'THREE.WebGLRenderer: Anisotropic texture filtering not supported.' );
+
+		}
+
+		if ( ! _glExtensionCompressedTextureS3TC ) {
+
+			console.log( 'THREE.WebGLRenderer: S3TC compressed textures not supported.' );
+
+		}
+		
+		if ( _gl.getShaderPrecisionFormat === undefined ) {
+			
+			_gl.getShaderPrecisionFormat = function() { 
+				
+				return {
+					"rangeMin"  : 1,
+					"rangeMax"  : 1,
+					"precision" : 1
+				};
+				
+			}
+		}
+
+	};
+
+	function setDefaultGLState () {
+
+		_gl.clearColor( 0, 0, 0, 1 );
+		_gl.clearDepth( 1 );
+		_gl.clearStencil( 0 );
+
+		_gl.enable( _gl.DEPTH_TEST );
+		_gl.depthFunc( _gl.LEQUAL );
+
+		_gl.frontFace( _gl.CCW );
+		_gl.cullFace( _gl.BACK );
+		_gl.enable( _gl.CULL_FACE );
+
+		_gl.enable( _gl.BLEND );
+		_gl.blendEquation( _gl.FUNC_ADD );
+		_gl.blendFunc( _gl.SRC_ALPHA, _gl.ONE_MINUS_SRC_ALPHA );
+
+		_gl.clearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha );
+
+	};
+
+	// default plugins (order is important)
+
+	this.shadowMapPlugin = new THREE.ShadowMapPlugin();
+	this.addPrePlugin( this.shadowMapPlugin );
+
+	this.addPostPlugin( new THREE.SpritePlugin() );
+	this.addPostPlugin( new THREE.LensFlarePlugin() );
+
+};
+/**
+ * @author szimek / https://github.com/szimek/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.WebGLRenderTarget = function ( width, height, options ) {
+
+	THREE.EventDispatcher.call( this );
+
+	this.width = width;
+	this.height = height;
+
+	options = options || {};
+
+	this.wrapS = options.wrapS !== undefined ? options.wrapS : THREE.ClampToEdgeWrapping;
+	this.wrapT = options.wrapT !== undefined ? options.wrapT : THREE.ClampToEdgeWrapping;
+
+	this.magFilter = options.magFilter !== undefined ? options.magFilter : THREE.LinearFilter;
+	this.minFilter = options.minFilter !== undefined ? options.minFilter : THREE.LinearMipMapLinearFilter;
+
+	this.anisotropy = options.anisotropy !== undefined ? options.anisotropy : 1;
+
+	this.offset = new THREE.Vector2( 0, 0 );
+	this.repeat = new THREE.Vector2( 1, 1 );
+
+	this.format = options.format !== undefined ? options.format : THREE.RGBAFormat;
+	this.type = options.type !== undefined ? options.type : THREE.UnsignedByteType;
+
+	this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;
+	this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : true;
+
+	this.generateMipmaps = true;
+
+	this.shareDepthFrom = null;
+
+};
+
+THREE.WebGLRenderTarget.prototype.clone = function() {
+
+	var tmp = new THREE.WebGLRenderTarget( this.width, this.height );
+
+	tmp.wrapS = this.wrapS;
+	tmp.wrapT = this.wrapT;
+
+	tmp.magFilter = this.magFilter;
+	tmp.minFilter = this.minFilter;
+
+	tmp.anisotropy = this.anisotropy;
+
+	tmp.offset.copy( this.offset );
+	tmp.repeat.copy( this.repeat );
+
+	tmp.format = this.format;
+	tmp.type = this.type;
+
+	tmp.depthBuffer = this.depthBuffer;
+	tmp.stencilBuffer = this.stencilBuffer;
+
+	tmp.generateMipmaps = this.generateMipmaps;
+
+	tmp.shareDepthFrom = this.shareDepthFrom;
+
+	return tmp;
+
+};
+
+THREE.WebGLRenderTarget.prototype.dispose = function () {
+
+	this.dispatchEvent( { type: 'dispose' } );
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com
+ */
+
+THREE.WebGLRenderTargetCube = function ( width, height, options ) {
+
+	THREE.WebGLRenderTarget.call( this, width, height, options );
+
+	this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5
+
+};
+
+THREE.WebGLRenderTargetCube.prototype = Object.create( THREE.WebGLRenderTarget.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableVertex = function () {
+
+	this.positionWorld = new THREE.Vector3();
+	this.positionScreen = new THREE.Vector4();
+
+	this.visible = true;
+
+};
+
+THREE.RenderableVertex.prototype.copy = function ( vertex ) {
+
+	this.positionWorld.copy( vertex.positionWorld );
+	this.positionScreen.copy( vertex.positionScreen );
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableFace3 = function () {
+
+	this.v1 = new THREE.RenderableVertex();
+	this.v2 = new THREE.RenderableVertex();
+	this.v3 = new THREE.RenderableVertex();
+
+	this.centroidModel = new THREE.Vector3();
+
+	this.normalModel = new THREE.Vector3();
+	this.normalModelView = new THREE.Vector3();
+
+	this.vertexNormalsLength = 0;
+	this.vertexNormalsModel = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+	this.vertexNormalsModelView = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+
+	this.color = null;
+	this.material = null;
+	this.uvs = [[]];
+
+	this.z = null;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableFace4 = function () {
+
+	this.v1 = new THREE.RenderableVertex();
+	this.v2 = new THREE.RenderableVertex();
+	this.v3 = new THREE.RenderableVertex();
+	this.v4 = new THREE.RenderableVertex();
+
+	this.centroidModel = new THREE.Vector3();
+
+	this.normalModel = new THREE.Vector3();
+	this.normalModelView = new THREE.Vector3();
+
+	this.vertexNormalsLength = 0;
+	this.vertexNormalsModel = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+	this.vertexNormalsModelView = [ new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3() ];
+
+	this.color = null;
+	this.material = null;
+	this.uvs = [[]];
+
+	this.z = null;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableObject = function () {
+
+	this.object = null;
+	this.z = null;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableParticle = function () {
+
+	this.object = null;
+
+	this.x = null;
+	this.y = null;
+	this.z = null;
+
+	this.rotation = null;
+	this.scale = new THREE.Vector2();
+
+	this.material = null;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.RenderableLine = function () {
+
+	this.z = null;
+
+	this.v1 = new THREE.RenderableVertex();
+	this.v2 = new THREE.RenderableVertex();
+
+	this.material = null;
+
+};
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.GeometryUtils = {
+
+	// Merge two geometries or geometry and geometry from object (using object's transform)
+
+	merge: function ( geometry1, object2 /* mesh | geometry */ ) {
+
+		var matrix, normalMatrix,
+		vertexOffset = geometry1.vertices.length,
+		uvPosition = geometry1.faceVertexUvs[ 0 ].length,
+		geometry2 = object2 instanceof THREE.Mesh ? object2.geometry : object2,
+		vertices1 = geometry1.vertices,
+		vertices2 = geometry2.vertices,
+		faces1 = geometry1.faces,
+		faces2 = geometry2.faces,
+		uvs1 = geometry1.faceVertexUvs[ 0 ],
+		uvs2 = geometry2.faceVertexUvs[ 0 ];
+
+		if ( object2 instanceof THREE.Mesh ) {
+
+			object2.matrixAutoUpdate && object2.updateMatrix();
+
+			matrix = object2.matrix;
+
+			normalMatrix = new THREE.Matrix3();
+			normalMatrix.getInverse( matrix );
+			normalMatrix.transpose();
+
+		}
+
+		// vertices
+
+		for ( var i = 0, il = vertices2.length; i < il; i ++ ) {
+
+			var vertex = vertices2[ i ];
+
+			var vertexCopy = vertex.clone();
+
+			if ( matrix ) vertexCopy.applyMatrix4( matrix );
+
+			vertices1.push( vertexCopy );
+
+		}
+
+		// faces
+
+		for ( i = 0, il = faces2.length; i < il; i ++ ) {
+
+			var face = faces2[ i ], faceCopy, normal, color,
+			faceVertexNormals = face.vertexNormals,
+			faceVertexColors = face.vertexColors;
+
+			if ( face instanceof THREE.Face3 ) {
+
+				faceCopy = new THREE.Face3( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset );
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				faceCopy = new THREE.Face4( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset, face.d + vertexOffset );
+
+			}
+
+			faceCopy.normal.copy( face.normal );
+
+			if ( normalMatrix ) {
+
+				faceCopy.normal.applyMatrix3( normalMatrix ).normalize();
+
+			}
+
+			for ( var j = 0, jl = faceVertexNormals.length; j < jl; j ++ ) {
+
+				normal = faceVertexNormals[ j ].clone();
+
+				if ( normalMatrix ) {
+
+					normal.applyMatrix3( normalMatrix ).normalize();
+
+				}
+
+				faceCopy.vertexNormals.push( normal );
+
+			}
+
+			faceCopy.color.copy( face.color );
+
+			for ( var j = 0, jl = faceVertexColors.length; j < jl; j ++ ) {
+
+				color = faceVertexColors[ j ];
+				faceCopy.vertexColors.push( color.clone() );
+
+			}
+
+			faceCopy.materialIndex = face.materialIndex;
+
+			faceCopy.centroid.copy( face.centroid );
+
+			if ( matrix ) {
+
+				faceCopy.centroid.applyMatrix4( matrix );
+
+			}
+
+			faces1.push( faceCopy );
+
+		}
+
+		// uvs
+
+		for ( i = 0, il = uvs2.length; i < il; i ++ ) {
+
+			var uv = uvs2[ i ], uvCopy = [];
+
+			for ( var j = 0, jl = uv.length; j < jl; j ++ ) {
+
+				uvCopy.push( new THREE.Vector2( uv[ j ].x, uv[ j ].y ) );
+
+			}
+
+			uvs1.push( uvCopy );
+
+		}
+
+	},
+
+	removeMaterials: function ( geometry, materialIndexArray ) {
+
+		var materialIndexMap = {};
+
+		for ( var i = 0, il = materialIndexArray.length; i < il; i ++ ) {
+
+			materialIndexMap[ materialIndexArray[i] ] = true;
+
+		}
+
+		var face, newFaces = [];
+
+		for ( var i = 0, il = geometry.faces.length; i < il; i ++ ) {
+
+			face = geometry.faces[ i ];
+			if ( ! ( face.materialIndex in materialIndexMap ) ) newFaces.push( face );
+
+		}
+
+		geometry.faces = newFaces;
+
+	},
+
+	// Get random point in triangle (via barycentric coordinates)
+	// 	(uniform distribution)
+	// 	http://www.cgafaq.info/wiki/Random_Point_In_Triangle
+
+	randomPointInTriangle: function ( vectorA, vectorB, vectorC ) {
+
+		var a, b, c,
+			point = new THREE.Vector3(),
+			tmp = THREE.GeometryUtils.__v1;
+
+		a = THREE.GeometryUtils.random();
+		b = THREE.GeometryUtils.random();
+
+		if ( ( a + b ) > 1 ) {
+
+			a = 1 - a;
+			b = 1 - b;
+
+		}
+
+		c = 1 - a - b;
+
+		point.copy( vectorA );
+		point.multiplyScalar( a );
+
+		tmp.copy( vectorB );
+		tmp.multiplyScalar( b );
+
+		point.add( tmp );
+
+		tmp.copy( vectorC );
+		tmp.multiplyScalar( c );
+
+		point.add( tmp );
+
+		return point;
+
+	},
+
+	// Get random point in face (triangle / quad)
+	// (uniform distribution)
+
+	randomPointInFace: function ( face, geometry, useCachedAreas ) {
+
+		var vA, vB, vC, vD;
+
+		if ( face instanceof THREE.Face3 ) {
+
+			vA = geometry.vertices[ face.a ];
+			vB = geometry.vertices[ face.b ];
+			vC = geometry.vertices[ face.c ];
+
+			return THREE.GeometryUtils.randomPointInTriangle( vA, vB, vC );
+
+		} else if ( face instanceof THREE.Face4 ) {
+
+			vA = geometry.vertices[ face.a ];
+			vB = geometry.vertices[ face.b ];
+			vC = geometry.vertices[ face.c ];
+			vD = geometry.vertices[ face.d ];
+
+			var area1, area2;
+
+			if ( useCachedAreas ) {
+
+				if ( face._area1 && face._area2 ) {
+
+					area1 = face._area1;
+					area2 = face._area2;
+
+				} else {
+
+					area1 = THREE.GeometryUtils.triangleArea( vA, vB, vD );
+					area2 = THREE.GeometryUtils.triangleArea( vB, vC, vD );
+
+					face._area1 = area1;
+					face._area2 = area2;
+
+				}
+
+			} else {
+
+				area1 = THREE.GeometryUtils.triangleArea( vA, vB, vD ),
+				area2 = THREE.GeometryUtils.triangleArea( vB, vC, vD );
+
+			}
+
+			var r = THREE.GeometryUtils.random() * ( area1 + area2 );
+
+			if ( r < area1 ) {
+
+				return THREE.GeometryUtils.randomPointInTriangle( vA, vB, vD );
+
+			} else {
+
+				return THREE.GeometryUtils.randomPointInTriangle( vB, vC, vD );
+
+			}
+
+		}
+
+	},
+
+	// Get uniformly distributed random points in mesh
+	// 	- create array with cumulative sums of face areas
+	//  - pick random number from 0 to total area
+	//  - find corresponding place in area array by binary search
+	//	- get random point in face
+
+	randomPointsInGeometry: function ( geometry, n ) {
+
+		var face, i,
+			faces = geometry.faces,
+			vertices = geometry.vertices,
+			il = faces.length,
+			totalArea = 0,
+			cumulativeAreas = [],
+			vA, vB, vC, vD;
+
+		// precompute face areas
+
+		for ( i = 0; i < il; i ++ ) {
+
+			face = faces[ i ];
+
+			if ( face instanceof THREE.Face3 ) {
+
+				vA = vertices[ face.a ];
+				vB = vertices[ face.b ];
+				vC = vertices[ face.c ];
+
+				face._area = THREE.GeometryUtils.triangleArea( vA, vB, vC );
+
+			} else if ( face instanceof THREE.Face4 ) {
+
+				vA = vertices[ face.a ];
+				vB = vertices[ face.b ];
+				vC = vertices[ face.c ];
+				vD = vertices[ face.d ];
+
+				face._area1 = THREE.GeometryUtils.triangleArea( vA, vB, vD );
+				face._area2 = THREE.GeometryUtils.triangleArea( vB, vC, vD );
+
+				face._area = face._area1 + face._area2;
+
+			}
+
+			totalArea += face._area;
+
+			cumulativeAreas[ i ] = totalArea;
+
+		}
+
+		// binary search cumulative areas array
+
+		function binarySearchIndices( value ) {
+
+			function binarySearch( start, end ) {
+
+				// return closest larger index
+				// if exact number is not found
+
+				if ( end < start )
+					return start;
+
+				var mid = start + Math.floor( ( end - start ) / 2 );
+
+				if ( cumulativeAreas[ mid ] > value ) {
+
+					return binarySearch( start, mid - 1 );
+
+				} else if ( cumulativeAreas[ mid ] < value ) {
+
+					return binarySearch( mid + 1, end );
+
+				} else {
+
+					return mid;
+
+				}
+
+			}
+
+			var result = binarySearch( 0, cumulativeAreas.length - 1 )
+			return result;
+
+		}
+
+		// pick random face weighted by face area
+
+		var r, index,
+			result = [];
+
+		var stats = {};
+
+		for ( i = 0; i < n; i ++ ) {
+
+			r = THREE.GeometryUtils.random() * totalArea;
+
+			index = binarySearchIndices( r );
+
+			result[ i ] = THREE.GeometryUtils.randomPointInFace( faces[ index ], geometry, true );
+
+			if ( ! stats[ index ] ) {
+
+				stats[ index ] = 1;
+
+			} else {
+
+				stats[ index ] += 1;
+
+			}
+
+		}
+
+		return result;
+
+	},
+
+	// Get triangle area (half of parallelogram)
+	//	http://mathworld.wolfram.com/TriangleArea.html
+
+	triangleArea: function ( vectorA, vectorB, vectorC ) {
+
+		var tmp1 = THREE.GeometryUtils.__v1,
+			tmp2 = THREE.GeometryUtils.__v2;
+
+		tmp1.subVectors( vectorB, vectorA );
+		tmp2.subVectors( vectorC, vectorA );
+		tmp1.cross( tmp2 );
+
+		return 0.5 * tmp1.length();
+
+	},
+
+	// Center geometry so that 0,0,0 is in center of bounding box
+
+	center: function ( geometry ) {
+
+		geometry.computeBoundingBox();
+
+		var bb = geometry.boundingBox;
+
+		var offset = new THREE.Vector3();
+
+		offset.addVectors( bb.min, bb.max );
+		offset.multiplyScalar( -0.5 );
+
+		geometry.applyMatrix( new THREE.Matrix4().makeTranslation( offset.x, offset.y, offset.z ) );
+		geometry.computeBoundingBox();
+
+		return offset;
+
+	},
+
+	// Normalize UVs to be from <0,1>
+	// (for now just the first set of UVs)
+
+	normalizeUVs: function ( geometry ) {
+
+		var uvSet = geometry.faceVertexUvs[ 0 ];
+
+		for ( var i = 0, il = uvSet.length; i < il; i ++ ) {
+
+			var uvs = uvSet[ i ];
+
+			for ( var j = 0, jl = uvs.length; j < jl; j ++ ) {
+
+				// texture repeat
+
+				if( uvs[ j ].x !== 1.0 ) uvs[ j ].x = uvs[ j ].x - Math.floor( uvs[ j ].x );
+				if( uvs[ j ].y !== 1.0 ) uvs[ j ].y = uvs[ j ].y - Math.floor( uvs[ j ].y );
+
+			}
+
+		}
+
+	},
+
+	triangulateQuads: function ( geometry ) {
+
+		var i, il, j, jl;
+
+		var faces = [];
+		var faceUvs = [];
+		var faceVertexUvs = [];
+
+		for ( i = 0, il = geometry.faceUvs.length; i < il; i ++ ) {
+
+			faceUvs[ i ] = [];
+
+		}
+
+		for ( i = 0, il = geometry.faceVertexUvs.length; i < il; i ++ ) {
+
+			faceVertexUvs[ i ] = [];
+
+		}
+
+		for ( i = 0, il = geometry.faces.length; i < il; i ++ ) {
+
+			var face = geometry.faces[ i ];
+
+			if ( face instanceof THREE.Face4 ) {
+
+				var a = face.a;
+				var b = face.b;
+				var c = face.c;
+				var d = face.d;
+
+				var triA = new THREE.Face3();
+				var triB = new THREE.Face3();
+
+				triA.color.copy( face.color );
+				triB.color.copy( face.color );
+
+				triA.materialIndex = face.materialIndex;
+				triB.materialIndex = face.materialIndex;
+
+				triA.a = a;
+				triA.b = b;
+				triA.c = d;
+
+				triB.a = b;
+				triB.b = c;
+				triB.c = d;
+
+				if ( face.vertexColors.length === 4 ) {
+
+					triA.vertexColors[ 0 ] = face.vertexColors[ 0 ].clone();
+					triA.vertexColors[ 1 ] = face.vertexColors[ 1 ].clone();
+					triA.vertexColors[ 2 ] = face.vertexColors[ 3 ].clone();
+
+					triB.vertexColors[ 0 ] = face.vertexColors[ 1 ].clone();
+					triB.vertexColors[ 1 ] = face.vertexColors[ 2 ].clone();
+					triB.vertexColors[ 2 ] = face.vertexColors[ 3 ].clone();
+
+				}
+
+				faces.push( triA, triB );
+
+				for ( j = 0, jl = geometry.faceVertexUvs.length; j < jl; j ++ ) {
+
+					if ( geometry.faceVertexUvs[ j ].length ) {
+
+						var uvs = geometry.faceVertexUvs[ j ][ i ];
+
+						var uvA = uvs[ 0 ];
+						var uvB = uvs[ 1 ];
+						var uvC = uvs[ 2 ];
+						var uvD = uvs[ 3 ];
+
+						var uvsTriA = [ uvA.clone(), uvB.clone(), uvD.clone() ];
+						var uvsTriB = [ uvB.clone(), uvC.clone(), uvD.clone() ];
+
+						faceVertexUvs[ j ].push( uvsTriA, uvsTriB );
+
+					}
+
+				}
+
+				for ( j = 0, jl = geometry.faceUvs.length; j < jl; j ++ ) {
+
+					if ( geometry.faceUvs[ j ].length ) {
+
+						var faceUv = geometry.faceUvs[ j ][ i ];
+
+						faceUvs[ j ].push( faceUv, faceUv );
+
+					}
+
+				}
+
+			} else {
+
+				faces.push( face );
+
+				for ( j = 0, jl = geometry.faceUvs.length; j < jl; j ++ ) {
+
+					faceUvs[ j ].push( geometry.faceUvs[ j ][ i ] );
+
+				}
+
+				for ( j = 0, jl = geometry.faceVertexUvs.length; j < jl; j ++ ) {
+
+					faceVertexUvs[ j ].push( geometry.faceVertexUvs[ j ][ i ] );
+
+				}
+
+			}
+
+		}
+
+		geometry.faces = faces;
+		geometry.faceUvs = faceUvs;
+		geometry.faceVertexUvs = faceVertexUvs;
+
+		geometry.computeCentroids();
+		geometry.computeFaceNormals();
+		geometry.computeVertexNormals();
+
+		if ( geometry.hasTangents ) geometry.computeTangents();
+
+	},
+
+	setMaterialIndex: function ( geometry, index, startFace, endFace ){
+
+		var faces = geometry.faces;
+		var start = startFace || 0;
+		var end = endFace || faces.length - 1;
+
+		for ( var i = start; i <= end; i ++ ) {
+
+			faces[i].materialIndex = index;
+
+		}
+
+    }
+
+};
+
+THREE.GeometryUtils.random = THREE.Math.random16;
+
+THREE.GeometryUtils.__v1 = new THREE.Vector3();
+THREE.GeometryUtils.__v2 = new THREE.Vector3();
+/**
+ * @author alteredq / http://alteredqualia.com/
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.ImageUtils = {
+
+	crossOrigin: 'anonymous',
+
+	loadTexture: function ( url, mapping, onLoad, onError ) {
+
+		var image = new Image();
+		var texture = new THREE.Texture( image, mapping );
+
+		var loader = new THREE.ImageLoader();
+
+		loader.addEventListener( 'load', function ( event ) {
+
+			texture.image = event.content;
+			texture.needsUpdate = true;
+
+			if ( onLoad ) onLoad( texture );
+
+		} );
+
+		loader.addEventListener( 'error', function ( event ) {
+
+			if ( onError ) onError( event.message );
+
+		} );
+
+		loader.crossOrigin = this.crossOrigin;
+		loader.load( url, image );
+
+		texture.sourceFile = url;
+
+		return texture;
+
+	},
+
+	loadCompressedTexture: function ( url, mapping, onLoad, onError ) {
+
+		var texture = new THREE.CompressedTexture();
+		texture.mapping = mapping;
+
+		var request = new XMLHttpRequest();
+
+		request.onload = function () {
+
+			var buffer = request.response;
+			var dds = THREE.ImageUtils.parseDDS( buffer, true );
+
+			texture.format = dds.format;
+
+			texture.mipmaps = dds.mipmaps;
+			texture.image.width = dds.width;
+			texture.image.height = dds.height;
+
+			// gl.generateMipmap fails for compressed textures
+			// mipmaps must be embedded in the DDS file
+			// or texture filters must not use mipmapping
+
+			texture.generateMipmaps = false;
+
+			texture.needsUpdate = true;
+
+			if ( onLoad ) onLoad( texture );
+
+		}
+
+		request.onerror = onError;
+
+		request.open( 'GET', url, true );
+		request.responseType = "arraybuffer";
+		request.send( null );
+
+		return texture;
+
+	},
+
+	loadTextureCube: function ( array, mapping, onLoad, onError ) {
+
+		var images = [];
+		images.loadCount = 0;
+
+		var texture = new THREE.Texture();
+		texture.image = images;
+		if ( mapping !== undefined ) texture.mapping = mapping;
+
+		// no flipping needed for cube textures
+
+		texture.flipY = false;
+
+		for ( var i = 0, il = array.length; i < il; ++ i ) {
+
+			var cubeImage = new Image();
+			images[ i ] = cubeImage;
+
+			cubeImage.onload = function () {
+
+				images.loadCount += 1;
+
+				if ( images.loadCount === 6 ) {
+
+					texture.needsUpdate = true;
+					if ( onLoad ) onLoad( texture );
+
+				}
+
+			};
+
+			cubeImage.onerror = onError;
+
+			cubeImage.crossOrigin = this.crossOrigin;
+			cubeImage.src = array[ i ];
+
+		}
+
+		return texture;
+
+	},
+
+	loadCompressedTextureCube: function ( array, mapping, onLoad, onError ) {
+
+		var images = [];
+		images.loadCount = 0;
+
+		var texture = new THREE.CompressedTexture();
+		texture.image = images;
+		if ( mapping !== undefined ) texture.mapping = mapping;
+
+		// no flipping for cube textures
+		// (also flipping doesn't work for compressed textures )
+
+		texture.flipY = false;
+
+		// can't generate mipmaps for compressed textures
+		// mips must be embedded in DDS files
+
+		texture.generateMipmaps = false;
+
+		var generateCubeFaceCallback = function ( rq, img ) {
+
+			return function () {
+
+				var buffer = rq.response;
+				var dds = THREE.ImageUtils.parseDDS( buffer, true );
+
+				img.format = dds.format;
+
+				img.mipmaps = dds.mipmaps;
+				img.width = dds.width;
+				img.height = dds.height;
+
+				images.loadCount += 1;
+
+				if ( images.loadCount === 6 ) {
+
+					texture.format = dds.format;
+					texture.needsUpdate = true;
+					if ( onLoad ) onLoad( texture );
+
+				}
+
+			}
+
+		}
+
+		// compressed cubemap textures as 6 separate DDS files
+
+		if ( array instanceof Array ) {
+
+			for ( var i = 0, il = array.length; i < il; ++ i ) {
+
+				var cubeImage = {};
+				images[ i ] = cubeImage;
+
+				var request = new XMLHttpRequest();
+
+				request.onload = generateCubeFaceCallback( request, cubeImage );
+				request.onerror = onError;
+
+				var url = array[ i ];
+
+				request.open( 'GET', url, true );
+				request.responseType = "arraybuffer";
+				request.send( null );
+
+			}
+
+		// compressed cubemap texture stored in a single DDS file
+
+		} else {
+
+			var url = array;
+			var request = new XMLHttpRequest();
+
+			request.onload = function( ) {
+
+				var buffer = request.response;
+				var dds = THREE.ImageUtils.parseDDS( buffer, true );
+
+				if ( dds.isCubemap ) {
+
+					var faces = dds.mipmaps.length / dds.mipmapCount;
+
+					for ( var f = 0; f < faces; f ++ ) {
+
+						images[ f ] = { mipmaps : [] };
+
+						for ( var i = 0; i < dds.mipmapCount; i ++ ) {
+
+							images[ f ].mipmaps.push( dds.mipmaps[ f * dds.mipmapCount + i ] );
+							images[ f ].format = dds.format;
+							images[ f ].width = dds.width;
+							images[ f ].height = dds.height;
+
+						}
+
+					}
+
+					texture.format = dds.format;
+					texture.needsUpdate = true;
+					if ( onLoad ) onLoad( texture );
+
+				}
+
+			}
+
+			request.onerror = onError;
+
+			request.open( 'GET', url, true );
+			request.responseType = "arraybuffer";
+			request.send( null );
+
+		}
+
+		return texture;
+
+	},
+
+	parseDDS: function ( buffer, loadMipmaps ) {
+
+		var dds = { mipmaps: [], width: 0, height: 0, format: null, mipmapCount: 1 };
+
+		// Adapted from @toji's DDS utils
+		//	https://github.com/toji/webgl-texture-utils/blob/master/texture-util/dds.js
+
+		// All values and structures referenced from:
+		// http://msdn.microsoft.com/en-us/library/bb943991.aspx/
+
+		var DDS_MAGIC = 0x20534444;
+
+		var DDSD_CAPS = 0x1,
+			DDSD_HEIGHT = 0x2,
+			DDSD_WIDTH = 0x4,
+			DDSD_PITCH = 0x8,
+			DDSD_PIXELFORMAT = 0x1000,
+			DDSD_MIPMAPCOUNT = 0x20000,
+			DDSD_LINEARSIZE = 0x80000,
+			DDSD_DEPTH = 0x800000;
+
+		var DDSCAPS_COMPLEX = 0x8,
+			DDSCAPS_MIPMAP = 0x400000,
+			DDSCAPS_TEXTURE = 0x1000;
+
+		var DDSCAPS2_CUBEMAP = 0x200,
+			DDSCAPS2_CUBEMAP_POSITIVEX = 0x400,
+			DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800,
+			DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000,
+			DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000,
+			DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000,
+			DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000,
+			DDSCAPS2_VOLUME = 0x200000;
+
+		var DDPF_ALPHAPIXELS = 0x1,
+			DDPF_ALPHA = 0x2,
+			DDPF_FOURCC = 0x4,
+			DDPF_RGB = 0x40,
+			DDPF_YUV = 0x200,
+			DDPF_LUMINANCE = 0x20000;
+
+		function fourCCToInt32( value ) {
+
+			return value.charCodeAt(0) +
+				(value.charCodeAt(1) << 8) +
+				(value.charCodeAt(2) << 16) +
+				(value.charCodeAt(3) << 24);
+
+		}
+
+		function int32ToFourCC( value ) {
+
+			return String.fromCharCode(
+				value & 0xff,
+				(value >> 8) & 0xff,
+				(value >> 16) & 0xff,
+				(value >> 24) & 0xff
+			);
+		}
+
+		var FOURCC_DXT1 = fourCCToInt32("DXT1");
+		var FOURCC_DXT3 = fourCCToInt32("DXT3");
+		var FOURCC_DXT5 = fourCCToInt32("DXT5");
+
+		var headerLengthInt = 31; // The header length in 32 bit ints
+
+		// Offsets into the header array
+
+		var off_magic = 0;
+
+		var off_size = 1;
+		var off_flags = 2;
+		var off_height = 3;
+		var off_width = 4;
+
+		var off_mipmapCount = 7;
+
+		var off_pfFlags = 20;
+		var off_pfFourCC = 21;
+
+		var off_caps = 27;
+		var off_caps2 = 28;
+		var off_caps3 = 29;
+		var off_caps4 = 30;
+
+		// Parse header
+
+		var header = new Int32Array( buffer, 0, headerLengthInt );
+
+		if ( header[ off_magic ] !== DDS_MAGIC ) {
+
+			console.error( "ImageUtils.parseDDS(): Invalid magic number in DDS header" );
+			return dds;
+
+		}
+
+		if ( ! header[ off_pfFlags ] & DDPF_FOURCC ) {
+
+			console.error( "ImageUtils.parseDDS(): Unsupported format, must contain a FourCC code" );
+			return dds;
+
+		}
+
+		var blockBytes;
+
+		var fourCC = header[ off_pfFourCC ];
+
+		switch ( fourCC ) {
+
+			case FOURCC_DXT1:
+
+				blockBytes = 8;
+				dds.format = THREE.RGB_S3TC_DXT1_Format;
+				break;
+
+			case FOURCC_DXT3:
+
+				blockBytes = 16;
+				dds.format = THREE.RGBA_S3TC_DXT3_Format;
+				break;
+
+			case FOURCC_DXT5:
+
+				blockBytes = 16;
+				dds.format = THREE.RGBA_S3TC_DXT5_Format;
+				break;
+
+			default:
+
+				console.error( "ImageUtils.parseDDS(): Unsupported FourCC code: ", int32ToFourCC( fourCC ) );
+				return dds;
+
+		}
+
+		dds.mipmapCount = 1;
+
+		if ( header[ off_flags ] & DDSD_MIPMAPCOUNT && loadMipmaps !== false ) {
+
+			dds.mipmapCount = Math.max( 1, header[ off_mipmapCount ] );
+
+		}
+
+		//TODO: Verify that all faces of the cubemap are present with DDSCAPS2_CUBEMAP_POSITIVEX, etc.
+
+		dds.isCubemap = header[ off_caps2 ] & DDSCAPS2_CUBEMAP ? true : false;
+
+		dds.width = header[ off_width ];
+		dds.height = header[ off_height ];
+
+		var dataOffset = header[ off_size ] + 4;
+
+		// Extract mipmaps buffers
+
+		var width = dds.width;
+		var height = dds.height;
+
+		var faces = dds.isCubemap ? 6 : 1;
+
+		for ( var face = 0; face < faces; face ++ ) {
+
+			for ( var i = 0; i < dds.mipmapCount; i ++ ) {
+
+				var dataLength = Math.max( 4, width ) / 4 * Math.max( 4, height ) / 4 * blockBytes;
+				var byteArray = new Uint8Array( buffer, dataOffset, dataLength );
+
+				var mipmap = { "data": byteArray, "width": width, "height": height };
+				dds.mipmaps.push( mipmap );
+
+				dataOffset += dataLength;
+
+				width = Math.max( width * 0.5, 1 );
+				height = Math.max( height * 0.5, 1 );
+
+			}
+
+			width = dds.width;
+			height = dds.height;
+
+		}
+
+		return dds;
+
+	},
+
+	getNormalMap: function ( image, depth ) {
+
+		// Adapted from http://www.paulbrunt.co.uk/lab/heightnormal/
+
+		var cross = function ( a, b ) {
+
+			return [ a[ 1 ] * b[ 2 ] - a[ 2 ] * b[ 1 ], a[ 2 ] * b[ 0 ] - a[ 0 ] * b[ 2 ], a[ 0 ] * b[ 1 ] - a[ 1 ] * b[ 0 ] ];
+
+		}
+
+		var subtract = function ( a, b ) {
+
+			return [ a[ 0 ] - b[ 0 ], a[ 1 ] - b[ 1 ], a[ 2 ] - b[ 2 ] ];
+
+		}
+
+		var normalize = function ( a ) {
+
+			var l = Math.sqrt( a[ 0 ] * a[ 0 ] + a[ 1 ] * a[ 1 ] + a[ 2 ] * a[ 2 ] );
+			return [ a[ 0 ] / l, a[ 1 ] / l, a[ 2 ] / l ];
+
+		}
+
+		depth = depth | 1;
+
+		var width = image.width;
+		var height = image.height;
+
+		var canvas = document.createElement( 'canvas' );
+		canvas.width = width;
+		canvas.height = height;
+
+		var context = canvas.getContext( '2d' );
+		context.drawImage( image, 0, 0 );
+
+		var data = context.getImageData( 0, 0, width, height ).data;
+		var imageData = context.createImageData( width, height );
+		var output = imageData.data;
+
+		for ( var x = 0; x < width; x ++ ) {
+
+			for ( var y = 0; y < height; y ++ ) {
+
+				var ly = y - 1 < 0 ? 0 : y - 1;
+				var uy = y + 1 > height - 1 ? height - 1 : y + 1;
+				var lx = x - 1 < 0 ? 0 : x - 1;
+				var ux = x + 1 > width - 1 ? width - 1 : x + 1;
+
+				var points = [];
+				var origin = [ 0, 0, data[ ( y * width + x ) * 4 ] / 255 * depth ];
+				points.push( [ - 1, 0, data[ ( y * width + lx ) * 4 ] / 255 * depth ] );
+				points.push( [ - 1, - 1, data[ ( ly * width + lx ) * 4 ] / 255 * depth ] );
+				points.push( [ 0, - 1, data[ ( ly * width + x ) * 4 ] / 255 * depth ] );
+				points.push( [  1, - 1, data[ ( ly * width + ux ) * 4 ] / 255 * depth ] );
+				points.push( [ 1, 0, data[ ( y * width + ux ) * 4 ] / 255 * depth ] );
+				points.push( [ 1, 1, data[ ( uy * width + ux ) * 4 ] / 255 * depth ] );
+				points.push( [ 0, 1, data[ ( uy * width + x ) * 4 ] / 255 * depth ] );
+				points.push( [ - 1, 1, data[ ( uy * width + lx ) * 4 ] / 255 * depth ] );
+
+				var normals = [];
+				var num_points = points.length;
+
+				for ( var i = 0; i < num_points; i ++ ) {
+
+					var v1 = points[ i ];
+					var v2 = points[ ( i + 1 ) % num_points ];
+					v1 = subtract( v1, origin );
+					v2 = subtract( v2, origin );
+					normals.push( normalize( cross( v1, v2 ) ) );
+
+				}
+
+				var normal = [ 0, 0, 0 ];
+
+				for ( var i = 0; i < normals.length; i ++ ) {
+
+					normal[ 0 ] += normals[ i ][ 0 ];
+					normal[ 1 ] += normals[ i ][ 1 ];
+					normal[ 2 ] += normals[ i ][ 2 ];
+
+				}
+
+				normal[ 0 ] /= normals.length;
+				normal[ 1 ] /= normals.length;
+				normal[ 2 ] /= normals.length;
+
+				var idx = ( y * width + x ) * 4;
+
+				output[ idx ] = ( ( normal[ 0 ] + 1.0 ) / 2.0 * 255 ) | 0;
+				output[ idx + 1 ] = ( ( normal[ 1 ] + 1.0 ) / 2.0 * 255 ) | 0;
+				output[ idx + 2 ] = ( normal[ 2 ] * 255 ) | 0;
+				output[ idx + 3 ] = 255;
+
+			}
+
+		}
+
+		context.putImageData( imageData, 0, 0 );
+
+		return canvas;
+
+	},
+
+	generateDataTexture: function ( width, height, color ) {
+
+		var size = width * height;
+		var data = new Uint8Array( 3 * size );
+
+		var r = Math.floor( color.r * 255 );
+		var g = Math.floor( color.g * 255 );
+		var b = Math.floor( color.b * 255 );
+
+		for ( var i = 0; i < size; i ++ ) {
+
+			data[ i * 3 ] 	  = r;
+			data[ i * 3 + 1 ] = g;
+			data[ i * 3 + 2 ] = b;
+
+		}
+
+		var texture = new THREE.DataTexture( data, width, height, THREE.RGBFormat );
+		texture.needsUpdate = true;
+
+		return texture;
+
+	}
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.SceneUtils = {
+
+	createMultiMaterialObject: function ( geometry, materials ) {
+
+		var group = new THREE.Object3D();
+
+		for ( var i = 0, l = materials.length; i < l; i ++ ) {
+
+			group.add( new THREE.Mesh( geometry, materials[ i ] ) );
+
+		}
+
+		return group;
+
+	},
+
+	detach : function ( child, parent, scene ) {
+
+		child.applyMatrix( parent.matrixWorld );
+		parent.remove( child );
+		scene.add( child );
+
+	},
+
+	attach: function ( child, scene, parent ) {
+
+		var matrixWorldInverse = new THREE.Matrix4();
+		matrixWorldInverse.getInverse( parent.matrixWorld );
+		child.applyMatrix( matrixWorldInverse );
+
+		scene.remove( child );
+		parent.add( child );
+
+	}
+
+};
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * For Text operations in three.js (See TextGeometry)
+ *
+ * It uses techniques used in:
+ *
+ * 	typeface.js and canvastext
+ * 		For converting fonts and rendering with javascript
+ *		http://typeface.neocracy.org
+ *
+ *	Triangulation ported from AS3
+ *		Simple Polygon Triangulation
+ *		http://actionsnippet.com/?p=1462
+ *
+ * 	A Method to triangulate shapes with holes
+ *		http://www.sakri.net/blog/2009/06/12/an-approach-to-triangulating-polygons-with-holes/
+ *
+ */
+
+THREE.FontUtils = {
+
+	faces : {},
+
+	// Just for now. face[weight][style]
+
+	face : "helvetiker",
+	weight: "normal",
+	style : "normal",
+	size : 150,
+	divisions : 10,
+
+	getFace : function() {
+
+		return this.faces[ this.face ][ this.weight ][ this.style ];
+
+	},
+
+	loadFace : function( data ) {
+
+		var family = data.familyName.toLowerCase();
+
+		var ThreeFont = this;
+
+		ThreeFont.faces[ family ] = ThreeFont.faces[ family ] || {};
+
+		ThreeFont.faces[ family ][ data.cssFontWeight ] = ThreeFont.faces[ family ][ data.cssFontWeight ] || {};
+		ThreeFont.faces[ family ][ data.cssFontWeight ][ data.cssFontStyle ] = data;
+
+		var face = ThreeFont.faces[ family ][ data.cssFontWeight ][ data.cssFontStyle ] = data;
+
+		return data;
+
+	},
+
+	drawText : function( text ) {
+
+		var characterPts = [], allPts = [];
+
+		// RenderText
+
+		var i, p,
+			face = this.getFace(),
+			scale = this.size / face.resolution,
+			offset = 0,
+			chars = String( text ).split( '' ),
+			length = chars.length;
+
+		var fontPaths = [];
+
+		for ( i = 0; i < length; i ++ ) {
+
+			var path = new THREE.Path();
+
+			var ret = this.extractGlyphPoints( chars[ i ], face, scale, offset, path );
+			offset += ret.offset;
+
+			fontPaths.push( ret.path );
+
+		}
+
+		// get the width
+
+		var width = offset / 2;
+		//
+		// for ( p = 0; p < allPts.length; p++ ) {
+		//
+		// 	allPts[ p ].x -= width;
+		//
+		// }
+
+		//var extract = this.extractPoints( allPts, characterPts );
+		//extract.contour = allPts;
+
+		//extract.paths = fontPaths;
+		//extract.offset = width;
+
+		return { paths : fontPaths, offset : width };
+
+	},
+
+
+
+
+	extractGlyphPoints : function( c, face, scale, offset, path ) {
+
+		var pts = [];
+
+		var i, i2, divisions,
+			outline, action, length,
+			scaleX, scaleY,
+			x, y, cpx, cpy, cpx0, cpy0, cpx1, cpy1, cpx2, cpy2,
+			laste,
+			glyph = face.glyphs[ c ] || face.glyphs[ '?' ];
+
+		if ( !glyph ) return;
+
+		if ( glyph.o ) {
+
+			outline = glyph._cachedOutline || ( glyph._cachedOutline = glyph.o.split( ' ' ) );
+			length = outline.length;
+
+			scaleX = scale;
+			scaleY = scale;
+
+			for ( i = 0; i < length; ) {
+
+				action = outline[ i ++ ];
+
+				//console.log( action );
+
+				switch( action ) {
+
+				case 'm':
+
+					// Move To
+
+					x = outline[ i++ ] * scaleX + offset;
+					y = outline[ i++ ] * scaleY;
+
+					path.moveTo( x, y );
+					break;
+
+				case 'l':
+
+					// Line To
+
+					x = outline[ i++ ] * scaleX + offset;
+					y = outline[ i++ ] * scaleY;
+					path.lineTo(x,y);
+					break;
+
+				case 'q':
+
+					// QuadraticCurveTo
+
+					cpx  = outline[ i++ ] * scaleX + offset;
+					cpy  = outline[ i++ ] * scaleY;
+					cpx1 = outline[ i++ ] * scaleX + offset;
+					cpy1 = outline[ i++ ] * scaleY;
+
+					path.quadraticCurveTo(cpx1, cpy1, cpx, cpy);
+
+					laste = pts[ pts.length - 1 ];
+
+					if ( laste ) {
+
+						cpx0 = laste.x;
+						cpy0 = laste.y;
+
+						for ( i2 = 1, divisions = this.divisions; i2 <= divisions; i2 ++ ) {
+
+							var t = i2 / divisions;
+							var tx = THREE.Shape.Utils.b2( t, cpx0, cpx1, cpx );
+							var ty = THREE.Shape.Utils.b2( t, cpy0, cpy1, cpy );
+					  }
+
+				  }
+
+				  break;
+
+				case 'b':
+
+					// Cubic Bezier Curve
+
+					cpx  = outline[ i++ ] *  scaleX + offset;
+					cpy  = outline[ i++ ] *  scaleY;
+					cpx1 = outline[ i++ ] *  scaleX + offset;
+					cpy1 = outline[ i++ ] * -scaleY;
+					cpx2 = outline[ i++ ] *  scaleX + offset;
+					cpy2 = outline[ i++ ] * -scaleY;
+
+					path.bezierCurveTo( cpx, cpy, cpx1, cpy1, cpx2, cpy2 );
+
+					laste = pts[ pts.length - 1 ];
+
+					if ( laste ) {
+
+						cpx0 = laste.x;
+						cpy0 = laste.y;
+
+						for ( i2 = 1, divisions = this.divisions; i2 <= divisions; i2 ++ ) {
+
+							var t = i2 / divisions;
+							var tx = THREE.Shape.Utils.b3( t, cpx0, cpx1, cpx2, cpx );
+							var ty = THREE.Shape.Utils.b3( t, cpy0, cpy1, cpy2, cpy );
+
+						}
+
+					}
+
+					break;
+
+				}
+
+			}
+		}
+
+
+
+		return { offset: glyph.ha*scale, path:path};
+	}
+
+};
+
+
+THREE.FontUtils.generateShapes = function( text, parameters ) {
+
+	// Parameters 
+
+	parameters = parameters || {};
+
+	var size = parameters.size !== undefined ? parameters.size : 100;
+	var curveSegments = parameters.curveSegments !== undefined ? parameters.curveSegments: 4;
+
+	var font = parameters.font !== undefined ? parameters.font : "helvetiker";
+	var weight = parameters.weight !== undefined ? parameters.weight : "normal";
+	var style = parameters.style !== undefined ? parameters.style : "normal";
+
+	THREE.FontUtils.size = size;
+	THREE.FontUtils.divisions = curveSegments;
+
+	THREE.FontUtils.face = font;
+	THREE.FontUtils.weight = weight;
+	THREE.FontUtils.style = style;
+
+	// Get a Font data json object
+
+	var data = THREE.FontUtils.drawText( text );
+
+	var paths = data.paths;
+	var shapes = [];
+
+	for ( var p = 0, pl = paths.length; p < pl; p ++ ) {
+
+		Array.prototype.push.apply( shapes, paths[ p ].toShapes() );
+
+	}
+
+	return shapes;
+
+};
+
+
+/**
+ * This code is a quick port of code written in C++ which was submitted to
+ * flipcode.com by John W. Ratcliff  // July 22, 2000
+ * See original code and more information here:
+ * http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml
+ *
+ * ported to actionscript by Zevan Rosser
+ * www.actionsnippet.com
+ *
+ * ported to javascript by Joshua Koo
+ * http://www.lab4games.net/zz85/blog
+ *
+ */
+
+
+( function( namespace ) {
+
+	var EPSILON = 0.0000000001;
+
+	// takes in an contour array and returns
+
+	var process = function( contour, indices ) {
+
+		var n = contour.length;
+
+		if ( n < 3 ) return null;
+
+		var result = [],
+			verts = [],
+			vertIndices = [];
+
+		/* we want a counter-clockwise polygon in verts */
+
+		var u, v, w;
+
+		if ( area( contour ) > 0.0 ) {
+
+			for ( v = 0; v < n; v++ ) verts[ v ] = v;
+
+		} else {
+
+			for ( v = 0; v < n; v++ ) verts[ v ] = ( n - 1 ) - v;
+
+		}
+
+		var nv = n;
+
+		/*  remove nv - 2 vertices, creating 1 triangle every time */
+
+		var count = 2 * nv;   /* error detection */
+
+		for( v = nv - 1; nv > 2; ) {
+
+			/* if we loop, it is probably a non-simple polygon */
+
+			if ( ( count-- ) <= 0 ) {
+
+				//** Triangulate: ERROR - probable bad polygon!
+
+				//throw ( "Warning, unable to triangulate polygon!" );
+				//return null;
+				// Sometimes warning is fine, especially polygons are triangulated in reverse.
+				console.log( "Warning, unable to triangulate polygon!" );
+
+				if ( indices ) return vertIndices;
+				return result;
+
+			}
+
+			/* three consecutive vertices in current polygon, <u,v,w> */
+
+			u = v; 	 	if ( nv <= u ) u = 0;     /* previous */
+			v = u + 1;  if ( nv <= v ) v = 0;     /* new v    */
+			w = v + 1;  if ( nv <= w ) w = 0;     /* next     */
+
+			if ( snip( contour, u, v, w, nv, verts ) ) {
+
+				var a, b, c, s, t;
+
+				/* true names of the vertices */
+
+				a = verts[ u ];
+				b = verts[ v ];
+				c = verts[ w ];
+
+				/* output Triangle */
+
+				result.push( [ contour[ a ],
+					contour[ b ],
+					contour[ c ] ] );
+
+
+				vertIndices.push( [ verts[ u ], verts[ v ], verts[ w ] ] );
+
+				/* remove v from the remaining polygon */
+
+				for( s = v, t = v + 1; t < nv; s++, t++ ) {
+
+					verts[ s ] = verts[ t ];
+
+				}
+
+				nv--;
+
+				/* reset error detection counter */
+
+				count = 2 * nv;
+
+			}
+
+		}
+
+		if ( indices ) return vertIndices;
+		return result;
+
+	};
+
+	// calculate area of the contour polygon
+
+	var area = function ( contour ) {
+
+		var n = contour.length;
+		var a = 0.0;
+
+		for( var p = n - 1, q = 0; q < n; p = q++ ) {
+
+			a += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y;
+
+		}
+
+		return a * 0.5;
+
+	};
+
+	var snip = function ( contour, u, v, w, n, verts ) {
+
+		var p;
+		var ax, ay, bx, by;
+		var cx, cy, px, py;
+
+		ax = contour[ verts[ u ] ].x;
+		ay = contour[ verts[ u ] ].y;
+
+		bx = contour[ verts[ v ] ].x;
+		by = contour[ verts[ v ] ].y;
+
+		cx = contour[ verts[ w ] ].x;
+		cy = contour[ verts[ w ] ].y;
+
+		if ( EPSILON > (((bx-ax)*(cy-ay)) - ((by-ay)*(cx-ax))) ) return false;
+
+		var aX, aY, bX, bY, cX, cY;
+		var apx, apy, bpx, bpy, cpx, cpy;
+		var cCROSSap, bCROSScp, aCROSSbp;
+
+		aX = cx - bx;  aY = cy - by;
+		bX = ax - cx;  bY = ay - cy;
+		cX = bx - ax;  cY = by - ay;
+
+		for ( p = 0; p < n; p++ ) {
+
+			if( (p === u) || (p === v) || (p === w) ) continue;
+
+			px = contour[ verts[ p ] ].x
+			py = contour[ verts[ p ] ].y
+
+			apx = px - ax;  apy = py - ay;
+			bpx = px - bx;  bpy = py - by;
+			cpx = px - cx;  cpy = py - cy;
+
+			// see if p is inside triangle abc
+
+			aCROSSbp = aX*bpy - aY*bpx;
+			cCROSSap = cX*apy - cY*apx;
+			bCROSScp = bX*cpy - bY*cpx;
+
+			if ( (aCROSSbp >= 0.0) && (bCROSScp >= 0.0) && (cCROSSap >= 0.0) ) return false;
+
+		}
+
+		return true;
+
+	};
+
+
+	namespace.Triangulate = process;
+	namespace.Triangulate.area = area;
+
+	return namespace;
+
+})(THREE.FontUtils);
+
+// To use the typeface.js face files, hook up the API
+self._typeface_js = { faces: THREE.FontUtils.faces, loadFace: THREE.FontUtils.loadFace };/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * Extensible curve object
+ *
+ * Some common of Curve methods
+ * .getPoint(t), getTangent(t)
+ * .getPointAt(u), getTagentAt(u)
+ * .getPoints(), .getSpacedPoints()
+ * .getLength()
+ * .updateArcLengths()
+ *
+ * This file contains following classes:
+ *
+ * -- 2d classes --
+ * THREE.Curve
+ * THREE.LineCurve
+ * THREE.QuadraticBezierCurve
+ * THREE.CubicBezierCurve
+ * THREE.SplineCurve
+ * THREE.ArcCurve
+ * THREE.EllipseCurve
+ *
+ * -- 3d classes --
+ * THREE.LineCurve3
+ * THREE.QuadraticBezierCurve3
+ * THREE.CubicBezierCurve3
+ * THREE.SplineCurve3
+ * THREE.ClosedSplineCurve3
+ *
+ * A series of curves can be represented as a THREE.CurvePath
+ *
+ **/
+
+/**************************************************************
+ *	Abstract Curve base class
+ **************************************************************/
+
+THREE.Curve = function () {
+
+};
+
+// Virtual base class method to overwrite and implement in subclasses
+//	- t [0 .. 1]
+
+THREE.Curve.prototype.getPoint = function ( t ) {
+
+	console.log( "Warning, getPoint() not implemented!" );
+	return null;
+
+};
+
+// Get point at relative position in curve according to arc length
+// - u [0 .. 1]
+
+THREE.Curve.prototype.getPointAt = function ( u ) {
+
+	var t = this.getUtoTmapping( u );
+	return this.getPoint( t );
+
+};
+
+// Get sequence of points using getPoint( t )
+
+THREE.Curve.prototype.getPoints = function ( divisions ) {
+
+	if ( !divisions ) divisions = 5;
+
+	var d, pts = [];
+
+	for ( d = 0; d <= divisions; d ++ ) {
+
+		pts.push( this.getPoint( d / divisions ) );
+
+	}
+
+	return pts;
+
+};
+
+// Get sequence of points using getPointAt( u )
+
+THREE.Curve.prototype.getSpacedPoints = function ( divisions ) {
+
+	if ( !divisions ) divisions = 5;
+
+	var d, pts = [];
+
+	for ( d = 0; d <= divisions; d ++ ) {
+
+		pts.push( this.getPointAt( d / divisions ) );
+
+	}
+
+	return pts;
+
+};
+
+// Get total curve arc length
+
+THREE.Curve.prototype.getLength = function () {
+
+	var lengths = this.getLengths();
+	return lengths[ lengths.length - 1 ];
+
+};
+
+// Get list of cumulative segment lengths
+
+THREE.Curve.prototype.getLengths = function ( divisions ) {
+
+	if ( !divisions ) divisions = (this.__arcLengthDivisions) ? (this.__arcLengthDivisions): 200;
+
+	if ( this.cacheArcLengths
+		&& ( this.cacheArcLengths.length == divisions + 1 )
+		&& !this.needsUpdate) {
+
+		//console.log( "cached", this.cacheArcLengths );
+		return this.cacheArcLengths;
+
+	}
+
+	this.needsUpdate = false;
+
+	var cache = [];
+	var current, last = this.getPoint( 0 );
+	var p, sum = 0;
+
+	cache.push( 0 );
+
+	for ( p = 1; p <= divisions; p ++ ) {
+
+		current = this.getPoint ( p / divisions );
+		sum += current.distanceTo( last );
+		cache.push( sum );
+		last = current;
+
+	}
+
+	this.cacheArcLengths = cache;
+
+	return cache; // { sums: cache, sum:sum }; Sum is in the last element.
+
+};
+
+
+THREE.Curve.prototype.updateArcLengths = function() {
+	this.needsUpdate = true;
+	this.getLengths();
+};
+
+// Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equi distance
+
+THREE.Curve.prototype.getUtoTmapping = function ( u, distance ) {
+
+	var arcLengths = this.getLengths();
+
+	var i = 0, il = arcLengths.length;
+
+	var targetArcLength; // The targeted u distance value to get
+
+	if ( distance ) {
+
+		targetArcLength = distance;
+
+	} else {
+
+		targetArcLength = u * arcLengths[ il - 1 ];
+
+	}
+
+	//var time = Date.now();
+
+	// binary search for the index with largest value smaller than target u distance
+
+	var low = 0, high = il - 1, comparison;
+
+	while ( low <= high ) {
+
+		i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats
+
+		comparison = arcLengths[ i ] - targetArcLength;
+
+		if ( comparison < 0 ) {
+
+			low = i + 1;
+			continue;
+
+		} else if ( comparison > 0 ) {
+
+			high = i - 1;
+			continue;
+
+		} else {
+
+			high = i;
+			break;
+
+			// DONE
+
+		}
+
+	}
+
+	i = high;
+
+	//console.log('b' , i, low, high, Date.now()- time);
+
+	if ( arcLengths[ i ] == targetArcLength ) {
+
+		var t = i / ( il - 1 );
+		return t;
+
+	}
+
+	// we could get finer grain at lengths, or use simple interpolatation between two points
+
+	var lengthBefore = arcLengths[ i ];
+    var lengthAfter = arcLengths[ i + 1 ];
+
+    var segmentLength = lengthAfter - lengthBefore;
+
+    // determine where we are between the 'before' and 'after' points
+
+    var segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength;
+
+    // add that fractional amount to t
+
+    var t = ( i + segmentFraction ) / ( il -1 );
+
+	return t;
+
+};
+
+// Returns a unit vector tangent at t
+// In case any sub curve does not implement its tangent derivation,
+// 2 points a small delta apart will be used to find its gradient
+// which seems to give a reasonable approximation
+
+THREE.Curve.prototype.getTangent = function( t ) {
+
+	var delta = 0.0001;
+	var t1 = t - delta;
+	var t2 = t + delta;
+
+	// Capping in case of danger
+
+	if ( t1 < 0 ) t1 = 0;
+	if ( t2 > 1 ) t2 = 1;
+
+	var pt1 = this.getPoint( t1 );
+	var pt2 = this.getPoint( t2 );
+
+	var vec = pt2.clone().sub(pt1);
+	return vec.normalize();
+
+};
+
+
+THREE.Curve.prototype.getTangentAt = function ( u ) {
+
+	var t = this.getUtoTmapping( u );
+	return this.getTangent( t );
+
+};
+
+/**************************************************************
+ *	Line
+ **************************************************************/
+
+THREE.LineCurve = function ( v1, v2 ) {
+
+	this.v1 = v1;
+	this.v2 = v2;
+
+};
+
+THREE.LineCurve.prototype = Object.create( THREE.Curve.prototype );
+
+THREE.LineCurve.prototype.getPoint = function ( t ) {
+
+	var point = this.v2.clone().sub(this.v1);
+	point.multiplyScalar( t ).add( this.v1 );
+
+	return point;
+
+};
+
+// Line curve is linear, so we can overwrite default getPointAt
+
+THREE.LineCurve.prototype.getPointAt = function ( u ) {
+
+	return this.getPoint( u );
+
+};
+
+THREE.LineCurve.prototype.getTangent = function( t ) {
+
+	var tangent = this.v2.clone().sub(this.v1);
+
+	return tangent.normalize();
+
+};
+
+/**************************************************************
+ *	Quadratic Bezier curve
+ **************************************************************/
+
+
+THREE.QuadraticBezierCurve = function ( v0, v1, v2 ) {
+
+	this.v0 = v0;
+	this.v1 = v1;
+	this.v2 = v2;
+
+};
+
+THREE.QuadraticBezierCurve.prototype = Object.create( THREE.Curve.prototype );
+
+
+THREE.QuadraticBezierCurve.prototype.getPoint = function ( t ) {
+
+	var tx, ty;
+
+	tx = THREE.Shape.Utils.b2( t, this.v0.x, this.v1.x, this.v2.x );
+	ty = THREE.Shape.Utils.b2( t, this.v0.y, this.v1.y, this.v2.y );
+
+	return new THREE.Vector2( tx, ty );
+
+};
+
+
+THREE.QuadraticBezierCurve.prototype.getTangent = function( t ) {
+
+	var tx, ty;
+
+	tx = THREE.Curve.Utils.tangentQuadraticBezier( t, this.v0.x, this.v1.x, this.v2.x );
+	ty = THREE.Curve.Utils.tangentQuadraticBezier( t, this.v0.y, this.v1.y, this.v2.y );
+
+	// returns unit vector
+
+	var tangent = new THREE.Vector2( tx, ty );
+	tangent.normalize();
+
+	return tangent;
+
+};
+
+
+/**************************************************************
+ *	Cubic Bezier curve
+ **************************************************************/
+
+THREE.CubicBezierCurve = function ( v0, v1, v2, v3 ) {
+
+	this.v0 = v0;
+	this.v1 = v1;
+	this.v2 = v2;
+	this.v3 = v3;
+
+};
+
+THREE.CubicBezierCurve.prototype = Object.create( THREE.Curve.prototype );
+
+THREE.CubicBezierCurve.prototype.getPoint = function ( t ) {
+
+	var tx, ty;
+
+	tx = THREE.Shape.Utils.b3( t, this.v0.x, this.v1.x, this.v2.x, this.v3.x );
+	ty = THREE.Shape.Utils.b3( t, this.v0.y, this.v1.y, this.v2.y, this.v3.y );
+
+	return new THREE.Vector2( tx, ty );
+
+};
+
+THREE.CubicBezierCurve.prototype.getTangent = function( t ) {
+
+	var tx, ty;
+
+	tx = THREE.Curve.Utils.tangentCubicBezier( t, this.v0.x, this.v1.x, this.v2.x, this.v3.x );
+	ty = THREE.Curve.Utils.tangentCubicBezier( t, this.v0.y, this.v1.y, this.v2.y, this.v3.y );
+
+	var tangent = new THREE.Vector2( tx, ty );
+	tangent.normalize();
+
+	return tangent;
+
+};
+
+
+/**************************************************************
+ *	Spline curve
+ **************************************************************/
+
+THREE.SplineCurve = function ( points /* array of Vector2 */ ) {
+
+	this.points = (points == undefined) ? [] : points;
+
+};
+
+THREE.SplineCurve.prototype = Object.create( THREE.Curve.prototype );
+
+THREE.SplineCurve.prototype.getPoint = function ( t ) {
+
+	var v = new THREE.Vector2();
+	var c = [];
+	var points = this.points, point, intPoint, weight;
+	point = ( points.length - 1 ) * t;
+
+	intPoint = Math.floor( point );
+	weight = point - intPoint;
+
+	c[ 0 ] = intPoint == 0 ? intPoint : intPoint - 1;
+	c[ 1 ] = intPoint;
+	c[ 2 ] = intPoint  > points.length - 2 ? points.length -1 : intPoint + 1;
+	c[ 3 ] = intPoint  > points.length - 3 ? points.length -1 : intPoint + 2;
+
+	v.x = THREE.Curve.Utils.interpolate( points[ c[ 0 ] ].x, points[ c[ 1 ] ].x, points[ c[ 2 ] ].x, points[ c[ 3 ] ].x, weight );
+	v.y = THREE.Curve.Utils.interpolate( points[ c[ 0 ] ].y, points[ c[ 1 ] ].y, points[ c[ 2 ] ].y, points[ c[ 3 ] ].y, weight );
+
+	return v;
+
+};
+
+/**************************************************************
+ *	Ellipse curve
+ **************************************************************/
+
+THREE.EllipseCurve = function ( aX, aY, xRadius, yRadius,
+							aStartAngle, aEndAngle,
+							aClockwise ) {
+
+	this.aX = aX;
+	this.aY = aY;
+
+	this.xRadius = xRadius;
+	this.yRadius = yRadius;
+
+	this.aStartAngle = aStartAngle;
+	this.aEndAngle = aEndAngle;
+
+	this.aClockwise = aClockwise;
+
+};
+
+THREE.EllipseCurve.prototype = Object.create( THREE.Curve.prototype );
+
+THREE.EllipseCurve.prototype.getPoint = function ( t ) {
+
+	var deltaAngle = this.aEndAngle - this.aStartAngle;
+
+	if ( !this.aClockwise ) {
+
+		t = 1 - t;
+
+	}
+
+	var angle = this.aStartAngle + t * deltaAngle;
+
+	var tx = this.aX + this.xRadius * Math.cos( angle );
+	var ty = this.aY + this.yRadius * Math.sin( angle );
+
+	return new THREE.Vector2( tx, ty );
+
+};
+
+/**************************************************************
+ *	Arc curve
+ **************************************************************/
+
+THREE.ArcCurve = function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) {
+
+	THREE.EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise );
+};
+
+THREE.ArcCurve.prototype = Object.create( THREE.EllipseCurve.prototype );
+
+
+/**************************************************************
+ *	Utils
+ **************************************************************/
+
+THREE.Curve.Utils = {
+
+	tangentQuadraticBezier: function ( t, p0, p1, p2 ) {
+
+		return 2 * ( 1 - t ) * ( p1 - p0 ) + 2 * t * ( p2 - p1 );
+
+	},
+
+	// Puay Bing, thanks for helping with this derivative!
+
+	tangentCubicBezier: function (t, p0, p1, p2, p3 ) {
+
+		return -3 * p0 * (1 - t) * (1 - t)  +
+			3 * p1 * (1 - t) * (1-t) - 6 *t *p1 * (1-t) +
+			6 * t *  p2 * (1-t) - 3 * t * t * p2 +
+			3 * t * t * p3;
+	},
+
+
+	tangentSpline: function ( t, p0, p1, p2, p3 ) {
+
+		// To check if my formulas are correct
+
+		var h00 = 6 * t * t - 6 * t; 	// derived from 2t^3 - 3t^2 + 1
+		var h10 = 3 * t * t - 4 * t + 1; // t^3 - 2t^2 + t
+		var h01 = -6 * t * t + 6 * t; 	// - 2t3 + 3t2
+		var h11 = 3 * t * t - 2 * t;	// t3 - t2
+
+		return h00 + h10 + h01 + h11;
+
+	},
+
+	// Catmull-Rom
+
+	interpolate: function( p0, p1, p2, p3, t ) {
+
+		var v0 = ( p2 - p0 ) * 0.5;
+		var v1 = ( p3 - p1 ) * 0.5;
+		var t2 = t * t;
+		var t3 = t * t2;
+		return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1;
+
+	}
+
+};
+
+
+// TODO: Transformation for Curves?
+
+/**************************************************************
+ *	3D Curves
+ **************************************************************/
+
+// A Factory method for creating new curve subclasses
+
+THREE.Curve.create = function ( constructor, getPointFunc ) {
+
+	constructor.prototype = Object.create( THREE.Curve.prototype );
+	constructor.prototype.getPoint = getPointFunc;
+
+	return constructor;
+
+};
+
+
+/**************************************************************
+ *	Line3D
+ **************************************************************/
+
+THREE.LineCurve3 = THREE.Curve.create(
+
+	function ( v1, v2 ) {
+
+		this.v1 = v1;
+		this.v2 = v2;
+
+	},
+
+	function ( t ) {
+
+		var r = new THREE.Vector3();
+
+
+		r.subVectors( this.v2, this.v1 ); // diff
+		r.multiplyScalar( t );
+		r.add( this.v1 );
+
+		return r;
+
+	}
+
+);
+
+
+/**************************************************************
+ *	Quadratic Bezier 3D curve
+ **************************************************************/
+
+THREE.QuadraticBezierCurve3 = THREE.Curve.create(
+
+	function ( v0, v1, v2 ) {
+
+		this.v0 = v0;
+		this.v1 = v1;
+		this.v2 = v2;
+
+	},
+
+	function ( t ) {
+
+		var tx, ty, tz;
+
+		tx = THREE.Shape.Utils.b2( t, this.v0.x, this.v1.x, this.v2.x );
+		ty = THREE.Shape.Utils.b2( t, this.v0.y, this.v1.y, this.v2.y );
+		tz = THREE.Shape.Utils.b2( t, this.v0.z, this.v1.z, this.v2.z );
+
+		return new THREE.Vector3( tx, ty, tz );
+
+	}
+
+);
+
+
+
+/**************************************************************
+ *	Cubic Bezier 3D curve
+ **************************************************************/
+
+THREE.CubicBezierCurve3 = THREE.Curve.create(
+
+	function ( v0, v1, v2, v3 ) {
+
+		this.v0 = v0;
+		this.v1 = v1;
+		this.v2 = v2;
+		this.v3 = v3;
+
+	},
+
+	function ( t ) {
+
+		var tx, ty, tz;
+
+		tx = THREE.Shape.Utils.b3( t, this.v0.x, this.v1.x, this.v2.x, this.v3.x );
+		ty = THREE.Shape.Utils.b3( t, this.v0.y, this.v1.y, this.v2.y, this.v3.y );
+		tz = THREE.Shape.Utils.b3( t, this.v0.z, this.v1.z, this.v2.z, this.v3.z );
+
+		return new THREE.Vector3( tx, ty, tz );
+
+	}
+
+);
+
+
+
+/**************************************************************
+ *	Spline 3D curve
+ **************************************************************/
+
+
+THREE.SplineCurve3 = THREE.Curve.create(
+
+	function ( points /* array of Vector3 */) {
+
+		this.points = (points == undefined) ? [] : points;
+
+	},
+
+	function ( t ) {
+
+		var v = new THREE.Vector3();
+		var c = [];
+		var points = this.points, point, intPoint, weight;
+		point = ( points.length - 1 ) * t;
+
+		intPoint = Math.floor( point );
+		weight = point - intPoint;
+
+		c[ 0 ] = intPoint == 0 ? intPoint : intPoint - 1;
+		c[ 1 ] = intPoint;
+		c[ 2 ] = intPoint  > points.length - 2 ? points.length - 1 : intPoint + 1;
+		c[ 3 ] = intPoint  > points.length - 3 ? points.length - 1 : intPoint + 2;
+
+		var pt0 = points[ c[0] ],
+			pt1 = points[ c[1] ],
+			pt2 = points[ c[2] ],
+			pt3 = points[ c[3] ];
+
+		v.x = THREE.Curve.Utils.interpolate(pt0.x, pt1.x, pt2.x, pt3.x, weight);
+		v.y = THREE.Curve.Utils.interpolate(pt0.y, pt1.y, pt2.y, pt3.y, weight);
+		v.z = THREE.Curve.Utils.interpolate(pt0.z, pt1.z, pt2.z, pt3.z, weight);
+
+		return v;
+
+	}
+
+);
+
+
+// THREE.SplineCurve3.prototype.getTangent = function(t) {
+// 		var v = new THREE.Vector3();
+// 		var c = [];
+// 		var points = this.points, point, intPoint, weight;
+// 		point = ( points.length - 1 ) * t;
+
+// 		intPoint = Math.floor( point );
+// 		weight = point - intPoint;
+
+// 		c[ 0 ] = intPoint == 0 ? intPoint : intPoint - 1;
+// 		c[ 1 ] = intPoint;
+// 		c[ 2 ] = intPoint  > points.length - 2 ? points.length - 1 : intPoint + 1;
+// 		c[ 3 ] = intPoint  > points.length - 3 ? points.length - 1 : intPoint + 2;
+
+// 		var pt0 = points[ c[0] ],
+// 			pt1 = points[ c[1] ],
+// 			pt2 = points[ c[2] ],
+// 			pt3 = points[ c[3] ];
+
+// 	// t = weight;
+// 	v.x = THREE.Curve.Utils.tangentSpline( t, pt0.x, pt1.x, pt2.x, pt3.x );
+// 	v.y = THREE.Curve.Utils.tangentSpline( t, pt0.y, pt1.y, pt2.y, pt3.y );
+// 	v.z = THREE.Curve.Utils.tangentSpline( t, pt0.z, pt1.z, pt2.z, pt3.z );
+
+// 	return v;
+
+// }
+
+/**************************************************************
+ *	Closed Spline 3D curve
+ **************************************************************/
+
+
+THREE.ClosedSplineCurve3 = THREE.Curve.create(
+
+	function ( points /* array of Vector3 */) {
+
+		this.points = (points == undefined) ? [] : points;
+
+	},
+
+    function ( t ) {
+
+        var v = new THREE.Vector3();
+        var c = [];
+        var points = this.points, point, intPoint, weight;
+        point = ( points.length - 0 ) * t;
+            // This needs to be from 0-length +1
+
+        intPoint = Math.floor( point );
+        weight = point - intPoint;
+
+        intPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / points.length ) + 1 ) * points.length;
+        c[ 0 ] = ( intPoint - 1 ) % points.length;
+        c[ 1 ] = ( intPoint ) % points.length;
+        c[ 2 ] = ( intPoint + 1 ) % points.length;
+        c[ 3 ] = ( intPoint + 2 ) % points.length;
+
+        v.x = THREE.Curve.Utils.interpolate( points[ c[ 0 ] ].x, points[ c[ 1 ] ].x, points[ c[ 2 ] ].x, points[ c[ 3 ] ].x, weight );
+        v.y = THREE.Curve.Utils.interpolate( points[ c[ 0 ] ].y, points[ c[ 1 ] ].y, points[ c[ 2 ] ].y, points[ c[ 3 ] ].y, weight );
+        v.z = THREE.Curve.Utils.interpolate( points[ c[ 0 ] ].z, points[ c[ 1 ] ].z, points[ c[ 2 ] ].z, points[ c[ 3 ] ].z, weight );
+
+        return v;
+
+    }
+
+);
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ *
+ **/
+
+/**************************************************************
+ *	Curved Path - a curve path is simply a array of connected
+ *  curves, but retains the api of a curve
+ **************************************************************/
+
+THREE.CurvePath = function () {
+
+	this.curves = [];
+	this.bends = [];
+	
+	this.autoClose = false; // Automatically closes the path
+};
+
+THREE.CurvePath.prototype = Object.create( THREE.Curve.prototype );
+
+THREE.CurvePath.prototype.add = function ( curve ) {
+
+	this.curves.push( curve );
+
+};
+
+THREE.CurvePath.prototype.checkConnection = function() {
+	// TODO
+	// If the ending of curve is not connected to the starting
+	// or the next curve, then, this is not a real path
+};
+
+THREE.CurvePath.prototype.closePath = function() {
+	// TODO Test
+	// and verify for vector3 (needs to implement equals)
+	// Add a line curve if start and end of lines are not connected
+	var startPoint = this.curves[0].getPoint(0);
+	var endPoint = this.curves[this.curves.length-1].getPoint(1);
+	
+	if (!startPoint.equals(endPoint)) {
+		this.curves.push( new THREE.LineCurve(endPoint, startPoint) );
+	}
+	
+};
+
+// To get accurate point with reference to
+// entire path distance at time t,
+// following has to be done:
+
+// 1. Length of each sub path have to be known
+// 2. Locate and identify type of curve
+// 3. Get t for the curve
+// 4. Return curve.getPointAt(t')
+
+THREE.CurvePath.prototype.getPoint = function( t ) {
+
+	var d = t * this.getLength();
+	var curveLengths = this.getCurveLengths();
+	var i = 0, diff, curve;
+
+	// To think about boundaries points.
+
+	while ( i < curveLengths.length ) {
+
+		if ( curveLengths[ i ] >= d ) {
+
+			diff = curveLengths[ i ] - d;
+			curve = this.curves[ i ];
+
+			var u = 1 - diff / curve.getLength();
+
+			return curve.getPointAt( u );
+
+			break;
+		}
+
+		i ++;
+
+	}
+
+	return null;
+
+	// loop where sum != 0, sum > d , sum+1 <d
+
+};
+
+/*
+THREE.CurvePath.prototype.getTangent = function( t ) {
+};*/
+
+
+// We cannot use the default THREE.Curve getPoint() with getLength() because in
+// THREE.Curve, getLength() depends on getPoint() but in THREE.CurvePath
+// getPoint() depends on getLength
+
+THREE.CurvePath.prototype.getLength = function() {
+
+	var lens = this.getCurveLengths();
+	return lens[ lens.length - 1 ];
+
+};
+
+// Compute lengths and cache them
+// We cannot overwrite getLengths() because UtoT mapping uses it.
+
+THREE.CurvePath.prototype.getCurveLengths = function() {
+
+	// We use cache values if curves and cache array are same length
+
+	if ( this.cacheLengths && this.cacheLengths.length == this.curves.length ) {
+
+		return this.cacheLengths;
+
+	};
+
+	// Get length of subsurve
+	// Push sums into cached array
+
+	var lengths = [], sums = 0;
+	var i, il = this.curves.length;
+
+	for ( i = 0; i < il; i ++ ) {
+
+		sums += this.curves[ i ].getLength();
+		lengths.push( sums );
+
+	}
+
+	this.cacheLengths = lengths;
+
+	return lengths;
+
+};
+
+
+
+// Returns min and max coordinates, as well as centroid
+
+THREE.CurvePath.prototype.getBoundingBox = function () {
+
+	var points = this.getPoints();
+
+	var maxX, maxY, maxZ;
+	var minX, minY, minZ;
+
+	maxX = maxY = Number.NEGATIVE_INFINITY;
+	minX = minY = Number.POSITIVE_INFINITY;
+
+	var p, i, il, sum;
+
+	var v3 = points[0] instanceof THREE.Vector3;
+
+	sum = v3 ? new THREE.Vector3() : new THREE.Vector2();
+
+	for ( i = 0, il = points.length; i < il; i ++ ) {
+
+		p = points[ i ];
+
+		if ( p.x > maxX ) maxX = p.x;
+		else if ( p.x < minX ) minX = p.x;
+
+		if ( p.y > maxY ) maxY = p.y;
+		else if ( p.y < minY ) minY = p.y;
+
+		if ( v3 ) {
+
+			if ( p.z > maxZ ) maxZ = p.z;
+			else if ( p.z < minZ ) minZ = p.z;
+
+		}
+
+		sum.add( p );
+
+	}
+
+	var ret = {
+
+		minX: minX,
+		minY: minY,
+		maxX: maxX,
+		maxY: maxY,
+		centroid: sum.divideScalar( il )
+
+	};
+
+	if ( v3 ) {
+
+		ret.maxZ = maxZ;
+		ret.minZ = minZ;
+
+	}
+
+	return ret;
+
+};
+
+/**************************************************************
+ *	Create Geometries Helpers
+ **************************************************************/
+
+/// Generate geometry from path points (for Line or ParticleSystem objects)
+
+THREE.CurvePath.prototype.createPointsGeometry = function( divisions ) {
+
+	var pts = this.getPoints( divisions, true );
+	return this.createGeometry( pts );
+
+};
+
+// Generate geometry from equidistance sampling along the path
+
+THREE.CurvePath.prototype.createSpacedPointsGeometry = function( divisions ) {
+
+	var pts = this.getSpacedPoints( divisions, true );
+	return this.createGeometry( pts );
+
+};
+
+THREE.CurvePath.prototype.createGeometry = function( points ) {
+
+	var geometry = new THREE.Geometry();
+
+	for ( var i = 0; i < points.length; i ++ ) {
+
+		geometry.vertices.push( new THREE.Vector3( points[ i ].x, points[ i ].y, points[ i ].z || 0) );
+
+	}
+
+	return geometry;
+
+};
+
+
+/**************************************************************
+ *	Bend / Wrap Helper Methods
+ **************************************************************/
+
+// Wrap path / Bend modifiers?
+
+THREE.CurvePath.prototype.addWrapPath = function ( bendpath ) {
+
+	this.bends.push( bendpath );
+
+};
+
+THREE.CurvePath.prototype.getTransformedPoints = function( segments, bends ) {
+
+	var oldPts = this.getPoints( segments ); // getPoints getSpacedPoints
+	var i, il;
+
+	if ( !bends ) {
+
+		bends = this.bends;
+
+	}
+
+	for ( i = 0, il = bends.length; i < il; i ++ ) {
+
+		oldPts = this.getWrapPoints( oldPts, bends[ i ] );
+
+	}
+
+	return oldPts;
+
+};
+
+THREE.CurvePath.prototype.getTransformedSpacedPoints = function( segments, bends ) {
+
+	var oldPts = this.getSpacedPoints( segments );
+
+	var i, il;
+
+	if ( !bends ) {
+
+		bends = this.bends;
+
+	}
+
+	for ( i = 0, il = bends.length; i < il; i ++ ) {
+
+		oldPts = this.getWrapPoints( oldPts, bends[ i ] );
+
+	}
+
+	return oldPts;
+
+};
+
+// This returns getPoints() bend/wrapped around the contour of a path.
+// Read http://www.planetclegg.com/projects/WarpingTextToSplines.html
+
+THREE.CurvePath.prototype.getWrapPoints = function ( oldPts, path ) {
+
+	var bounds = this.getBoundingBox();
+
+	var i, il, p, oldX, oldY, xNorm;
+
+	for ( i = 0, il = oldPts.length; i < il; i ++ ) {
+
+		p = oldPts[ i ];
+
+		oldX = p.x;
+		oldY = p.y;
+
+		xNorm = oldX / bounds.maxX;
+
+		// If using actual distance, for length > path, requires line extrusions
+		//xNorm = path.getUtoTmapping(xNorm, oldX); // 3 styles. 1) wrap stretched. 2) wrap stretch by arc length 3) warp by actual distance
+
+		xNorm = path.getUtoTmapping( xNorm, oldX );
+
+		// check for out of bounds?
+
+		var pathPt = path.getPoint( xNorm );
+		var normal = path.getNormalVector( xNorm ).multiplyScalar( oldY );
+
+		p.x = pathPt.x + normal.x;
+		p.y = pathPt.y + normal.y;
+
+	}
+
+	return oldPts;
+
+};
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Gyroscope = function () {
+
+	THREE.Object3D.call( this );
+
+};
+
+THREE.Gyroscope.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.Gyroscope.prototype.updateMatrixWorld = function ( force ) {
+
+	this.matrixAutoUpdate && this.updateMatrix();
+
+	// update matrixWorld
+
+	if ( this.matrixWorldNeedsUpdate || force ) {
+
+		if ( this.parent ) {
+
+			this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );
+
+			this.matrixWorld.decompose( this.translationWorld, this.rotationWorld, this.scaleWorld );
+			this.matrix.decompose( this.translationObject, this.rotationObject, this.scaleObject );
+
+			this.matrixWorld.compose( this.translationWorld, this.rotationObject, this.scaleWorld );
+
+
+		} else {
+
+			this.matrixWorld.copy( this.matrix );
+
+		}
+
+
+		this.matrixWorldNeedsUpdate = false;
+
+		force = true;
+
+	}
+
+	// update children
+
+	for ( var i = 0, l = this.children.length; i < l; i ++ ) {
+
+		this.children[ i ].updateMatrixWorld( force );
+
+	}
+
+};
+
+THREE.Gyroscope.prototype.translationWorld = new THREE.Vector3();
+THREE.Gyroscope.prototype.translationObject = new THREE.Vector3();
+THREE.Gyroscope.prototype.rotationWorld = new THREE.Quaternion();
+THREE.Gyroscope.prototype.rotationObject = new THREE.Quaternion();
+THREE.Gyroscope.prototype.scaleWorld = new THREE.Vector3();
+THREE.Gyroscope.prototype.scaleObject = new THREE.Vector3();
+
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * Creates free form 2d path using series of points, lines or curves.
+ *
+ **/
+
+THREE.Path = function ( points ) {
+
+	THREE.CurvePath.call(this);
+
+	this.actions = [];
+
+	if ( points ) {
+
+		this.fromPoints( points );
+
+	}
+
+};
+
+THREE.Path.prototype = Object.create( THREE.CurvePath.prototype );
+
+THREE.PathActions = {
+
+	MOVE_TO: 'moveTo',
+	LINE_TO: 'lineTo',
+	QUADRATIC_CURVE_TO: 'quadraticCurveTo', // Bezier quadratic curve
+	BEZIER_CURVE_TO: 'bezierCurveTo', 		// Bezier cubic curve
+	CSPLINE_THRU: 'splineThru',				// Catmull-rom spline
+	ARC: 'arc',								// Circle
+	ELLIPSE: 'ellipse'
+};
+
+// TODO Clean up PATH API
+
+// Create path using straight lines to connect all points
+// - vectors: array of Vector2
+
+THREE.Path.prototype.fromPoints = function ( vectors ) {
+
+	this.moveTo( vectors[ 0 ].x, vectors[ 0 ].y );
+
+	for ( var v = 1, vlen = vectors.length; v < vlen; v ++ ) {
+
+		this.lineTo( vectors[ v ].x, vectors[ v ].y );
+
+	};
+
+};
+
+// startPath() endPath()?
+
+THREE.Path.prototype.moveTo = function ( x, y ) {
+
+	var args = Array.prototype.slice.call( arguments );
+	this.actions.push( { action: THREE.PathActions.MOVE_TO, args: args } );
+
+};
+
+THREE.Path.prototype.lineTo = function ( x, y ) {
+
+	var args = Array.prototype.slice.call( arguments );
+
+	var lastargs = this.actions[ this.actions.length - 1 ].args;
+
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+
+	var curve = new THREE.LineCurve( new THREE.Vector2( x0, y0 ), new THREE.Vector2( x, y ) );
+	this.curves.push( curve );
+
+	this.actions.push( { action: THREE.PathActions.LINE_TO, args: args } );
+
+};
+
+THREE.Path.prototype.quadraticCurveTo = function( aCPx, aCPy, aX, aY ) {
+
+	var args = Array.prototype.slice.call( arguments );
+
+	var lastargs = this.actions[ this.actions.length - 1 ].args;
+
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+
+	var curve = new THREE.QuadraticBezierCurve( new THREE.Vector2( x0, y0 ),
+												new THREE.Vector2( aCPx, aCPy ),
+												new THREE.Vector2( aX, aY ) );
+	this.curves.push( curve );
+
+	this.actions.push( { action: THREE.PathActions.QUADRATIC_CURVE_TO, args: args } );
+
+};
+
+THREE.Path.prototype.bezierCurveTo = function( aCP1x, aCP1y,
+                                               aCP2x, aCP2y,
+                                               aX, aY ) {
+
+	var args = Array.prototype.slice.call( arguments );
+
+	var lastargs = this.actions[ this.actions.length - 1 ].args;
+
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+
+	var curve = new THREE.CubicBezierCurve( new THREE.Vector2( x0, y0 ),
+											new THREE.Vector2( aCP1x, aCP1y ),
+											new THREE.Vector2( aCP2x, aCP2y ),
+											new THREE.Vector2( aX, aY ) );
+	this.curves.push( curve );
+
+	this.actions.push( { action: THREE.PathActions.BEZIER_CURVE_TO, args: args } );
+
+};
+
+THREE.Path.prototype.splineThru = function( pts /*Array of Vector*/ ) {
+
+	var args = Array.prototype.slice.call( arguments );
+	var lastargs = this.actions[ this.actions.length - 1 ].args;
+
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+//---
+	var npts = [ new THREE.Vector2( x0, y0 ) ];
+	Array.prototype.push.apply( npts, pts );
+
+	var curve = new THREE.SplineCurve( npts );
+	this.curves.push( curve );
+
+	this.actions.push( { action: THREE.PathActions.CSPLINE_THRU, args: args } );
+
+};
+
+// FUTURE: Change the API or follow canvas API?
+
+THREE.Path.prototype.arc = function ( aX, aY, aRadius,
+									  aStartAngle, aEndAngle, aClockwise ) {
+
+	var lastargs = this.actions[ this.actions.length - 1].args;
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+
+	this.absarc(aX + x0, aY + y0, aRadius,
+		aStartAngle, aEndAngle, aClockwise );
+	
+ };
+
+ THREE.Path.prototype.absarc = function ( aX, aY, aRadius,
+									  aStartAngle, aEndAngle, aClockwise ) {
+	this.absellipse(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise);
+ };
+ 
+THREE.Path.prototype.ellipse = function ( aX, aY, xRadius, yRadius,
+									  aStartAngle, aEndAngle, aClockwise ) {
+
+	var lastargs = this.actions[ this.actions.length - 1].args;
+	var x0 = lastargs[ lastargs.length - 2 ];
+	var y0 = lastargs[ lastargs.length - 1 ];
+
+	this.absellipse(aX + x0, aY + y0, xRadius, yRadius,
+		aStartAngle, aEndAngle, aClockwise );
+
+ };
+ 
+
+THREE.Path.prototype.absellipse = function ( aX, aY, xRadius, yRadius,
+									  aStartAngle, aEndAngle, aClockwise ) {
+
+	var args = Array.prototype.slice.call( arguments );
+	var curve = new THREE.EllipseCurve( aX, aY, xRadius, yRadius,
+									aStartAngle, aEndAngle, aClockwise );
+	this.curves.push( curve );
+
+	var lastPoint = curve.getPoint(aClockwise ? 1 : 0);
+	args.push(lastPoint.x);
+	args.push(lastPoint.y);
+
+	this.actions.push( { action: THREE.PathActions.ELLIPSE, args: args } );
+
+ };
+
+THREE.Path.prototype.getSpacedPoints = function ( divisions, closedPath ) {
+
+	if ( ! divisions ) divisions = 40;
+
+	var points = [];
+
+	for ( var i = 0; i < divisions; i ++ ) {
+
+		points.push( this.getPoint( i / divisions ) );
+
+		//if( !this.getPoint( i / divisions ) ) throw "DIE";
+
+	}
+
+	// if ( closedPath ) {
+	//
+	// 	points.push( points[ 0 ] );
+	//
+	// }
+
+	return points;
+
+};
+
+/* Return an array of vectors based on contour of the path */
+
+THREE.Path.prototype.getPoints = function( divisions, closedPath ) {
+
+	if (this.useSpacedPoints) {
+		console.log('tata');
+		return this.getSpacedPoints( divisions, closedPath );
+	}
+
+	divisions = divisions || 12;
+
+	var points = [];
+
+	var i, il, item, action, args;
+	var cpx, cpy, cpx2, cpy2, cpx1, cpy1, cpx0, cpy0,
+		laste, j,
+		t, tx, ty;
+
+	for ( i = 0, il = this.actions.length; i < il; i ++ ) {
+
+		item = this.actions[ i ];
+
+		action = item.action;
+		args = item.args;
+
+		switch( action ) {
+
+		case THREE.PathActions.MOVE_TO:
+
+			points.push( new THREE.Vector2( args[ 0 ], args[ 1 ] ) );
+
+			break;
+
+		case THREE.PathActions.LINE_TO:
+
+			points.push( new THREE.Vector2( args[ 0 ], args[ 1 ] ) );
+
+			break;
+
+		case THREE.PathActions.QUADRATIC_CURVE_TO:
+
+			cpx  = args[ 2 ];
+			cpy  = args[ 3 ];
+
+			cpx1 = args[ 0 ];
+			cpy1 = args[ 1 ];
+
+			if ( points.length > 0 ) {
+
+				laste = points[ points.length - 1 ];
+
+				cpx0 = laste.x;
+				cpy0 = laste.y;
+
+			} else {
+
+				laste = this.actions[ i - 1 ].args;
+
+				cpx0 = laste[ laste.length - 2 ];
+				cpy0 = laste[ laste.length - 1 ];
+
+			}
+
+			for ( j = 1; j <= divisions; j ++ ) {
+
+				t = j / divisions;
+
+				tx = THREE.Shape.Utils.b2( t, cpx0, cpx1, cpx );
+				ty = THREE.Shape.Utils.b2( t, cpy0, cpy1, cpy );
+
+				points.push( new THREE.Vector2( tx, ty ) );
+
+		  	}
+
+			break;
+
+		case THREE.PathActions.BEZIER_CURVE_TO:
+
+			cpx  = args[ 4 ];
+			cpy  = args[ 5 ];
+
+			cpx1 = args[ 0 ];
+			cpy1 = args[ 1 ];
+
+			cpx2 = args[ 2 ];
+			cpy2 = args[ 3 ];
+
+			if ( points.length > 0 ) {
+
+				laste = points[ points.length - 1 ];
+
+				cpx0 = laste.x;
+				cpy0 = laste.y;
+
+			} else {
+
+				laste = this.actions[ i - 1 ].args;
+
+				cpx0 = laste[ laste.length - 2 ];
+				cpy0 = laste[ laste.length - 1 ];
+
+			}
+
+
+			for ( j = 1; j <= divisions; j ++ ) {
+
+				t = j / divisions;
+
+				tx = THREE.Shape.Utils.b3( t, cpx0, cpx1, cpx2, cpx );
+				ty = THREE.Shape.Utils.b3( t, cpy0, cpy1, cpy2, cpy );
+
+				points.push( new THREE.Vector2( tx, ty ) );
+
+			}
+
+			break;
+
+		case THREE.PathActions.CSPLINE_THRU:
+
+			laste = this.actions[ i - 1 ].args;
+
+			var last = new THREE.Vector2( laste[ laste.length - 2 ], laste[ laste.length - 1 ] );
+			var spts = [ last ];
+
+			var n = divisions * args[ 0 ].length;
+
+			spts = spts.concat( args[ 0 ] );
+
+			var spline = new THREE.SplineCurve( spts );
+
+			for ( j = 1; j <= n; j ++ ) {
+
+				points.push( spline.getPointAt( j / n ) ) ;
+
+			}
+
+			break;
+
+		case THREE.PathActions.ARC:
+
+			var aX = args[ 0 ], aY = args[ 1 ],
+				aRadius = args[ 2 ],
+				aStartAngle = args[ 3 ], aEndAngle = args[ 4 ],
+				aClockwise = !!args[ 5 ];
+
+			var deltaAngle = aEndAngle - aStartAngle;
+			var angle;
+			var tdivisions = divisions * 2;
+
+			for ( j = 1; j <= tdivisions; j ++ ) {
+
+				t = j / tdivisions;
+
+				if ( ! aClockwise ) {
+
+					t = 1 - t;
+
+				}
+
+				angle = aStartAngle + t * deltaAngle;
+
+				tx = aX + aRadius * Math.cos( angle );
+				ty = aY + aRadius * Math.sin( angle );
+
+				//console.log('t', t, 'angle', angle, 'tx', tx, 'ty', ty);
+
+				points.push( new THREE.Vector2( tx, ty ) );
+
+			}
+
+			//console.log(points);
+
+		  break;
+		  
+		case THREE.PathActions.ELLIPSE:
+
+			var aX = args[ 0 ], aY = args[ 1 ],
+				xRadius = args[ 2 ],
+				yRadius = args[ 3 ],
+				aStartAngle = args[ 4 ], aEndAngle = args[ 5 ],
+				aClockwise = !!args[ 6 ];
+
+
+			var deltaAngle = aEndAngle - aStartAngle;
+			var angle;
+			var tdivisions = divisions * 2;
+
+			for ( j = 1; j <= tdivisions; j ++ ) {
+
+				t = j / tdivisions;
+
+				if ( ! aClockwise ) {
+
+					t = 1 - t;
+
+				}
+
+				angle = aStartAngle + t * deltaAngle;
+
+				tx = aX + xRadius * Math.cos( angle );
+				ty = aY + yRadius * Math.sin( angle );
+
+				//console.log('t', t, 'angle', angle, 'tx', tx, 'ty', ty);
+
+				points.push( new THREE.Vector2( tx, ty ) );
+
+			}
+
+			//console.log(points);
+
+		  break;
+
+		} // end switch
+
+	}
+
+
+
+	// Normalize to remove the closing point by default.
+	var lastPoint = points[ points.length - 1];
+	var EPSILON = 0.0000000001;
+	if ( Math.abs(lastPoint.x - points[ 0 ].x) < EPSILON &&
+             Math.abs(lastPoint.y - points[ 0 ].y) < EPSILON)
+		points.splice( points.length - 1, 1);
+	if ( closedPath ) {
+
+		points.push( points[ 0 ] );
+
+	}
+
+	return points;
+
+};
+
+// Breaks path into shapes
+
+THREE.Path.prototype.toShapes = function() {
+
+	var i, il, item, action, args;
+
+	var subPaths = [], lastPath = new THREE.Path();
+
+	for ( i = 0, il = this.actions.length; i < il; i ++ ) {
+
+		item = this.actions[ i ];
+
+		args = item.args;
+		action = item.action;
+
+		if ( action == THREE.PathActions.MOVE_TO ) {
+
+			if ( lastPath.actions.length != 0 ) {
+
+				subPaths.push( lastPath );
+				lastPath = new THREE.Path();
+
+			}
+
+		}
+
+		lastPath[ action ].apply( lastPath, args );
+
+	}
+
+	if ( lastPath.actions.length != 0 ) {
+
+		subPaths.push( lastPath );
+
+	}
+
+	// console.log(subPaths);
+
+	if ( subPaths.length == 0 ) return [];
+
+	var tmpPath, tmpShape, shapes = [];
+
+	var holesFirst = !THREE.Shape.Utils.isClockWise( subPaths[ 0 ].getPoints() );
+	// console.log("Holes first", holesFirst);
+
+	if ( subPaths.length == 1) {
+		tmpPath = subPaths[0];
+		tmpShape = new THREE.Shape();
+		tmpShape.actions = tmpPath.actions;
+		tmpShape.curves = tmpPath.curves;
+		shapes.push( tmpShape );
+		return shapes;
+	};
+
+	if ( holesFirst ) {
+
+		tmpShape = new THREE.Shape();
+
+		for ( i = 0, il = subPaths.length; i < il; i ++ ) {
+
+			tmpPath = subPaths[ i ];
+
+			if ( THREE.Shape.Utils.isClockWise( tmpPath.getPoints() ) ) {
+
+				tmpShape.actions = tmpPath.actions;
+				tmpShape.curves = tmpPath.curves;
+
+				shapes.push( tmpShape );
+				tmpShape = new THREE.Shape();
+
+				//console.log('cw', i);
+
+			} else {
+
+				tmpShape.holes.push( tmpPath );
+
+				//console.log('ccw', i);
+
+			}
+
+		}
+
+	} else {
+
+		// Shapes first
+
+		for ( i = 0, il = subPaths.length; i < il; i ++ ) {
+
+			tmpPath = subPaths[ i ];
+
+			if ( THREE.Shape.Utils.isClockWise( tmpPath.getPoints() ) ) {
+
+
+				if ( tmpShape ) shapes.push( tmpShape );
+
+				tmpShape = new THREE.Shape();
+				tmpShape.actions = tmpPath.actions;
+				tmpShape.curves = tmpPath.curves;
+
+			} else {
+
+				tmpShape.holes.push( tmpPath );
+
+			}
+
+		}
+
+		shapes.push( tmpShape );
+
+	}
+
+	//console.log("shape", shapes);
+
+	return shapes;
+
+};
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * Defines a 2d shape plane using paths.
+ **/
+
+// STEP 1 Create a path.
+// STEP 2 Turn path into shape.
+// STEP 3 ExtrudeGeometry takes in Shape/Shapes
+// STEP 3a - Extract points from each shape, turn to vertices
+// STEP 3b - Triangulate each shape, add faces.
+
+THREE.Shape = function () {
+
+	THREE.Path.apply( this, arguments );
+	this.holes = [];
+
+};
+
+THREE.Shape.prototype = Object.create( THREE.Path.prototype );
+
+// Convenience method to return ExtrudeGeometry
+
+THREE.Shape.prototype.extrude = function ( options ) {
+
+	var extruded = new THREE.ExtrudeGeometry( this, options );
+	return extruded;
+
+};
+
+// Convenience method to return ShapeGeometry
+
+THREE.Shape.prototype.makeGeometry = function ( options ) {
+
+	var geometry = new THREE.ShapeGeometry( this, options );
+	return geometry;
+
+};
+
+// Get points of holes
+
+THREE.Shape.prototype.getPointsHoles = function ( divisions ) {
+
+	var i, il = this.holes.length, holesPts = [];
+
+	for ( i = 0; i < il; i ++ ) {
+
+		holesPts[ i ] = this.holes[ i ].getTransformedPoints( divisions, this.bends );
+
+	}
+
+	return holesPts;
+
+};
+
+// Get points of holes (spaced by regular distance)
+
+THREE.Shape.prototype.getSpacedPointsHoles = function ( divisions ) {
+
+	var i, il = this.holes.length, holesPts = [];
+
+	for ( i = 0; i < il; i ++ ) {
+
+		holesPts[ i ] = this.holes[ i ].getTransformedSpacedPoints( divisions, this.bends );
+
+	}
+
+	return holesPts;
+
+};
+
+
+// Get points of shape and holes (keypoints based on segments parameter)
+
+THREE.Shape.prototype.extractAllPoints = function ( divisions ) {
+
+	return {
+
+		shape: this.getTransformedPoints( divisions ),
+		holes: this.getPointsHoles( divisions )
+
+	};
+
+};
+
+THREE.Shape.prototype.extractPoints = function ( divisions ) {
+
+	if (this.useSpacedPoints) {
+		return this.extractAllSpacedPoints(divisions);
+	}
+
+	return this.extractAllPoints(divisions);
+
+};
+
+//
+// THREE.Shape.prototype.extractAllPointsWithBend = function ( divisions, bend ) {
+//
+// 	return {
+//
+// 		shape: this.transform( bend, divisions ),
+// 		holes: this.getPointsHoles( divisions, bend )
+//
+// 	};
+//
+// };
+
+// Get points of shape and holes (spaced by regular distance)
+
+THREE.Shape.prototype.extractAllSpacedPoints = function ( divisions ) {
+
+	return {
+
+		shape: this.getTransformedSpacedPoints( divisions ),
+		holes: this.getSpacedPointsHoles( divisions )
+
+	};
+
+};
+
+/**************************************************************
+ *	Utils
+ **************************************************************/
+
+THREE.Shape.Utils = {
+
+	/*
+		contour - array of vector2 for contour
+		holes   - array of array of vector2
+	*/
+
+	removeHoles: function ( contour, holes ) {
+
+		var shape = contour.concat(); // work on this shape
+		var allpoints = shape.concat();
+
+		/* For each isolated shape, find the closest points and break to the hole to allow triangulation */
+
+
+		var prevShapeVert, nextShapeVert,
+			prevHoleVert, nextHoleVert,
+			holeIndex, shapeIndex,
+			shapeId, shapeGroup,
+			h, h2,
+			hole, shortest, d,
+			p, pts1, pts2,
+			tmpShape1, tmpShape2,
+			tmpHole1, tmpHole2,
+			verts = [];
+
+		for ( h = 0; h < holes.length; h ++ ) {
+
+			hole = holes[ h ];
+
+			/*
+			shapeholes[ h ].concat(); // preserves original
+			holes.push( hole );
+			*/
+
+			Array.prototype.push.apply( allpoints, hole );
+
+			shortest = Number.POSITIVE_INFINITY;
+
+
+			// Find the shortest pair of pts between shape and hole
+
+			// Note: Actually, I'm not sure now if we could optimize this to be faster than O(m*n)
+			// Using distanceToSquared() intead of distanceTo() should speed a little
+			// since running square roots operations are reduced.
+
+			for ( h2 = 0; h2 < hole.length; h2 ++ ) {
+
+				pts1 = hole[ h2 ];
+				var dist = [];
+
+				for ( p = 0; p < shape.length; p++ ) {
+
+					pts2 = shape[ p ];
+					d = pts1.distanceToSquared( pts2 );
+					dist.push( d );
+
+					if ( d < shortest ) {
+
+						shortest = d;
+						holeIndex = h2;
+						shapeIndex = p;
+
+					}
+
+				}
+
+			}
+
+			//console.log("shortest", shortest, dist);
+
+			prevShapeVert = ( shapeIndex - 1 ) >= 0 ? shapeIndex - 1 : shape.length - 1;
+			prevHoleVert = ( holeIndex - 1 ) >= 0 ? holeIndex - 1 : hole.length - 1;
+
+			var areaapts = [
+
+				hole[ holeIndex ],
+				shape[ shapeIndex ],
+				shape[ prevShapeVert ]
+
+			];
+
+			var areaa = THREE.FontUtils.Triangulate.area( areaapts );
+
+			var areabpts = [
+
+				hole[ holeIndex ],
+				hole[ prevHoleVert ],
+				shape[ shapeIndex ]
+
+			];
+
+			var areab = THREE.FontUtils.Triangulate.area( areabpts );
+
+			var shapeOffset = 1;
+			var holeOffset = -1;
+
+			var oldShapeIndex = shapeIndex, oldHoleIndex = holeIndex;
+			shapeIndex += shapeOffset;
+			holeIndex += holeOffset;
+
+			if ( shapeIndex < 0 ) { shapeIndex += shape.length;  }
+			shapeIndex %= shape.length;
+
+			if ( holeIndex < 0 ) { holeIndex += hole.length;  }
+			holeIndex %= hole.length;
+
+			prevShapeVert = ( shapeIndex - 1 ) >= 0 ? shapeIndex - 1 : shape.length - 1;
+			prevHoleVert = ( holeIndex - 1 ) >= 0 ? holeIndex - 1 : hole.length - 1;
+
+			areaapts = [
+
+				hole[ holeIndex ],
+				shape[ shapeIndex ],
+				shape[ prevShapeVert ]
+
+			];
+
+			var areaa2 = THREE.FontUtils.Triangulate.area( areaapts );
+
+			areabpts = [
+
+				hole[ holeIndex ],
+				hole[ prevHoleVert ],
+				shape[ shapeIndex ]
+
+			];
+
+			var areab2 = THREE.FontUtils.Triangulate.area( areabpts );
+			//console.log(areaa,areab ,areaa2,areab2, ( areaa + areab ),  ( areaa2 + areab2 ));
+
+			if ( ( areaa + areab ) > ( areaa2 + areab2 ) ) {
+
+				// In case areas are not correct.
+				//console.log("USE THIS");
+
+				shapeIndex = oldShapeIndex;
+				holeIndex = oldHoleIndex ;
+
+				if ( shapeIndex < 0 ) { shapeIndex += shape.length;  }
+				shapeIndex %= shape.length;
+
+				if ( holeIndex < 0 ) { holeIndex += hole.length;  }
+				holeIndex %= hole.length;
+
+				prevShapeVert = ( shapeIndex - 1 ) >= 0 ? shapeIndex - 1 : shape.length - 1;
+				prevHoleVert = ( holeIndex - 1 ) >= 0 ? holeIndex - 1 : hole.length - 1;
+
+			} else {
+
+				//console.log("USE THAT ")
+
+			}
+
+			tmpShape1 = shape.slice( 0, shapeIndex );
+			tmpShape2 = shape.slice( shapeIndex );
+			tmpHole1 = hole.slice( holeIndex );
+			tmpHole2 = hole.slice( 0, holeIndex );
+
+			// Should check orders here again?
+
+			var trianglea = [
+
+				hole[ holeIndex ],
+				shape[ shapeIndex ],
+				shape[ prevShapeVert ]
+
+			];
+
+			var triangleb = [
+
+				hole[ holeIndex ] ,
+				hole[ prevHoleVert ],
+				shape[ shapeIndex ]
+
+			];
+
+			verts.push( trianglea );
+			verts.push( triangleb );
+
+			shape = tmpShape1.concat( tmpHole1 ).concat( tmpHole2 ).concat( tmpShape2 );
+
+		}
+
+		return {
+
+			shape:shape, 		/* shape with no holes */
+			isolatedPts: verts, /* isolated faces */
+			allpoints: allpoints
+
+		}
+
+
+	},
+
+	triangulateShape: function ( contour, holes ) {
+
+		var shapeWithoutHoles = THREE.Shape.Utils.removeHoles( contour, holes );
+
+		var shape = shapeWithoutHoles.shape,
+			allpoints = shapeWithoutHoles.allpoints,
+			isolatedPts = shapeWithoutHoles.isolatedPts;
+
+		var triangles = THREE.FontUtils.Triangulate( shape, false ); // True returns indices for points of spooled shape
+
+		// To maintain reference to old shape, one must match coordinates, or offset the indices from original arrays. It's probably easier to do the first.
+
+		//console.log( "triangles",triangles, triangles.length );
+		//console.log( "allpoints",allpoints, allpoints.length );
+
+		var i, il, f, face,
+			key, index,
+			allPointsMap = {},
+			isolatedPointsMap = {};
+
+		// prepare all points map
+
+		for ( i = 0, il = allpoints.length; i < il; i ++ ) {
+
+			key = allpoints[ i ].x + ":" + allpoints[ i ].y;
+
+			if ( allPointsMap[ key ] !== undefined ) {
+
+				console.log( "Duplicate point", key );
+
+			}
+
+			allPointsMap[ key ] = i;
+
+		}
+
+		// check all face vertices against all points map
+
+		for ( i = 0, il = triangles.length; i < il; i ++ ) {
+
+			face = triangles[ i ];
+
+			for ( f = 0; f < 3; f ++ ) {
+
+				key = face[ f ].x + ":" + face[ f ].y;
+
+				index = allPointsMap[ key ];
+
+				if ( index !== undefined ) {
+
+					face[ f ] = index;
+
+				}
+
+			}
+
+		}
+
+		// check isolated points vertices against all points map
+
+		for ( i = 0, il = isolatedPts.length; i < il; i ++ ) {
+
+			face = isolatedPts[ i ];
+
+			for ( f = 0; f < 3; f ++ ) {
+
+				key = face[ f ].x + ":" + face[ f ].y;
+
+				index = allPointsMap[ key ];
+
+				if ( index !== undefined ) {
+
+					face[ f ] = index;
+
+				}
+
+			}
+
+		}
+
+		return triangles.concat( isolatedPts );
+
+	}, // end triangulate shapes
+
+	/*
+	triangulate2 : function( pts, holes ) {
+
+		// For use with Poly2Tri.js
+
+		var allpts = pts.concat();
+		var shape = [];
+		for (var p in pts) {
+			shape.push(new js.poly2tri.Point(pts[p].x, pts[p].y));
+		}
+
+		var swctx = new js.poly2tri.SweepContext(shape);
+
+		for (var h in holes) {
+			var aHole = holes[h];
+			var newHole = []
+			for (i in aHole) {
+				newHole.push(new js.poly2tri.Point(aHole[i].x, aHole[i].y));
+				allpts.push(aHole[i]);
+			}
+			swctx.AddHole(newHole);
+		}
+
+		var find;
+		var findIndexForPt = function (pt) {
+			find = new THREE.Vector2(pt.x, pt.y);
+			var p;
+			for (p=0, pl = allpts.length; p<pl; p++) {
+				if (allpts[p].equals(find)) return p;
+			}
+			return -1;
+		};
+
+		// triangulate
+		js.poly2tri.sweep.Triangulate(swctx);
+
+		var triangles =  swctx.GetTriangles();
+		var tr ;
+		var facesPts = [];
+		for (var t in triangles) {
+			tr =  triangles[t];
+			facesPts.push([
+				findIndexForPt(tr.GetPoint(0)),
+				findIndexForPt(tr.GetPoint(1)),
+				findIndexForPt(tr.GetPoint(2))
+					]);
+		}
+
+
+	//	console.log(facesPts);
+	//	console.log("triangles", triangles.length, triangles);
+
+		// Returns array of faces with 3 element each
+	return facesPts;
+	},
+*/
+
+	isClockWise: function ( pts ) {
+
+		return THREE.FontUtils.Triangulate.area( pts ) < 0;
+
+	},
+
+	// Bezier Curves formulas obtained from
+	// http://en.wikipedia.org/wiki/B%C3%A9zier_curve
+
+	// Quad Bezier Functions
+
+	b2p0: function ( t, p ) {
+
+		var k = 1 - t;
+		return k * k * p;
+
+	},
+
+	b2p1: function ( t, p ) {
+
+		return 2 * ( 1 - t ) * t * p;
+
+	},
+
+	b2p2: function ( t, p ) {
+
+		return t * t * p;
+
+	},
+
+	b2: function ( t, p0, p1, p2 ) {
+
+		return this.b2p0( t, p0 ) + this.b2p1( t, p1 ) + this.b2p2( t, p2 );
+
+	},
+
+	// Cubic Bezier Functions
+
+	b3p0: function ( t, p ) {
+
+		var k = 1 - t;
+		return k * k * k * p;
+
+	},
+
+	b3p1: function ( t, p ) {
+
+		var k = 1 - t;
+		return 3 * k * k * t * p;
+
+	},
+
+	b3p2: function ( t, p ) {
+
+		var k = 1 - t;
+		return 3 * k * t * t * p;
+
+	},
+
+	b3p3: function ( t, p ) {
+
+		return t * t * t * p;
+
+	},
+
+	b3: function ( t, p0, p1, p2, p3 ) {
+
+		return this.b3p0( t, p0 ) + this.b3p1( t, p1 ) + this.b3p2( t, p2 ) +  this.b3p3( t, p3 );
+
+	}
+
+};
+
+/**
+ * @author mikael emtinger / http://gomo.se/
+ */
+
+THREE.AnimationHandler = (function() {
+
+	var playing = [];
+	var library = {};
+	var that    = {};
+
+
+	//--- update ---
+
+	that.update = function( deltaTimeMS ) {
+
+		for( var i = 0; i < playing.length; i ++ )
+			playing[ i ].update( deltaTimeMS );
+
+	};
+
+
+	//--- add ---
+
+	that.addToUpdate = function( animation ) {
+
+		if ( playing.indexOf( animation ) === -1 )
+			playing.push( animation );
+
+	};
+
+
+	//--- remove ---
+
+	that.removeFromUpdate = function( animation ) {
+
+		var index = playing.indexOf( animation );
+
+		if( index !== -1 )
+			playing.splice( index, 1 );
+
+	};
+
+
+	//--- add ---
+
+	that.add = function( data ) {
+
+		if ( library[ data.name ] !== undefined )
+			console.log( "THREE.AnimationHandler.add: Warning! " + data.name + " already exists in library. Overwriting." );
+
+		library[ data.name ] = data;
+		initData( data );
+
+	};
+
+
+	//--- get ---
+
+	that.get = function( name ) {
+
+		if ( typeof name === "string" ) {
+
+			if ( library[ name ] ) {
+
+				return library[ name ];
+
+			} else {
+
+				console.log( "THREE.AnimationHandler.get: Couldn't find animation " + name );
+				return null;
+
+			}
+
+		} else {
+
+			// todo: add simple tween library
+
+		}
+
+	};
+
+	//--- parse ---
+
+	that.parse = function( root ) {
+
+		// setup hierarchy
+
+		var hierarchy = [];
+
+		if ( root instanceof THREE.SkinnedMesh ) {
+
+			for( var b = 0; b < root.bones.length; b++ ) {
+
+				hierarchy.push( root.bones[ b ] );
+
+			}
+
+		} else {
+
+			parseRecurseHierarchy( root, hierarchy );
+
+		}
+
+		return hierarchy;
+
+	};
+
+	var parseRecurseHierarchy = function( root, hierarchy ) {
+
+		hierarchy.push( root );
+
+		for( var c = 0; c < root.children.length; c++ )
+			parseRecurseHierarchy( root.children[ c ], hierarchy );
+
+	}
+
+
+	//--- init data ---
+
+	var initData = function( data ) {
+
+		if( data.initialized === true )
+			return;
+
+
+		// loop through all keys
+
+		for( var h = 0; h < data.hierarchy.length; h ++ ) {
+
+			for( var k = 0; k < data.hierarchy[ h ].keys.length; k ++ ) {
+
+				// remove minus times
+
+				if( data.hierarchy[ h ].keys[ k ].time < 0 )
+					data.hierarchy[ h ].keys[ k ].time = 0;
+
+
+				// create quaternions
+
+				if( data.hierarchy[ h ].keys[ k ].rot !== undefined &&
+				 !( data.hierarchy[ h ].keys[ k ].rot instanceof THREE.Quaternion ) ) {
+
+					var quat = data.hierarchy[ h ].keys[ k ].rot;
+					data.hierarchy[ h ].keys[ k ].rot = new THREE.Quaternion( quat[0], quat[1], quat[2], quat[3] );
+
+				}
+
+			}
+
+
+			// prepare morph target keys
+
+			if( data.hierarchy[ h ].keys.length && data.hierarchy[ h ].keys[ 0 ].morphTargets !== undefined ) {
+
+				// get all used
+
+				var usedMorphTargets = {};
+
+				for ( var k = 0; k < data.hierarchy[ h ].keys.length; k ++ ) {
+
+					for ( var m = 0; m < data.hierarchy[ h ].keys[ k ].morphTargets.length; m ++ ) {
+
+						var morphTargetName = data.hierarchy[ h ].keys[ k ].morphTargets[ m ];
+						usedMorphTargets[ morphTargetName ] = -1;
+
+					}
+
+				}
+
+				data.hierarchy[ h ].usedMorphTargets = usedMorphTargets;
+
+
+				// set all used on all frames
+
+				for ( var k = 0; k < data.hierarchy[ h ].keys.length; k ++ ) {
+
+					var influences = {};
+
+					for ( var morphTargetName in usedMorphTargets ) {
+
+						for ( var m = 0; m < data.hierarchy[ h ].keys[ k ].morphTargets.length; m ++ ) {
+
+							if ( data.hierarchy[ h ].keys[ k ].morphTargets[ m ] === morphTargetName ) {
+
+								influences[ morphTargetName ] = data.hierarchy[ h ].keys[ k ].morphTargetsInfluences[ m ];
+								break;
+
+							}
+
+						}
+
+						if ( m === data.hierarchy[ h ].keys[ k ].morphTargets.length ) {
+
+							influences[ morphTargetName ] = 0;
+
+						}
+
+					}
+
+					data.hierarchy[ h ].keys[ k ].morphTargetsInfluences = influences;
+
+				}
+
+			}
+
+
+			// remove all keys that are on the same time
+
+			for ( var k = 1; k < data.hierarchy[ h ].keys.length; k ++ ) {
+
+				if ( data.hierarchy[ h ].keys[ k ].time === data.hierarchy[ h ].keys[ k - 1 ].time ) {
+
+					data.hierarchy[ h ].keys.splice( k, 1 );
+					k --;
+
+				}
+
+			}
+
+
+			// set index
+
+			for ( var k = 0; k < data.hierarchy[ h ].keys.length; k ++ ) {
+
+				data.hierarchy[ h ].keys[ k ].index = k;
+
+			}
+
+		}
+
+
+		// JIT
+
+		var lengthInFrames = parseInt( data.length * data.fps, 10 );
+
+		data.JIT = {};
+		data.JIT.hierarchy = [];
+
+		for( var h = 0; h < data.hierarchy.length; h ++ )
+			data.JIT.hierarchy.push( new Array( lengthInFrames ) );
+
+
+		// done
+
+		data.initialized = true;
+
+	};
+
+
+	// interpolation types
+
+	that.LINEAR = 0;
+	that.CATMULLROM = 1;
+	that.CATMULLROM_FORWARD = 2;
+
+	return that;
+
+}());
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.Animation = function ( root, name, interpolationType ) {
+
+	this.root = root;
+	this.data = THREE.AnimationHandler.get( name );
+	this.hierarchy = THREE.AnimationHandler.parse( root );
+
+	this.currentTime = 0;
+	this.timeScale = 1;
+
+	this.isPlaying = false;
+	this.isPaused = true;
+	this.loop = true;
+
+	this.interpolationType = interpolationType !== undefined ? interpolationType : THREE.AnimationHandler.LINEAR;
+
+	this.points = [];
+	this.target = new THREE.Vector3();
+
+};
+
+THREE.Animation.prototype.play = function ( loop, startTimeMS ) {
+
+	if ( this.isPlaying === false ) {
+
+		this.isPlaying = true;
+		this.loop = loop !== undefined ? loop : true;
+		this.currentTime = startTimeMS !== undefined ? startTimeMS : 0;
+
+		// reset key cache
+
+		var h, hl = this.hierarchy.length,
+			object;
+
+		for ( h = 0; h < hl; h ++ ) {
+
+			object = this.hierarchy[ h ];
+
+			if ( this.interpolationType !== THREE.AnimationHandler.CATMULLROM_FORWARD ) {
+
+				object.useQuaternion = true;
+
+			}
+
+			object.matrixAutoUpdate = true;
+
+			if ( object.animationCache === undefined ) {
+
+				object.animationCache = {};
+				object.animationCache.prevKey = { pos: 0, rot: 0, scl: 0 };
+				object.animationCache.nextKey = { pos: 0, rot: 0, scl: 0 };
+				object.animationCache.originalMatrix = object instanceof THREE.Bone ? object.skinMatrix : object.matrix;
+
+			}
+
+			var prevKey = object.animationCache.prevKey;
+			var nextKey = object.animationCache.nextKey;
+
+			prevKey.pos = this.data.hierarchy[ h ].keys[ 0 ];
+			prevKey.rot = this.data.hierarchy[ h ].keys[ 0 ];
+			prevKey.scl = this.data.hierarchy[ h ].keys[ 0 ];
+
+			nextKey.pos = this.getNextKeyWith( "pos", h, 1 );
+			nextKey.rot = this.getNextKeyWith( "rot", h, 1 );
+			nextKey.scl = this.getNextKeyWith( "scl", h, 1 );
+
+		}
+
+		this.update( 0 );
+
+	}
+
+	this.isPaused = false;
+
+	THREE.AnimationHandler.addToUpdate( this );
+
+};
+
+
+THREE.Animation.prototype.pause = function() {
+
+	if ( this.isPaused === true ) {
+
+		THREE.AnimationHandler.addToUpdate( this );
+
+	} else {
+
+		THREE.AnimationHandler.removeFromUpdate( this );
+
+	}
+
+	this.isPaused = !this.isPaused;
+
+};
+
+
+THREE.Animation.prototype.stop = function() {
+
+	this.isPlaying = false;
+	this.isPaused  = false;
+	THREE.AnimationHandler.removeFromUpdate( this );
+
+};
+
+
+THREE.Animation.prototype.update = function ( deltaTimeMS ) {
+
+	// early out
+
+	if ( this.isPlaying === false ) return;
+
+
+	// vars
+
+	var types = [ "pos", "rot", "scl" ];
+	var type;
+	var scale;
+	var vector;
+	var prevXYZ, nextXYZ;
+	var prevKey, nextKey;
+	var object;
+	var animationCache;
+	var frame;
+	var JIThierarchy = this.data.JIT.hierarchy;
+	var currentTime, unloopedCurrentTime;
+	var currentPoint, forwardPoint, angle;
+
+
+	this.currentTime += deltaTimeMS * this.timeScale;
+
+	unloopedCurrentTime = this.currentTime;
+	currentTime = this.currentTime = this.currentTime % this.data.length;
+	frame = parseInt( Math.min( currentTime * this.data.fps, this.data.length * this.data.fps ), 10 );
+
+
+	for ( var h = 0, hl = this.hierarchy.length; h < hl; h ++ ) {
+
+		object = this.hierarchy[ h ];
+		animationCache = object.animationCache;
+
+		// loop through pos/rot/scl
+
+		for ( var t = 0; t < 3; t ++ ) {
+
+			// get keys
+
+			type    = types[ t ];
+			prevKey = animationCache.prevKey[ type ];
+			nextKey = animationCache.nextKey[ type ];
+
+			// switch keys?
+
+			if ( nextKey.time <= unloopedCurrentTime ) {
+
+				// did we loop?
+
+				if ( currentTime < unloopedCurrentTime ) {
+
+					if ( this.loop ) {
+
+						prevKey = this.data.hierarchy[ h ].keys[ 0 ];
+						nextKey = this.getNextKeyWith( type, h, 1 );
+
+						while( nextKey.time < currentTime ) {
+
+							prevKey = nextKey;
+							nextKey = this.getNextKeyWith( type, h, nextKey.index + 1 );
+
+						}
+
+					} else {
+
+						this.stop();
+						return;
+
+					}
+
+				} else {
+
+					do {
+
+						prevKey = nextKey;
+						nextKey = this.getNextKeyWith( type, h, nextKey.index + 1 );
+
+					} while( nextKey.time < currentTime )
+
+				}
+
+				animationCache.prevKey[ type ] = prevKey;
+				animationCache.nextKey[ type ] = nextKey;
+
+			}
+
+
+			object.matrixAutoUpdate = true;
+			object.matrixWorldNeedsUpdate = true;
+
+			scale = ( currentTime - prevKey.time ) / ( nextKey.time - prevKey.time );
+			prevXYZ = prevKey[ type ];
+			nextXYZ = nextKey[ type ];
+
+
+			// check scale error
+
+			if ( scale < 0 || scale > 1 ) {
+
+				console.log( "THREE.Animation.update: Warning! Scale out of bounds:" + scale + " on bone " + h );
+				scale = scale < 0 ? 0 : 1;
+
+			}
+
+			// interpolate
+
+			if ( type === "pos" ) {
+
+				vector = object.position;
+
+				if ( this.interpolationType === THREE.AnimationHandler.LINEAR ) {
+
+					vector.x = prevXYZ[ 0 ] + ( nextXYZ[ 0 ] - prevXYZ[ 0 ] ) * scale;
+					vector.y = prevXYZ[ 1 ] + ( nextXYZ[ 1 ] - prevXYZ[ 1 ] ) * scale;
+					vector.z = prevXYZ[ 2 ] + ( nextXYZ[ 2 ] - prevXYZ[ 2 ] ) * scale;
+
+				} else if ( this.interpolationType === THREE.AnimationHandler.CATMULLROM ||
+						    this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD ) {
+
+					this.points[ 0 ] = this.getPrevKeyWith( "pos", h, prevKey.index - 1 )[ "pos" ];
+					this.points[ 1 ] = prevXYZ;
+					this.points[ 2 ] = nextXYZ;
+					this.points[ 3 ] = this.getNextKeyWith( "pos", h, nextKey.index + 1 )[ "pos" ];
+
+					scale = scale * 0.33 + 0.33;
+
+					currentPoint = this.interpolateCatmullRom( this.points, scale );
+
+					vector.x = currentPoint[ 0 ];
+					vector.y = currentPoint[ 1 ];
+					vector.z = currentPoint[ 2 ];
+
+					if ( this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD ) {
+
+						forwardPoint = this.interpolateCatmullRom( this.points, scale * 1.01 );
+
+						this.target.set( forwardPoint[ 0 ], forwardPoint[ 1 ], forwardPoint[ 2 ] );
+						this.target.sub( vector );
+						this.target.y = 0;
+						this.target.normalize();
+
+						angle = Math.atan2( this.target.x, this.target.z );
+						object.rotation.set( 0, angle, 0 );
+
+					}
+
+				}
+
+			} else if ( type === "rot" ) {
+
+				THREE.Quaternion.slerp( prevXYZ, nextXYZ, object.quaternion, scale );
+
+			} else if ( type === "scl" ) {
+
+				vector = object.scale;
+
+				vector.x = prevXYZ[ 0 ] + ( nextXYZ[ 0 ] - prevXYZ[ 0 ] ) * scale;
+				vector.y = prevXYZ[ 1 ] + ( nextXYZ[ 1 ] - prevXYZ[ 1 ] ) * scale;
+				vector.z = prevXYZ[ 2 ] + ( nextXYZ[ 2 ] - prevXYZ[ 2 ] ) * scale;
+
+			}
+
+		}
+
+	}
+
+};
+
+// Catmull-Rom spline
+
+THREE.Animation.prototype.interpolateCatmullRom = function ( points, scale ) {
+
+	var c = [], v3 = [],
+	point, intPoint, weight, w2, w3,
+	pa, pb, pc, pd;
+
+	point = ( points.length - 1 ) * scale;
+	intPoint = Math.floor( point );
+	weight = point - intPoint;
+
+	c[ 0 ] = intPoint === 0 ? intPoint : intPoint - 1;
+	c[ 1 ] = intPoint;
+	c[ 2 ] = intPoint > points.length - 2 ? intPoint : intPoint + 1;
+	c[ 3 ] = intPoint > points.length - 3 ? intPoint : intPoint + 2;
+
+	pa = points[ c[ 0 ] ];
+	pb = points[ c[ 1 ] ];
+	pc = points[ c[ 2 ] ];
+	pd = points[ c[ 3 ] ];
+
+	w2 = weight * weight;
+	w3 = weight * w2;
+
+	v3[ 0 ] = this.interpolate( pa[ 0 ], pb[ 0 ], pc[ 0 ], pd[ 0 ], weight, w2, w3 );
+	v3[ 1 ] = this.interpolate( pa[ 1 ], pb[ 1 ], pc[ 1 ], pd[ 1 ], weight, w2, w3 );
+	v3[ 2 ] = this.interpolate( pa[ 2 ], pb[ 2 ], pc[ 2 ], pd[ 2 ], weight, w2, w3 );
+
+	return v3;
+
+};
+
+THREE.Animation.prototype.interpolate = function ( p0, p1, p2, p3, t, t2, t3 ) {
+
+	var v0 = ( p2 - p0 ) * 0.5,
+		v1 = ( p3 - p1 ) * 0.5;
+
+	return ( 2 * ( p1 - p2 ) + v0 + v1 ) * t3 + ( - 3 * ( p1 - p2 ) - 2 * v0 - v1 ) * t2 + v0 * t + p1;
+
+};
+
+
+
+// Get next key with
+
+THREE.Animation.prototype.getNextKeyWith = function ( type, h, key ) {
+
+	var keys = this.data.hierarchy[ h ].keys;
+
+	if ( this.interpolationType === THREE.AnimationHandler.CATMULLROM ||
+		 this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD ) {
+
+		key = key < keys.length - 1 ? key : keys.length - 1;
+
+	} else {
+
+		key = key % keys.length;
+
+	}
+
+	for ( ; key < keys.length; key++ ) {
+
+		if ( keys[ key ][ type ] !== undefined ) {
+
+			return keys[ key ];
+
+		}
+
+	}
+
+	return this.data.hierarchy[ h ].keys[ 0 ];
+
+};
+
+// Get previous key with
+
+THREE.Animation.prototype.getPrevKeyWith = function ( type, h, key ) {
+
+	var keys = this.data.hierarchy[ h ].keys;
+
+	if ( this.interpolationType === THREE.AnimationHandler.CATMULLROM ||
+		 this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD ) {
+
+		key = key > 0 ? key : 0;
+
+	} else {
+
+		key = key >= 0 ? key : key + keys.length;
+
+	}
+
+
+	for ( ; key >= 0; key -- ) {
+
+		if ( keys[ key ][ type ] !== undefined ) {
+
+			return keys[ key ];
+
+		}
+
+	}
+
+	return this.data.hierarchy[ h ].keys[ keys.length - 1 ];
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author mrdoob / http://mrdoob.com/
+ * @author alteredq / http://alteredqualia.com/
+ * @author khang duong
+ * @author erik kitson
+ */
+
+THREE.KeyFrameAnimation = function( root, data, JITCompile ) {
+
+	this.root = root;
+	this.data = THREE.AnimationHandler.get( data );
+	this.hierarchy = THREE.AnimationHandler.parse( root );
+	this.currentTime = 0;
+	this.timeScale = 0.001;
+	this.isPlaying = false;
+	this.isPaused = true;
+	this.loop = true;
+	this.JITCompile = JITCompile !== undefined ? JITCompile : true;
+
+	// initialize to first keyframes
+
+	for ( var h = 0, hl = this.hierarchy.length; h < hl; h++ ) {
+
+		var keys = this.data.hierarchy[h].keys,
+			sids = this.data.hierarchy[h].sids,
+			obj = this.hierarchy[h];
+
+		if ( keys.length && sids ) {
+
+			for ( var s = 0; s < sids.length; s++ ) {
+
+				var sid = sids[ s ],
+					next = this.getNextKeyWith( sid, h, 0 );
+
+				if ( next ) {
+
+					next.apply( sid );
+
+				}
+
+			}
+
+			obj.matrixAutoUpdate = false;
+			this.data.hierarchy[h].node.updateMatrix();
+			obj.matrixWorldNeedsUpdate = true;
+
+		}
+
+	}
+
+};
+
+// Play
+
+THREE.KeyFrameAnimation.prototype.play = function( loop, startTimeMS ) {
+
+	if( !this.isPlaying ) {
+
+		this.isPlaying = true;
+		this.loop = loop !== undefined ? loop : true;
+		this.currentTime = startTimeMS !== undefined ? startTimeMS : 0;
+		this.startTimeMs = startTimeMS;
+		this.startTime = 10000000;
+		this.endTime = -this.startTime;
+
+
+		// reset key cache
+
+		var h, hl = this.hierarchy.length,
+			object,
+			node;
+
+		for ( h = 0; h < hl; h++ ) {
+
+			object = this.hierarchy[ h ];
+			node = this.data.hierarchy[ h ];
+			object.useQuaternion = true;
+
+			if ( node.animationCache === undefined ) {
+
+				node.animationCache = {};
+				node.animationCache.prevKey = null;
+				node.animationCache.nextKey = null;
+				node.animationCache.originalMatrix = object instanceof THREE.Bone ? object.skinMatrix : object.matrix;
+
+			}
+
+			var keys = this.data.hierarchy[h].keys;
+
+			if (keys.length) {
+
+				node.animationCache.prevKey = keys[ 0 ];
+				node.animationCache.nextKey = keys[ 1 ];
+
+				this.startTime = Math.min( keys[0].time, this.startTime );
+				this.endTime = Math.max( keys[keys.length - 1].time, this.endTime );
+
+			}
+
+		}
+
+		this.update( 0 );
+
+	}
+
+	this.isPaused = false;
+
+	THREE.AnimationHandler.addToUpdate( this );
+
+};
+
+
+
+// Pause
+
+THREE.KeyFrameAnimation.prototype.pause = function() {
+
+	if( this.isPaused ) {
+
+		THREE.AnimationHandler.addToUpdate( this );
+
+	} else {
+
+		THREE.AnimationHandler.removeFromUpdate( this );
+
+	}
+
+	this.isPaused = !this.isPaused;
+
+};
+
+
+// Stop
+
+THREE.KeyFrameAnimation.prototype.stop = function() {
+
+	this.isPlaying = false;
+	this.isPaused  = false;
+	THREE.AnimationHandler.removeFromUpdate( this );
+
+
+	// reset JIT matrix and remove cache
+
+	for ( var h = 0; h < this.data.hierarchy.length; h++ ) {
+        
+        var obj = this.hierarchy[ h ];
+		var node = this.data.hierarchy[ h ];
+
+		if ( node.animationCache !== undefined ) {
+
+			var original = node.animationCache.originalMatrix;
+
+			if( obj instanceof THREE.Bone ) {
+
+				original.copy( obj.skinMatrix );
+				obj.skinMatrix = original;
+
+			} else {
+
+				original.copy( obj.matrix );
+				obj.matrix = original;
+
+			}
+
+			delete node.animationCache;
+
+		}
+
+	}
+
+};
+
+
+// Update
+
+THREE.KeyFrameAnimation.prototype.update = function( deltaTimeMS ) {
+
+	// early out
+
+	if( !this.isPlaying ) return;
+
+
+	// vars
+
+	var prevKey, nextKey;
+	var object;
+	var node;
+	var frame;
+	var JIThierarchy = this.data.JIT.hierarchy;
+	var currentTime, unloopedCurrentTime;
+	var looped;
+
+
+	// update
+
+	this.currentTime += deltaTimeMS * this.timeScale;
+
+	unloopedCurrentTime = this.currentTime;
+	currentTime         = this.currentTime = this.currentTime % this.data.length;
+
+	// if looped around, the current time should be based on the startTime
+	if ( currentTime < this.startTimeMs ) {
+
+		currentTime = this.currentTime = this.startTimeMs + currentTime;
+
+	}
+
+	frame               = parseInt( Math.min( currentTime * this.data.fps, this.data.length * this.data.fps ), 10 );
+	looped 				= currentTime < unloopedCurrentTime;
+
+	if ( looped && !this.loop ) {
+
+		// Set the animation to the last keyframes and stop
+		for ( var h = 0, hl = this.hierarchy.length; h < hl; h++ ) {
+
+			var keys = this.data.hierarchy[h].keys,
+				sids = this.data.hierarchy[h].sids,
+				end = keys.length-1,
+				obj = this.hierarchy[h];
+
+			if ( keys.length ) {
+
+				for ( var s = 0; s < sids.length; s++ ) {
+
+					var sid = sids[ s ],
+						prev = this.getPrevKeyWith( sid, h, end );
+
+					if ( prev ) {
+						prev.apply( sid );
+
+					}
+
+				}
+
+				this.data.hierarchy[h].node.updateMatrix();
+				obj.matrixWorldNeedsUpdate = true;
+
+			}
+
+		}
+
+		this.stop();
+		return;
+
+	}
+
+	// check pre-infinity
+	if ( currentTime < this.startTime ) {
+
+		return;
+
+	}
+
+	// update
+
+	for ( var h = 0, hl = this.hierarchy.length; h < hl; h++ ) {
+
+		object = this.hierarchy[ h ];
+		node = this.data.hierarchy[ h ];
+
+		var keys = node.keys,
+			animationCache = node.animationCache;
+
+		// use JIT?
+
+		if ( this.JITCompile && JIThierarchy[ h ][ frame ] !== undefined ) {
+
+			if( object instanceof THREE.Bone ) {
+
+				object.skinMatrix = JIThierarchy[ h ][ frame ];
+				object.matrixWorldNeedsUpdate = false;
+
+			} else {
+
+				object.matrix = JIThierarchy[ h ][ frame ];
+				object.matrixWorldNeedsUpdate = true;
+
+			}
+
+		// use interpolation
+
+		} else if ( keys.length ) {
+
+			// make sure so original matrix and not JIT matrix is set
+
+			if ( this.JITCompile && animationCache ) {
+
+				if( object instanceof THREE.Bone ) {
+
+					object.skinMatrix = animationCache.originalMatrix;
+
+				} else {
+
+					object.matrix = animationCache.originalMatrix;
+
+				}
+
+			}
+
+			prevKey = animationCache.prevKey;
+			nextKey = animationCache.nextKey;
+
+			if ( prevKey && nextKey ) {
+
+				// switch keys?
+
+				if ( nextKey.time <= unloopedCurrentTime ) {
+
+					// did we loop?
+
+					if ( looped && this.loop ) {
+
+						prevKey = keys[ 0 ];
+						nextKey = keys[ 1 ];
+
+						while ( nextKey.time < currentTime ) {
+
+							prevKey = nextKey;
+							nextKey = keys[ prevKey.index + 1 ];
+
+						}
+
+					} else if ( !looped ) {
+
+						var lastIndex = keys.length - 1;
+
+						while ( nextKey.time < currentTime && nextKey.index !== lastIndex ) {
+
+							prevKey = nextKey;
+							nextKey = keys[ prevKey.index + 1 ];
+
+						}
+
+					}
+
+					animationCache.prevKey = prevKey;
+					animationCache.nextKey = nextKey;
+
+				}
+                if(nextKey.time >= currentTime)
+                    prevKey.interpolate( nextKey, currentTime );
+                else
+                    prevKey.interpolate( nextKey, nextKey.time);
+
+			}
+
+			this.data.hierarchy[h].node.updateMatrix();
+			object.matrixWorldNeedsUpdate = true;
+
+		}
+
+	}
+
+	// update JIT?
+
+	if ( this.JITCompile ) {
+
+		if ( JIThierarchy[ 0 ][ frame ] === undefined ) {
+
+			this.hierarchy[ 0 ].updateMatrixWorld( true );
+
+			for ( var h = 0; h < this.hierarchy.length; h++ ) {
+
+				if( this.hierarchy[ h ] instanceof THREE.Bone ) {
+
+					JIThierarchy[ h ][ frame ] = this.hierarchy[ h ].skinMatrix.clone();
+
+				} else {
+
+					JIThierarchy[ h ][ frame ] = this.hierarchy[ h ].matrix.clone();
+
+				}
+
+			}
+
+		}
+
+	}
+
+};
+
+// Get next key with
+
+THREE.KeyFrameAnimation.prototype.getNextKeyWith = function( sid, h, key ) {
+
+	var keys = this.data.hierarchy[ h ].keys;
+	key = key % keys.length;
+
+	for ( ; key < keys.length; key++ ) {
+
+		if ( keys[ key ].hasTarget( sid ) ) {
+
+			return keys[ key ];
+
+		}
+
+	}
+
+	return keys[ 0 ];
+
+};
+
+// Get previous key with
+
+THREE.KeyFrameAnimation.prototype.getPrevKeyWith = function( sid, h, key ) {
+
+	var keys = this.data.hierarchy[ h ].keys;
+	key = key >= 0 ? key : key + keys.length;
+
+	for ( ; key >= 0; key-- ) {
+
+		if ( keys[ key ].hasTarget( sid ) ) {
+
+			return keys[ key ];
+
+		}
+
+	}
+
+	return keys[ keys.length - 1 ];
+
+};
+/**
+ * Camera for rendering cube maps
+ *	- renders scene into axis-aligned cube
+ *
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.CubeCamera = function ( near, far, cubeResolution ) {
+
+	THREE.Object3D.call( this );
+
+	var fov = 90, aspect = 1;
+
+	var cameraPX = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraPX.up.set( 0, -1, 0 );
+	cameraPX.lookAt( new THREE.Vector3( 1, 0, 0 ) );
+	this.add( cameraPX );
+
+	var cameraNX = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraNX.up.set( 0, -1, 0 );
+	cameraNX.lookAt( new THREE.Vector3( -1, 0, 0 ) );
+	this.add( cameraNX );
+
+	var cameraPY = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraPY.up.set( 0, 0, 1 );
+	cameraPY.lookAt( new THREE.Vector3( 0, 1, 0 ) );
+	this.add( cameraPY );
+
+	var cameraNY = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraNY.up.set( 0, 0, -1 );
+	cameraNY.lookAt( new THREE.Vector3( 0, -1, 0 ) );
+	this.add( cameraNY );
+
+	var cameraPZ = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraPZ.up.set( 0, -1, 0 );
+	cameraPZ.lookAt( new THREE.Vector3( 0, 0, 1 ) );
+	this.add( cameraPZ );
+
+	var cameraNZ = new THREE.PerspectiveCamera( fov, aspect, near, far );
+	cameraNZ.up.set( 0, -1, 0 );
+	cameraNZ.lookAt( new THREE.Vector3( 0, 0, -1 ) );
+	this.add( cameraNZ );
+
+	this.renderTarget = new THREE.WebGLRenderTargetCube( cubeResolution, cubeResolution, { format: THREE.RGBFormat, magFilter: THREE.LinearFilter, minFilter: THREE.LinearFilter } );
+
+	this.updateCubeMap = function ( renderer, scene ) {
+
+		var renderTarget = this.renderTarget;
+		var generateMipmaps = renderTarget.generateMipmaps;
+
+		renderTarget.generateMipmaps = false;
+
+		renderTarget.activeCubeFace = 0;
+		renderer.render( scene, cameraPX, renderTarget );
+
+		renderTarget.activeCubeFace = 1;
+		renderer.render( scene, cameraNX, renderTarget );
+
+		renderTarget.activeCubeFace = 2;
+		renderer.render( scene, cameraPY, renderTarget );
+
+		renderTarget.activeCubeFace = 3;
+		renderer.render( scene, cameraNY, renderTarget );
+
+		renderTarget.activeCubeFace = 4;
+		renderer.render( scene, cameraPZ, renderTarget );
+
+		renderTarget.generateMipmaps = generateMipmaps;
+
+		renderTarget.activeCubeFace = 5;
+		renderer.render( scene, cameraNZ, renderTarget );
+
+	};
+
+};
+
+THREE.CubeCamera.prototype = Object.create( THREE.Object3D.prototype );
+/*
+ *	@author zz85 / http://twitter.com/blurspline / http://www.lab4games.net/zz85/blog
+ *
+ *	A general perpose camera, for setting FOV, Lens Focal Length,
+ *		and switching between perspective and orthographic views easily.
+ *		Use this only if you do not wish to manage
+ *		both a Orthographic and Perspective Camera
+ *
+ */
+
+
+THREE.CombinedCamera = function ( width, height, fov, near, far, orthoNear, orthoFar ) {
+
+	THREE.Camera.call( this );
+
+	this.fov = fov;
+
+	this.left = -width / 2;
+	this.right = width / 2
+	this.top = height / 2;
+	this.bottom = -height / 2;
+
+	// We could also handle the projectionMatrix internally, but just wanted to test nested camera objects
+
+	this.cameraO = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 	orthoNear, orthoFar );
+	this.cameraP = new THREE.PerspectiveCamera( fov, width / height, near, far );
+
+	this.zoom = 1;
+
+	this.toPerspective();
+
+	var aspect = width/height;
+
+};
+
+THREE.CombinedCamera.prototype = Object.create( THREE.Camera.prototype );
+
+THREE.CombinedCamera.prototype.toPerspective = function () {
+
+	// Switches to the Perspective Camera
+
+	this.near = this.cameraP.near;
+	this.far = this.cameraP.far;
+
+	this.cameraP.fov =  this.fov / this.zoom ;
+
+	this.cameraP.updateProjectionMatrix();
+
+	this.projectionMatrix = this.cameraP.projectionMatrix;
+
+	this.inPerspectiveMode = true;
+	this.inOrthographicMode = false;
+
+};
+
+THREE.CombinedCamera.prototype.toOrthographic = function () {
+
+	// Switches to the Orthographic camera estimating viewport from Perspective
+
+	var fov = this.fov;
+	var aspect = this.cameraP.aspect;
+	var near = this.cameraP.near;
+	var far = this.cameraP.far;
+
+	// The size that we set is the mid plane of the viewing frustum
+
+	var hyperfocus = ( near + far ) / 2;
+
+	var halfHeight = Math.tan( fov / 2 ) * hyperfocus;
+	var planeHeight = 2 * halfHeight;
+	var planeWidth = planeHeight * aspect;
+	var halfWidth = planeWidth / 2;
+
+	halfHeight /= this.zoom;
+	halfWidth /= this.zoom;
+
+	this.cameraO.left = -halfWidth;
+	this.cameraO.right = halfWidth;
+	this.cameraO.top = halfHeight;
+	this.cameraO.bottom = -halfHeight;
+
+	// this.cameraO.left = -farHalfWidth;
+	// this.cameraO.right = farHalfWidth;
+	// this.cameraO.top = farHalfHeight;
+	// this.cameraO.bottom = -farHalfHeight;
+
+	// this.cameraO.left = this.left / this.zoom;
+	// this.cameraO.right = this.right / this.zoom;
+	// this.cameraO.top = this.top / this.zoom;
+	// this.cameraO.bottom = this.bottom / this.zoom;
+
+	this.cameraO.updateProjectionMatrix();
+
+	this.near = this.cameraO.near;
+	this.far = this.cameraO.far;
+	this.projectionMatrix = this.cameraO.projectionMatrix;
+
+	this.inPerspectiveMode = false;
+	this.inOrthographicMode = true;
+
+};
+
+
+THREE.CombinedCamera.prototype.setSize = function( width, height ) {
+
+	this.cameraP.aspect = width / height;
+	this.left = -width / 2;
+	this.right = width / 2
+	this.top = height / 2;
+	this.bottom = -height / 2;
+
+};
+
+
+THREE.CombinedCamera.prototype.setFov = function( fov ) {
+
+	this.fov = fov;
+
+	if ( this.inPerspectiveMode ) {
+
+		this.toPerspective();
+
+	} else {
+
+		this.toOrthographic();
+
+	}
+
+};
+
+// For mantaining similar API with PerspectiveCamera
+
+THREE.CombinedCamera.prototype.updateProjectionMatrix = function() {
+
+	if ( this.inPerspectiveMode ) {
+
+		this.toPerspective();
+
+	} else {
+
+		this.toPerspective();
+		this.toOrthographic();
+
+	}
+
+};
+
+/*
+* Uses Focal Length (in mm) to estimate and set FOV
+* 35mm (fullframe) camera is used if frame size is not specified;
+* Formula based on http://www.bobatkins.com/photography/technical/field_of_view.html
+*/
+THREE.CombinedCamera.prototype.setLens = function ( focalLength, frameHeight ) {
+
+	if ( frameHeight === undefined ) frameHeight = 24;
+
+	var fov = 2 * THREE.Math.radToDeg( Math.atan( frameHeight / ( focalLength * 2 ) ) );
+
+	this.setFov( fov );
+
+	return fov;
+};
+
+
+THREE.CombinedCamera.prototype.setZoom = function( zoom ) {
+
+	this.zoom = zoom;
+
+	if ( this.inPerspectiveMode ) {
+
+		this.toPerspective();
+
+	} else {
+
+		this.toOrthographic();
+
+	}
+
+};
+
+THREE.CombinedCamera.prototype.toFrontView = function() {
+
+	this.rotation.x = 0;
+	this.rotation.y = 0;
+	this.rotation.z = 0;
+
+	// should we be modifing the matrix instead?
+
+	this.rotationAutoUpdate = false;
+
+};
+
+THREE.CombinedCamera.prototype.toBackView = function() {
+
+	this.rotation.x = 0;
+	this.rotation.y = Math.PI;
+	this.rotation.z = 0;
+	this.rotationAutoUpdate = false;
+
+};
+
+THREE.CombinedCamera.prototype.toLeftView = function() {
+
+	this.rotation.x = 0;
+	this.rotation.y = - Math.PI / 2;
+	this.rotation.z = 0;
+	this.rotationAutoUpdate = false;
+
+};
+
+THREE.CombinedCamera.prototype.toRightView = function() {
+
+	this.rotation.x = 0;
+	this.rotation.y = Math.PI / 2;
+	this.rotation.z = 0;
+	this.rotationAutoUpdate = false;
+
+};
+
+THREE.CombinedCamera.prototype.toTopView = function() {
+
+	this.rotation.x = - Math.PI / 2;
+	this.rotation.y = 0;
+	this.rotation.z = 0;
+	this.rotationAutoUpdate = false;
+
+};
+
+THREE.CombinedCamera.prototype.toBottomView = function() {
+
+	this.rotation.x = Math.PI / 2;
+	this.rotation.y = 0;
+	this.rotation.z = 0;
+	this.rotationAutoUpdate = false;
+
+};
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- 3d asterisk shape (for line pieces THREE.Line)
+ */
+
+THREE.AsteriskGeometry = function ( innerRadius, outerRadius ) {
+
+	THREE.Geometry.call( this );
+
+	var sd = innerRadius;
+	var ed = outerRadius;
+
+	var sd2 = 0.707 * sd;
+	var ed2 = 0.707 * ed;
+
+	var rays = [ [ sd, 0, 0 ], [ ed, 0, 0 ], [ -sd, 0, 0 ], [ -ed, 0, 0 ],
+				 [ 0, sd, 0 ], [ 0, ed, 0 ], [ 0, -sd, 0 ], [ 0, -ed, 0 ],
+				 [ 0, 0, sd ], [ 0, 0, ed ], [ 0, 0, -sd ], [ 0, 0, -ed ],
+				 [ sd2, sd2, 0 ], [ ed2, ed2, 0 ], [ -sd2, -sd2, 0 ], [ -ed2, -ed2, 0 ],
+				 [ sd2, -sd2, 0 ], [ ed2, -ed2, 0 ], [ -sd2, sd2, 0 ], [ -ed2, ed2, 0 ],
+				 [ sd2, 0, sd2 ], [ ed2, 0, ed2 ], [ -sd2, 0, -sd2 ], [ -ed2, 0, -ed2 ],
+				 [ sd2, 0, -sd2 ], [ ed2, 0, -ed2 ], [ -sd2, 0, sd2 ], [ -ed2, 0, ed2 ],
+				 [ 0, sd2, sd2 ], [ 0, ed2, ed2 ], [ 0, -sd2, -sd2 ], [ 0, -ed2, -ed2 ],
+				 [ 0, sd2, -sd2 ], [ 0, ed2, -ed2 ], [ 0, -sd2, sd2 ], [ 0, -ed2, ed2 ]
+	];
+
+	for ( var i = 0, il = rays.length; i < il; i ++ ) {
+
+		var x = rays[ i ][ 0 ];
+		var y = rays[ i ][ 1 ];
+		var z = rays[ i ][ 2 ];
+
+		this.vertices.push( new THREE.Vector3( x, y, z ) );
+
+	}
+
+};
+
+THREE.AsteriskGeometry.prototype = Object.create( THREE.Geometry.prototype );/**
+ * @author hughes
+ */
+
+THREE.CircleGeometry = function ( radius, segments, thetaStart, thetaLength ) {
+
+    THREE.Geometry.call( this );
+
+    radius = radius || 50;
+
+    thetaStart = thetaStart !== undefined ? thetaStart : 0;
+    thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2;
+    segments = segments !== undefined ? Math.max( 3, segments ) : 8;
+
+    var i, uvs = [],
+    center = new THREE.Vector3(), centerUV = new THREE.Vector2( 0.5, 0.5 );
+
+    this.vertices.push(center);
+    uvs.push( centerUV );
+
+    for ( i = 0; i <= segments; i ++ ) {
+
+        var vertex = new THREE.Vector3();
+
+        vertex.x = radius * Math.cos( thetaStart + i / segments * thetaLength );
+        vertex.y = radius * Math.sin( thetaStart + i / segments * thetaLength );
+
+        this.vertices.push( vertex );
+        uvs.push( new THREE.Vector2( ( vertex.x / radius + 1 ) / 2, - ( vertex.y / radius + 1 ) / 2 + 1 ) );
+
+    }
+
+    var n = new THREE.Vector3( 0, 0, -1 );
+
+    for ( i = 1; i <= segments; i ++ ) {
+
+        var v1 = i;
+        var v2 = i + 1 ;
+        var v3 = 0;
+
+        this.faces.push( new THREE.Face3( v1, v2, v3, [ n, n, n ] ) );
+        this.faceVertexUvs[ 0 ].push( [ uvs[ i ], uvs[ i + 1 ], centerUV ] );
+
+    }
+
+    this.computeCentroids();
+    this.computeFaceNormals();
+
+    this.boundingSphere = new THREE.Sphere( new THREE.Vector3(), radius );
+
+};
+
+THREE.CircleGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Cube.as
+ */
+
+THREE.CubeGeometry = function ( width, height, depth, widthSegments, heightSegments, depthSegments ) {
+
+	THREE.Geometry.call( this );
+
+	var scope = this;
+
+	this.width = width;
+	this.height = height;
+	this.depth = depth;
+
+	this.widthSegments = widthSegments || 1;
+	this.heightSegments = heightSegments || 1;
+	this.depthSegments = depthSegments || 1;
+
+	var width_half = this.width / 2;
+	var height_half = this.height / 2;
+	var depth_half = this.depth / 2;
+
+	buildPlane( 'z', 'y', - 1, - 1, this.depth, this.height, width_half, 0 ); // px
+	buildPlane( 'z', 'y',   1, - 1, this.depth, this.height, - width_half, 1 ); // nx
+	buildPlane( 'x', 'z',   1,   1, this.width, this.depth, height_half, 2 ); // py
+	buildPlane( 'x', 'z',   1, - 1, this.width, this.depth, - height_half, 3 ); // ny
+	buildPlane( 'x', 'y',   1, - 1, this.width, this.height, depth_half, 4 ); // pz
+	buildPlane( 'x', 'y', - 1, - 1, this.width, this.height, - depth_half, 5 ); // nz
+
+	function buildPlane( u, v, udir, vdir, width, height, depth, materialIndex ) {
+
+		var w, ix, iy,
+		gridX = scope.widthSegments,
+		gridY = scope.heightSegments,
+		width_half = width / 2,
+		height_half = height / 2,
+		offset = scope.vertices.length;
+
+		if ( ( u === 'x' && v === 'y' ) || ( u === 'y' && v === 'x' ) ) {
+
+			w = 'z';
+
+		} else if ( ( u === 'x' && v === 'z' ) || ( u === 'z' && v === 'x' ) ) {
+
+			w = 'y';
+			gridY = scope.depthSegments;
+
+		} else if ( ( u === 'z' && v === 'y' ) || ( u === 'y' && v === 'z' ) ) {
+
+			w = 'x';
+			gridX = scope.depthSegments;
+
+		}
+
+		var gridX1 = gridX + 1,
+		gridY1 = gridY + 1,
+		segment_width = width / gridX,
+		segment_height = height / gridY,
+		normal = new THREE.Vector3();
+
+		normal[ w ] = depth > 0 ? 1 : - 1;
+
+		for ( iy = 0; iy < gridY1; iy ++ ) {
+
+			for ( ix = 0; ix < gridX1; ix ++ ) {
+
+				var vector = new THREE.Vector3();
+				vector[ u ] = ( ix * segment_width - width_half ) * udir;
+				vector[ v ] = ( iy * segment_height - height_half ) * vdir;
+				vector[ w ] = depth;
+
+				scope.vertices.push( vector );
+
+			}
+
+		}
+
+		for ( iy = 0; iy < gridY; iy++ ) {
+
+			for ( ix = 0; ix < gridX; ix++ ) {
+
+				var a = ix + gridX1 * iy;
+				var b = ix + gridX1 * ( iy + 1 );
+				var c = ( ix + 1 ) + gridX1 * ( iy + 1 );
+				var d = ( ix + 1 ) + gridX1 * iy;
+
+				var face = new THREE.Face4( a + offset, b + offset, c + offset, d + offset );
+				face.normal.copy( normal );
+				face.vertexNormals.push( normal.clone(), normal.clone(), normal.clone(), normal.clone() );
+				face.materialIndex = materialIndex;
+
+				scope.faces.push( face );
+				scope.faceVertexUvs[ 0 ].push( [
+							new THREE.Vector2( ix / gridX, 1 - iy / gridY ),
+							new THREE.Vector2( ix / gridX, 1 - ( iy + 1 ) / gridY ),
+							new THREE.Vector2( ( ix + 1 ) / gridX, 1- ( iy + 1 ) / gridY ),
+							new THREE.Vector2( ( ix + 1 ) / gridX, 1 - iy / gridY )
+						] );
+
+			}
+
+		}
+
+	}
+
+	this.computeCentroids();
+	this.mergeVertices();
+
+};
+
+THREE.CubeGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.CylinderGeometry = function ( radiusTop, radiusBottom, height, radiusSegments, heightSegments, openEnded ) {
+
+	THREE.Geometry.call( this );
+
+	radiusTop = radiusTop !== undefined ? radiusTop : 20;
+	radiusBottom = radiusBottom !== undefined ? radiusBottom : 20;
+	height = height !== undefined ? height : 100;
+
+	var heightHalf = height / 2;
+	var segmentsX = radiusSegments || 8;
+	var segmentsY = heightSegments || 1;
+
+	var x, y, vertices = [], uvs = [];
+
+	for ( y = 0; y <= segmentsY; y ++ ) {
+
+		var verticesRow = [];
+		var uvsRow = [];
+
+		var v = y / segmentsY;
+		var radius = v * ( radiusBottom - radiusTop ) + radiusTop;
+
+		for ( x = 0; x <= segmentsX; x ++ ) {
+
+			var u = x / segmentsX;
+
+			var vertex = new THREE.Vector3();
+			vertex.x = radius * Math.sin( u * Math.PI * 2 );
+			vertex.y = - v * height + heightHalf;
+			vertex.z = radius * Math.cos( u * Math.PI * 2 );
+
+			this.vertices.push( vertex );
+
+			verticesRow.push( this.vertices.length - 1 );
+			uvsRow.push( new THREE.Vector2( u, 1 - v ) );
+
+		}
+
+		vertices.push( verticesRow );
+		uvs.push( uvsRow );
+
+	}
+
+	var tanTheta = ( radiusBottom - radiusTop ) / height;
+	var na, nb;
+
+	for ( x = 0; x < segmentsX; x ++ ) {
+
+		if ( radiusTop !== 0 ) {
+
+			na = this.vertices[ vertices[ 0 ][ x ] ].clone();
+			nb = this.vertices[ vertices[ 0 ][ x + 1 ] ].clone();
+
+		} else {
+
+			na = this.vertices[ vertices[ 1 ][ x ] ].clone();
+			nb = this.vertices[ vertices[ 1 ][ x + 1 ] ].clone();
+
+		}
+
+		na.setY( Math.sqrt( na.x * na.x + na.z * na.z ) * tanTheta ).normalize();
+		nb.setY( Math.sqrt( nb.x * nb.x + nb.z * nb.z ) * tanTheta ).normalize();
+
+		for ( y = 0; y < segmentsY; y ++ ) {
+
+			var v1 = vertices[ y ][ x ];
+			var v2 = vertices[ y + 1 ][ x ];
+			var v3 = vertices[ y + 1 ][ x + 1 ];
+			var v4 = vertices[ y ][ x + 1 ];
+
+			var n1 = na.clone();
+			var n2 = na.clone();
+			var n3 = nb.clone();
+			var n4 = nb.clone();
+
+			var uv1 = uvs[ y ][ x ].clone();
+			var uv2 = uvs[ y + 1 ][ x ].clone();
+			var uv3 = uvs[ y + 1 ][ x + 1 ].clone();
+			var uv4 = uvs[ y ][ x + 1 ].clone();
+
+			this.faces.push( new THREE.Face4( v1, v2, v3, v4, [ n1, n2, n3, n4 ] ) );
+			this.faceVertexUvs[ 0 ].push( [ uv1, uv2, uv3, uv4 ] );
+
+		}
+
+	}
+
+	// top cap
+
+	if ( !openEnded && radiusTop > 0 ) {
+
+		this.vertices.push( new THREE.Vector3( 0, heightHalf, 0 ) );
+
+		for ( x = 0; x < segmentsX; x ++ ) {
+
+			var v1 = vertices[ 0 ][ x ];
+			var v2 = vertices[ 0 ][ x + 1 ];
+			var v3 = this.vertices.length - 1;
+
+			var n1 = new THREE.Vector3( 0, 1, 0 );
+			var n2 = new THREE.Vector3( 0, 1, 0 );
+			var n3 = new THREE.Vector3( 0, 1, 0 );
+
+			var uv1 = uvs[ 0 ][ x ].clone();
+			var uv2 = uvs[ 0 ][ x + 1 ].clone();
+			var uv3 = new THREE.Vector2( uv2.u, 0 );
+
+			this.faces.push( new THREE.Face3( v1, v2, v3, [ n1, n2, n3 ] ) );
+			this.faceVertexUvs[ 0 ].push( [ uv1, uv2, uv3 ] );
+
+		}
+
+	}
+
+	// bottom cap
+
+	if ( !openEnded && radiusBottom > 0 ) {
+
+		this.vertices.push( new THREE.Vector3( 0, - heightHalf, 0 ) );
+
+		for ( x = 0; x < segmentsX; x ++ ) {
+
+			var v1 = vertices[ y ][ x + 1 ];
+			var v2 = vertices[ y ][ x ];
+			var v3 = this.vertices.length - 1;
+
+			var n1 = new THREE.Vector3( 0, - 1, 0 );
+			var n2 = new THREE.Vector3( 0, - 1, 0 );
+			var n3 = new THREE.Vector3( 0, - 1, 0 );
+
+			var uv1 = uvs[ y ][ x + 1 ].clone();
+			var uv2 = uvs[ y ][ x ].clone();
+			var uv3 = new THREE.Vector2( uv2.u, 1 );
+
+			this.faces.push( new THREE.Face3( v1, v2, v3, [ n1, n2, n3 ] ) );
+			this.faceVertexUvs[ 0 ].push( [ uv1, uv2, uv3 ] );
+
+		}
+
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+
+}
+
+THREE.CylinderGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ *
+ * Creates extruded geometry from a path shape.
+ *
+ * parameters = {
+ *
+ *  size: <float>, // size of the text
+ *  height: <float>, // thickness to extrude text
+ *  curveSegments: <int>, // number of points on the curves
+ *  steps: <int>, // number of points for z-side extrusions / used for subdividing segements of extrude spline too
+ *  amount: <int>, // Amount
+ *
+ *  bevelEnabled: <bool>, // turn on bevel
+ *  bevelThickness: <float>, // how deep into text bevel goes
+ *  bevelSize: <float>, // how far from text outline is bevel
+ *  bevelSegments: <int>, // number of bevel layers
+ *
+ *  extrudePath: <THREE.CurvePath> // 3d spline path to extrude shape along. (creates Frames if .frames aren't defined)
+ *  frames: <THREE.TubeGeometry.FrenetFrames> // containing arrays of tangents, normals, binormals
+ *
+ *  material: <int> // material index for front and back faces
+ *  extrudeMaterial: <int> // material index for extrusion and beveled faces
+ *  uvGenerator: <Object> // object that provides UV generator functions
+ *
+ * }
+ **/
+
+THREE.ExtrudeGeometry = function ( shapes, options ) {
+
+	if ( typeof( shapes ) === "undefined" ) {
+		shapes = [];
+		return;
+	}
+
+	THREE.Geometry.call( this );
+
+	shapes = shapes instanceof Array ? shapes : [ shapes ];
+
+	this.shapebb = shapes[ shapes.length - 1 ].getBoundingBox();
+
+	this.addShapeList( shapes, options );
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+
+	// can't really use automatic vertex normals
+	// as then front and back sides get smoothed too
+	// should do separate smoothing just for sides
+
+	//this.computeVertexNormals();
+
+	//console.log( "took", ( Date.now() - startTime ) );
+
+};
+
+THREE.ExtrudeGeometry.prototype = Object.create( THREE.Geometry.prototype );
+
+THREE.ExtrudeGeometry.prototype.addShapeList = function ( shapes, options ) {
+	var sl = shapes.length;
+
+	for ( var s = 0; s < sl; s ++ ) {
+		var shape = shapes[ s ];
+		this.addShape( shape, options );
+	}
+};
+
+THREE.ExtrudeGeometry.prototype.addShape = function ( shape, options ) {
+
+	var amount = options.amount !== undefined ? options.amount : 100;
+
+	var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6; // 10
+	var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2; // 8
+	var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3;
+
+	var bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; // false
+
+	var curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12;
+
+	var steps = options.steps !== undefined ? options.steps : 1;
+
+	var extrudePath = options.extrudePath;
+	var extrudePts, extrudeByPath = false;
+
+	var material = options.material;
+	var extrudeMaterial = options.extrudeMaterial;
+
+	// Use default WorldUVGenerator if no UV generators are specified.
+	var uvgen = options.UVGenerator !== undefined ? options.UVGenerator : THREE.ExtrudeGeometry.WorldUVGenerator;
+
+	var shapebb = this.shapebb;
+	//shapebb = shape.getBoundingBox();
+
+
+
+	var splineTube, binormal, normal, position2;
+	if ( extrudePath ) {
+
+		extrudePts = extrudePath.getSpacedPoints( steps );
+
+		extrudeByPath = true;
+		bevelEnabled = false; // bevels not supported for path extrusion
+
+		// SETUP TNB variables
+
+		// Reuse TNB from TubeGeomtry for now.
+		// TODO1 - have a .isClosed in spline?
+
+		splineTube = options.frames !== undefined ? options.frames : new THREE.TubeGeometry.FrenetFrames(extrudePath, steps, false);
+
+		// console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length);
+
+		binormal = new THREE.Vector3();
+		normal = new THREE.Vector3();
+		position2 = new THREE.Vector3();
+
+	}
+
+	// Safeguards if bevels are not enabled
+
+	if ( ! bevelEnabled ) {
+
+		bevelSegments = 0;
+		bevelThickness = 0;
+		bevelSize = 0;
+
+	}
+
+	// Variables initalization
+
+	var ahole, h, hl; // looping of holes
+	var scope = this;
+	var bevelPoints = [];
+
+	var shapesOffset = this.vertices.length;
+
+	var shapePoints = shape.extractPoints( curveSegments );
+
+	var vertices = shapePoints.shape;
+	var holes = shapePoints.holes;
+
+	var reverse = !THREE.Shape.Utils.isClockWise( vertices ) ;
+
+	if ( reverse ) {
+
+		vertices = vertices.reverse();
+
+		// Maybe we should also check if holes are in the opposite direction, just to be safe ...
+
+		for ( h = 0, hl = holes.length; h < hl; h ++ ) {
+
+			ahole = holes[ h ];
+
+			if ( THREE.Shape.Utils.isClockWise( ahole ) ) {
+
+				holes[ h ] = ahole.reverse();
+
+			}
+
+		}
+
+		reverse = false; // If vertices are in order now, we shouldn't need to worry about them again (hopefully)!
+
+	}
+
+
+	var faces = THREE.Shape.Utils.triangulateShape ( vertices, holes );
+
+	/* Vertices */
+
+	var contour = vertices; // vertices has all points but contour has only points of circumference
+
+	for ( h = 0, hl = holes.length;  h < hl; h ++ ) {
+
+		ahole = holes[ h ];
+
+		vertices = vertices.concat( ahole );
+
+	}
+
+
+	function scalePt2 ( pt, vec, size ) {
+
+		if ( !vec ) console.log( "die" );
+
+		return vec.clone().multiplyScalar( size ).add( pt );
+
+	}
+
+	var b, bs, t, z,
+		vert, vlen = vertices.length,
+		face, flen = faces.length,
+		cont, clen = contour.length;
+
+
+	// Find directions for point movement
+
+	var RAD_TO_DEGREES = 180 / Math.PI;
+
+
+	function getBevelVec( pt_i, pt_j, pt_k ) {
+
+		// Algorithm 2
+
+		return getBevelVec2( pt_i, pt_j, pt_k );
+
+	}
+
+	function getBevelVec1( pt_i, pt_j, pt_k ) {
+
+		var anglea = Math.atan2( pt_j.y - pt_i.y, pt_j.x - pt_i.x );
+		var angleb = Math.atan2( pt_k.y - pt_i.y, pt_k.x - pt_i.x );
+
+		if ( anglea > angleb ) {
+
+			angleb += Math.PI * 2;
+
+		}
+
+		var anglec = ( anglea + angleb ) / 2;
+
+
+		//console.log('angle1', anglea * RAD_TO_DEGREES,'angle2', angleb * RAD_TO_DEGREES, 'anglec', anglec *RAD_TO_DEGREES);
+
+		var x = - Math.cos( anglec );
+		var y = - Math.sin( anglec );
+
+		var vec = new THREE.Vector2( x, y ); //.normalize();
+
+		return vec;
+
+	}
+
+	function getBevelVec2( pt_i, pt_j, pt_k ) {
+
+		var a = THREE.ExtrudeGeometry.__v1,
+			b = THREE.ExtrudeGeometry.__v2,
+			v_hat = THREE.ExtrudeGeometry.__v3,
+			w_hat = THREE.ExtrudeGeometry.__v4,
+			p = THREE.ExtrudeGeometry.__v5,
+			q = THREE.ExtrudeGeometry.__v6,
+			v, w,
+			v_dot_w_hat, q_sub_p_dot_w_hat,
+			s, intersection;
+
+		// good reading for line-line intersection
+		// http://sputsoft.com/blog/2010/03/line-line-intersection.html
+
+		// define a as vector j->i
+		// define b as vectot k->i
+
+		a.set( pt_i.x - pt_j.x, pt_i.y - pt_j.y );
+		b.set( pt_i.x - pt_k.x, pt_i.y - pt_k.y );
+
+		// get unit vectors
+
+		v = a.normalize();
+		w = b.normalize();
+
+		// normals from pt i
+
+		v_hat.set( -v.y, v.x );
+		w_hat.set( w.y, -w.x );
+
+		// pts from i
+
+		p.copy( pt_i ).add( v_hat );
+		q.copy( pt_i ).add( w_hat );
+
+		if ( p.equals( q ) ) {
+
+			//console.log("Warning: lines are straight");
+			return w_hat.clone();
+
+		}
+
+		// Points from j, k. helps prevents points cross overover most of the time
+
+		p.copy( pt_j ).add( v_hat );
+		q.copy( pt_k ).add( w_hat );
+
+		v_dot_w_hat = v.dot( w_hat );
+		q_sub_p_dot_w_hat = q.sub( p ).dot( w_hat );
+
+		// We should not reach these conditions
+
+		if ( v_dot_w_hat === 0 ) {
+
+			console.log( "Either infinite or no solutions!" );
+
+			if ( q_sub_p_dot_w_hat === 0 ) {
+
+				console.log( "Its finite solutions." );
+
+			} else {
+
+				console.log( "Too bad, no solutions." );
+
+			}
+
+		}
+
+		s = q_sub_p_dot_w_hat / v_dot_w_hat;
+
+		if ( s < 0 ) {
+
+			// in case of emergecy, revert to algorithm 1.
+
+			return getBevelVec1( pt_i, pt_j, pt_k );
+
+		}
+
+		intersection = v.multiplyScalar( s ).add( p );
+
+		return intersection.sub( pt_i ).clone(); // Don't normalize!, otherwise sharp corners become ugly
+
+	}
+
+	var contourMovements = [];
+
+	for ( var i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) {
+
+		if ( j === il ) j = 0;
+		if ( k === il ) k = 0;
+
+		//  (j)---(i)---(k)
+		// console.log('i,j,k', i, j , k)
+
+		var pt_i = contour[ i ];
+		var pt_j = contour[ j ];
+		var pt_k = contour[ k ];
+
+		contourMovements[ i ]= getBevelVec( contour[ i ], contour[ j ], contour[ k ] );
+
+	}
+
+	var holesMovements = [], oneHoleMovements, verticesMovements = contourMovements.concat();
+
+	for ( h = 0, hl = holes.length; h < hl; h ++ ) {
+
+		ahole = holes[ h ];
+
+		oneHoleMovements = [];
+
+		for ( i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) {
+
+			if ( j === il ) j = 0;
+			if ( k === il ) k = 0;
+
+			//  (j)---(i)---(k)
+			oneHoleMovements[ i ]= getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] );
+
+		}
+
+		holesMovements.push( oneHoleMovements );
+		verticesMovements = verticesMovements.concat( oneHoleMovements );
+
+	}
+
+
+	// Loop bevelSegments, 1 for the front, 1 for the back
+
+	for ( b = 0; b < bevelSegments; b ++ ) {
+	//for ( b = bevelSegments; b > 0; b -- ) {
+
+		t = b / bevelSegments;
+		z = bevelThickness * ( 1 - t );
+
+		//z = bevelThickness * t;
+		bs = bevelSize * ( Math.sin ( t * Math.PI/2 ) ) ; // curved
+		//bs = bevelSize * t ; // linear
+
+		// contract shape
+
+		for ( i = 0, il = contour.length; i < il; i ++ ) {
+
+			vert = scalePt2( contour[ i ], contourMovements[ i ], bs );
+			//vert = scalePt( contour[ i ], contourCentroid, bs, false );
+			v( vert.x, vert.y,  - z );
+
+		}
+
+		// expand holes
+
+		for ( h = 0, hl = holes.length; h < hl; h++ ) {
+
+			ahole = holes[ h ];
+			oneHoleMovements = holesMovements[ h ];
+
+			for ( i = 0, il = ahole.length; i < il; i++ ) {
+
+				vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs );
+				//vert = scalePt( ahole[ i ], holesCentroids[ h ], bs, true );
+
+				v( vert.x, vert.y,  -z );
+
+			}
+
+		}
+
+	}
+
+	bs = bevelSize;
+
+	// Back facing vertices
+
+	for ( i = 0; i < vlen; i ++ ) {
+
+		vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ];
+
+		if ( !extrudeByPath ) {
+
+			v( vert.x, vert.y, 0 );
+
+		} else {
+
+			// v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x );
+
+			normal.copy( splineTube.normals[0] ).multiplyScalar(vert.x);
+			binormal.copy( splineTube.binormals[0] ).multiplyScalar(vert.y);
+
+			position2.copy( extrudePts[0] ).add(normal).add(binormal);
+
+			v( position2.x, position2.y, position2.z );
+
+		}
+
+	}
+
+	// Add stepped vertices...
+	// Including front facing vertices
+
+	var s;
+
+	for ( s = 1; s <= steps; s ++ ) {
+
+		for ( i = 0; i < vlen; i ++ ) {
+
+			vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ];
+
+			if ( !extrudeByPath ) {
+
+				v( vert.x, vert.y, amount / steps * s );
+
+			} else {
+
+				// v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x );
+
+				normal.copy( splineTube.normals[s] ).multiplyScalar( vert.x );
+				binormal.copy( splineTube.binormals[s] ).multiplyScalar( vert.y );
+
+				position2.copy( extrudePts[s] ).add( normal ).add( binormal );
+
+				v( position2.x, position2.y, position2.z );
+
+			}
+
+		}
+
+	}
+
+
+	// Add bevel segments planes
+
+	//for ( b = 1; b <= bevelSegments; b ++ ) {
+	for ( b = bevelSegments - 1; b >= 0; b -- ) {
+
+		t = b / bevelSegments;
+		z = bevelThickness * ( 1 - t );
+		//bs = bevelSize * ( 1-Math.sin ( ( 1 - t ) * Math.PI/2 ) );
+		bs = bevelSize * Math.sin ( t * Math.PI/2 ) ;
+
+		// contract shape
+
+		for ( i = 0, il = contour.length; i < il; i ++ ) {
+
+			vert = scalePt2( contour[ i ], contourMovements[ i ], bs );
+			v( vert.x, vert.y,  amount + z );
+
+		}
+
+		// expand holes
+
+		for ( h = 0, hl = holes.length; h < hl; h ++ ) {
+
+			ahole = holes[ h ];
+			oneHoleMovements = holesMovements[ h ];
+
+			for ( i = 0, il = ahole.length; i < il; i ++ ) {
+
+				vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs );
+
+				if ( !extrudeByPath ) {
+
+					v( vert.x, vert.y,  amount + z );
+
+				} else {
+
+					v( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z );
+
+				}
+
+			}
+
+		}
+
+	}
+
+	/* Faces */
+
+	// Top and bottom faces
+
+	buildLidFaces();
+
+	// Sides faces
+
+	buildSideFaces();
+
+
+	/////  Internal functions
+
+	function buildLidFaces() {
+
+		if ( bevelEnabled ) {
+
+			var layer = 0 ; // steps + 1
+			var offset = vlen * layer;
+
+			// Bottom faces
+
+			for ( i = 0; i < flen; i ++ ) {
+
+				face = faces[ i ];
+				f3( face[ 2 ]+ offset, face[ 1 ]+ offset, face[ 0 ] + offset, true );
+
+			}
+
+			layer = steps + bevelSegments * 2;
+			offset = vlen * layer;
+
+			// Top faces
+
+			for ( i = 0; i < flen; i ++ ) {
+
+				face = faces[ i ];
+				f3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset, false );
+
+			}
+
+		} else {
+
+			// Bottom faces
+
+			for ( i = 0; i < flen; i++ ) {
+
+				face = faces[ i ];
+				f3( face[ 2 ], face[ 1 ], face[ 0 ], true );
+
+			}
+
+			// Top faces
+
+			for ( i = 0; i < flen; i ++ ) {
+
+				face = faces[ i ];
+				f3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps, false );
+
+			}
+		}
+
+	}
+
+	// Create faces for the z-sides of the shape
+
+	function buildSideFaces() {
+
+		var layeroffset = 0;
+		sidewalls( contour, layeroffset );
+		layeroffset += contour.length;
+
+		for ( h = 0, hl = holes.length;  h < hl; h ++ ) {
+
+			ahole = holes[ h ];
+			sidewalls( ahole, layeroffset );
+
+			//, true
+			layeroffset += ahole.length;
+
+		}
+
+	}
+
+	function sidewalls( contour, layeroffset ) {
+
+		var j, k;
+		i = contour.length;
+
+		while ( --i >= 0 ) {
+
+			j = i;
+			k = i - 1;
+			if ( k < 0 ) k = contour.length - 1;
+
+			//console.log('b', i,j, i-1, k,vertices.length);
+
+			var s = 0, sl = steps  + bevelSegments * 2;
+
+			for ( s = 0; s < sl; s ++ ) {
+
+				var slen1 = vlen * s;
+				var slen2 = vlen * ( s + 1 );
+
+				var a = layeroffset + j + slen1,
+					b = layeroffset + k + slen1,
+					c = layeroffset + k + slen2,
+					d = layeroffset + j + slen2;
+
+				f4( a, b, c, d, contour, s, sl, j, k );
+
+			}
+		}
+
+	}
+
+
+	function v( x, y, z ) {
+
+		scope.vertices.push( new THREE.Vector3( x, y, z ) );
+
+	}
+
+	function f3( a, b, c, isBottom ) {
+
+		a += shapesOffset;
+		b += shapesOffset;
+		c += shapesOffset;
+
+		// normal, color, material
+		scope.faces.push( new THREE.Face3( a, b, c, null, null, material ) );
+
+		var uvs = isBottom ? uvgen.generateBottomUV( scope, shape, options, a, b, c ) : uvgen.generateTopUV( scope, shape, options, a, b, c );
+
+ 		scope.faceVertexUvs[ 0 ].push( uvs );
+
+	}
+
+	function f4( a, b, c, d, wallContour, stepIndex, stepsLength, contourIndex1, contourIndex2 ) {
+
+		a += shapesOffset;
+		b += shapesOffset;
+		c += shapesOffset;
+		d += shapesOffset;
+
+ 		scope.faces.push( new THREE.Face4( a, b, c, d, null, null, extrudeMaterial ) );
+
+ 		var uvs = uvgen.generateSideWallUV( scope, shape, wallContour, options, a, b, c, d,
+ 		                                    stepIndex, stepsLength, contourIndex1, contourIndex2 );
+ 		scope.faceVertexUvs[ 0 ].push( uvs );
+
+	}
+
+};
+
+THREE.ExtrudeGeometry.WorldUVGenerator = {
+
+	generateTopUV: function( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC ) {
+		var ax = geometry.vertices[ indexA ].x,
+			ay = geometry.vertices[ indexA ].y,
+
+			bx = geometry.vertices[ indexB ].x,
+			by = geometry.vertices[ indexB ].y,
+
+			cx = geometry.vertices[ indexC ].x,
+			cy = geometry.vertices[ indexC ].y;
+
+		return [
+			new THREE.Vector2( ax, ay ),
+			new THREE.Vector2( bx, by ),
+			new THREE.Vector2( cx, cy )
+		];
+
+	},
+
+	generateBottomUV: function( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC ) {
+
+		return this.generateTopUV( geometry, extrudedShape, extrudeOptions, indexA, indexB, indexC );
+
+	},
+
+	generateSideWallUV: function( geometry, extrudedShape, wallContour, extrudeOptions,
+	                              indexA, indexB, indexC, indexD, stepIndex, stepsLength,
+	                              contourIndex1, contourIndex2 ) {
+
+		var ax = geometry.vertices[ indexA ].x,
+			ay = geometry.vertices[ indexA ].y,
+			az = geometry.vertices[ indexA ].z,
+
+			bx = geometry.vertices[ indexB ].x,
+			by = geometry.vertices[ indexB ].y,
+			bz = geometry.vertices[ indexB ].z,
+
+			cx = geometry.vertices[ indexC ].x,
+			cy = geometry.vertices[ indexC ].y,
+			cz = geometry.vertices[ indexC ].z,
+
+			dx = geometry.vertices[ indexD ].x,
+			dy = geometry.vertices[ indexD ].y,
+			dz = geometry.vertices[ indexD ].z;
+
+		if ( Math.abs( ay - by ) < 0.01 ) {
+			return [
+				new THREE.Vector2( ax, 1 - az ),
+				new THREE.Vector2( bx, 1 - bz ),
+				new THREE.Vector2( cx, 1 - cz ),
+				new THREE.Vector2( dx, 1 - dz )
+			];
+		} else {
+			return [
+				new THREE.Vector2( ay, 1 - az ),
+				new THREE.Vector2( by, 1 - bz ),
+				new THREE.Vector2( cy, 1 - cz ),
+				new THREE.Vector2( dy, 1 - dz )
+			];
+		}
+	}
+};
+
+THREE.ExtrudeGeometry.__v1 = new THREE.Vector2();
+THREE.ExtrudeGeometry.__v2 = new THREE.Vector2();
+THREE.ExtrudeGeometry.__v3 = new THREE.Vector2();
+THREE.ExtrudeGeometry.__v4 = new THREE.Vector2();
+THREE.ExtrudeGeometry.__v5 = new THREE.Vector2();
+THREE.ExtrudeGeometry.__v6 = new THREE.Vector2();
+/**
+ * @author jonobr1 / http://jonobr1.com
+ *
+ * Creates a one-sided polygonal geometry from a path shape. Similar to
+ * ExtrudeGeometry.
+ *
+ * parameters = {
+ *
+ *	curveSegments: <int>, // number of points on the curves. NOT USED AT THE MOMENT.
+ *
+ *	material: <int> // material index for front and back faces
+ *	uvGenerator: <Object> // object that provides UV generator functions
+ *
+ * }
+ **/
+
+THREE.ShapeGeometry = function ( shapes, options ) {
+
+	THREE.Geometry.call( this );
+
+	if ( shapes instanceof Array === false ) shapes = [ shapes ];
+
+	this.shapebb = shapes[ shapes.length - 1 ].getBoundingBox();
+
+	this.addShapeList( shapes, options );
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+
+};
+
+THREE.ShapeGeometry.prototype = Object.create( THREE.Geometry.prototype );
+
+/**
+ * Add an array of shapes to THREE.ShapeGeometry.
+ */
+THREE.ShapeGeometry.prototype.addShapeList = function ( shapes, options ) {
+
+	for ( var i = 0, l = shapes.length; i < l; i++ ) {
+
+		this.addShape( shapes[ i ], options );
+
+	}
+
+	return this;
+
+};
+
+/**
+ * Adds a shape to THREE.ShapeGeometry, based on THREE.ExtrudeGeometry.
+ */
+THREE.ShapeGeometry.prototype.addShape = function ( shape, options ) {
+
+	if ( options === undefined ) options = {};
+	var curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12;
+
+	var material = options.material;
+	var uvgen = options.UVGenerator === undefined ? THREE.ExtrudeGeometry.WorldUVGenerator : options.UVGenerator;
+
+	var shapebb = this.shapebb;
+
+	//
+
+	var i, l, hole, s;
+
+	var shapesOffset = this.vertices.length;
+	var shapePoints = shape.extractPoints( curveSegments );
+
+	var vertices = shapePoints.shape;
+	var holes = shapePoints.holes;
+
+	var reverse = !THREE.Shape.Utils.isClockWise( vertices );
+
+	if ( reverse ) {
+
+		vertices = vertices.reverse();
+
+		// Maybe we should also check if holes are in the opposite direction, just to be safe...
+
+		for ( i = 0, l = holes.length; i < l; i++ ) {
+
+			hole = holes[ i ];
+
+			if ( THREE.Shape.Utils.isClockWise( hole ) ) {
+
+				holes[ i ] = hole.reverse();
+
+			}
+
+		}
+
+		reverse = false;
+
+	}
+
+	var faces = THREE.Shape.Utils.triangulateShape( vertices, holes );
+
+	// Vertices
+
+	var contour = vertices;
+
+	for ( i = 0, l = holes.length; i < l; i++ ) {
+
+		hole = holes[ i ];
+		vertices = vertices.concat( hole );
+
+	}
+
+	//
+
+	var vert, vlen = vertices.length;
+	var face, flen = faces.length;
+	var cont, clen = contour.length;
+
+	for ( i = 0; i < vlen; i++ ) {
+
+		vert = vertices[ i ];
+
+		this.vertices.push( new THREE.Vector3( vert.x, vert.y, 0 ) );
+
+	}
+
+	for ( i = 0; i < flen; i++ ) {
+
+		face = faces[ i ];
+
+		var a = face[ 0 ] + shapesOffset;
+		var b = face[ 1 ] + shapesOffset;
+		var c = face[ 2 ] + shapesOffset;
+
+		this.faces.push( new THREE.Face3( a, b, c, null, null, material ) );
+		this.faceVertexUvs[ 0 ].push( uvgen.generateBottomUV( this, shape, options, a, b, c ) );
+
+	}
+
+};
+/**
+ * @author astrodud / http://astrodud.isgreat.org/
+ * @author zz85 / https://github.com/zz85
+ * @author bhouston / http://exocortex.com
+ */
+
+// points - to create a closed torus, one must use a set of points 
+//    like so: [ a, b, c, d, a ], see first is the same as last.
+// segments - the number of circumference segments to create
+// phiStart - the starting radian
+// phiLength - the radian (0 to 2*PI) range of the lathed section
+//    2*pi is a closed lathe, less than 2PI is a portion.
+THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
+
+	THREE.Geometry.call( this );
+
+	segments = segments || 12;
+	phiStart = phiStart || 0;
+	phiLength = phiLength || 2 * Math.PI;
+
+	var inversePointLength = 1.0 / ( points.length - 1 );
+	var inverseSegments = 1.0 / segments;
+
+	for ( var i = 0, il = segments; i <= il; i ++ ) {
+
+		var phi = phiStart + i * inverseSegments * phiLength;
+
+		var c = Math.cos( phi ),
+			s = Math.sin( phi );
+
+		for ( var j = 0, jl = points.length; j < jl; j ++ ) {
+
+			var pt = points[ j ];
+
+			var vertex = new THREE.Vector3();
+
+			vertex.x = c * pt.x - s * pt.y;
+			vertex.y = s * pt.x + c * pt.y;
+			vertex.z = pt.z;
+
+			this.vertices.push( vertex );
+
+		}
+
+	}
+
+	var np = points.length;
+
+	for ( var i = 0, il = segments; i < il; i ++ ) {
+
+		for ( var j = 0, jl = points.length - 1; j < jl; j ++ ) {
+
+			var base = j + np * i;
+			var a = base;
+			var b = base + np;
+			var c = base + 1 + np;
+			var d = base + 1;
+
+			this.faces.push( new THREE.Face4( a, b, c, d ) );
+
+			var u0 = i * inverseSegments;
+			var v0 = j * inversePointLength;
+			var u1 = u0 + inverseSegments;
+			var v1 = v0 + inversePointLength;
+
+			this.faceVertexUvs[ 0 ].push( [
+
+				new THREE.Vector2( u0, v0 ), 
+				new THREE.Vector2( u1, v0 ),
+				new THREE.Vector2( u1, v1 ),
+				new THREE.Vector2( u0, v1 )
+
+			] );
+
+		}
+
+	}
+
+	this.mergeVertices();
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.computeVertexNormals();
+
+};
+
+THREE.LatheGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ * based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Plane.as
+ */
+
+THREE.PlaneGeometry = function ( width, height, widthSegments, heightSegments ) {
+
+	THREE.Geometry.call( this );
+
+	this.width = width;
+	this.height = height;
+
+	this.widthSegments = widthSegments || 1;
+	this.heightSegments = heightSegments || 1;
+
+	var ix, iz;
+	var width_half = width / 2;
+	var height_half = height / 2;
+
+	var gridX = this.widthSegments;
+	var gridZ = this.heightSegments;
+
+	var gridX1 = gridX + 1;
+	var gridZ1 = gridZ + 1;
+
+	var segment_width = this.width / gridX;
+	var segment_height = this.height / gridZ;
+
+	var normal = new THREE.Vector3( 0, 0, 1 );
+
+	for ( iz = 0; iz < gridZ1; iz ++ ) {
+
+		for ( ix = 0; ix < gridX1; ix ++ ) {
+
+			var x = ix * segment_width - width_half;
+			var y = iz * segment_height - height_half;
+
+			this.vertices.push( new THREE.Vector3( x, - y, 0 ) );
+
+		}
+
+	}
+
+	for ( iz = 0; iz < gridZ; iz ++ ) {
+
+		for ( ix = 0; ix < gridX; ix ++ ) {
+
+			var a = ix + gridX1 * iz;
+			var b = ix + gridX1 * ( iz + 1 );
+			var c = ( ix + 1 ) + gridX1 * ( iz + 1 );
+			var d = ( ix + 1 ) + gridX1 * iz;
+
+			var face = new THREE.Face4( a, b, c, d );
+			face.normal.copy( normal );
+			face.vertexNormals.push( normal.clone(), normal.clone(), normal.clone(), normal.clone() );
+
+			this.faces.push( face );
+			this.faceVertexUvs[ 0 ].push( [
+				new THREE.Vector2( ix / gridX, 1 - iz / gridZ ),
+				new THREE.Vector2( ix / gridX, 1 - ( iz + 1 ) / gridZ ),
+				new THREE.Vector2( ( ix + 1 ) / gridX, 1 - ( iz + 1 ) / gridZ ),
+				new THREE.Vector2( ( ix + 1 ) / gridX, 1 - iz / gridZ )
+			] );
+
+		}
+
+	}
+
+	this.computeCentroids();
+
+};
+
+THREE.PlaneGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.SphereGeometry = function ( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) {
+
+	THREE.Geometry.call( this );
+
+	this.radius = radius || 50;
+
+	this.widthSegments = Math.max( 3, Math.floor( widthSegments ) || 8 );
+	this.heightSegments = Math.max( 2, Math.floor( heightSegments ) || 6 );
+
+	phiStart = phiStart !== undefined ? phiStart : 0;
+	phiLength = phiLength !== undefined ? phiLength : Math.PI * 2;
+
+	thetaStart = thetaStart !== undefined ? thetaStart : 0;
+	thetaLength = thetaLength !== undefined ? thetaLength : Math.PI;
+
+	var x, y, vertices = [], uvs = [];
+
+	for ( y = 0; y <= this.heightSegments; y ++ ) {
+
+		var verticesRow = [];
+		var uvsRow = [];
+
+		for ( x = 0; x <= this.widthSegments; x ++ ) {
+
+			var u = x / this.widthSegments;
+			var v = y / this.heightSegments;
+
+			var vertex = new THREE.Vector3();
+			vertex.x = - this.radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );
+			vertex.y = this.radius * Math.cos( thetaStart + v * thetaLength );
+			vertex.z = this.radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );
+
+			this.vertices.push( vertex );
+
+			verticesRow.push( this.vertices.length - 1 );
+			uvsRow.push( new THREE.Vector2( u, 1 - v ) );
+
+		}
+
+		vertices.push( verticesRow );
+		uvs.push( uvsRow );
+
+	}
+
+	for ( y = 0; y < this.heightSegments; y ++ ) {
+
+		for ( x = 0; x < this.widthSegments; x ++ ) {
+
+			var v1 = vertices[ y ][ x + 1 ];
+			var v2 = vertices[ y ][ x ];
+			var v3 = vertices[ y + 1 ][ x ];
+			var v4 = vertices[ y + 1 ][ x + 1 ];
+
+			var n1 = this.vertices[ v1 ].clone().normalize();
+			var n2 = this.vertices[ v2 ].clone().normalize();
+			var n3 = this.vertices[ v3 ].clone().normalize();
+			var n4 = this.vertices[ v4 ].clone().normalize();
+
+			var uv1 = uvs[ y ][ x + 1 ].clone();
+			var uv2 = uvs[ y ][ x ].clone();
+			var uv3 = uvs[ y + 1 ][ x ].clone();
+			var uv4 = uvs[ y + 1 ][ x + 1 ].clone();
+
+			if ( Math.abs( this.vertices[ v1 ].y ) === this.radius ) {
+
+				this.faces.push( new THREE.Face3( v1, v3, v4, [ n1, n3, n4 ] ) );
+				this.faceVertexUvs[ 0 ].push( [ uv1, uv3, uv4 ] );
+
+			} else if ( Math.abs( this.vertices[ v3 ].y ) === this.radius ) {
+
+				this.faces.push( new THREE.Face3( v1, v2, v3, [ n1, n2, n3 ] ) );
+				this.faceVertexUvs[ 0 ].push( [ uv1, uv2, uv3 ] );
+
+			} else {
+
+				this.faces.push( new THREE.Face4( v1, v2, v3, v4, [ n1, n2, n3, n4 ] ) );
+				this.faceVertexUvs[ 0 ].push( [ uv1, uv2, uv3, uv4 ] );
+
+			}
+
+		}
+
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+
+    this.boundingSphere = new THREE.Sphere( new THREE.Vector3(), radius );
+
+};
+
+THREE.SphereGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author zz85 / http://www.lab4games.net/zz85/blog
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * For creating 3D text geometry in three.js
+ *
+ * Text = 3D Text
+ *
+ * parameters = {
+ *  size: 			<float>, 	// size of the text
+ *  height: 		<float>, 	// thickness to extrude text
+ *  curveSegments: 	<int>,		// number of points on the curves
+ *
+ *  font: 			<string>,		// font name
+ *  weight: 		<string>,		// font weight (normal, bold)
+ *  style: 			<string>,		// font style  (normal, italics)
+ *
+ *  bevelEnabled:	<bool>,			// turn on bevel
+ *  bevelThickness: <float>, 		// how deep into text bevel goes
+ *  bevelSize:		<float>, 		// how far from text outline is bevel
+ *  }
+ *
+ */
+
+/*	Usage Examples
+
+	// TextGeometry wrapper
+
+	var text3d = new TextGeometry( text, options );
+
+	// Complete manner
+
+	var textShapes = THREE.FontUtils.generateShapes( text, options );
+	var text3d = new ExtrudeGeometry( textShapes, options );
+
+*/
+
+
+THREE.TextGeometry = function ( text, parameters ) {
+
+	var textShapes = THREE.FontUtils.generateShapes( text, parameters );
+
+	// translate parameters to ExtrudeGeometry API
+
+	parameters.amount = parameters.height !== undefined ? parameters.height : 50;
+
+	// defaults
+
+	if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10;
+	if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8;
+	if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false;
+
+	THREE.ExtrudeGeometry.call( this, textShapes, parameters );
+
+};
+
+THREE.TextGeometry.prototype = Object.create( THREE.ExtrudeGeometry.prototype );
+/**
+ * @author oosmoxiecode
+ * @author mrdoob / http://mrdoob.com/
+ * based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3DLite/src/away3dlite/primitives/Torus.as?r=2888
+ */
+
+THREE.TorusGeometry = function ( radius, tube, radialSegments, tubularSegments, arc ) {
+
+	THREE.Geometry.call( this );
+
+	var scope = this;
+
+	this.radius = radius || 100;
+	this.tube = tube || 40;
+	this.radialSegments = radialSegments || 8;
+	this.tubularSegments = tubularSegments || 6;
+	this.arc = arc || Math.PI * 2;
+
+	var center = new THREE.Vector3(), uvs = [], normals = [];
+
+	for ( var j = 0; j <= this.radialSegments; j ++ ) {
+
+		for ( var i = 0; i <= this.tubularSegments; i ++ ) {
+
+			var u = i / this.tubularSegments * this.arc;
+			var v = j / this.radialSegments * Math.PI * 2;
+
+			center.x = this.radius * Math.cos( u );
+			center.y = this.radius * Math.sin( u );
+
+			var vertex = new THREE.Vector3();
+			vertex.x = ( this.radius + this.tube * Math.cos( v ) ) * Math.cos( u );
+			vertex.y = ( this.radius + this.tube * Math.cos( v ) ) * Math.sin( u );
+			vertex.z = this.tube * Math.sin( v );
+
+			this.vertices.push( vertex );
+
+			uvs.push( new THREE.Vector2( i / this.tubularSegments, j / this.radialSegments ) );
+			normals.push( vertex.clone().sub( center ).normalize() );
+
+		}
+	}
+
+
+	for ( var j = 1; j <= this.radialSegments; j ++ ) {
+
+		for ( var i = 1; i <= this.tubularSegments; i ++ ) {
+
+			var a = ( this.tubularSegments + 1 ) * j + i - 1;
+			var b = ( this.tubularSegments + 1 ) * ( j - 1 ) + i - 1;
+			var c = ( this.tubularSegments + 1 ) * ( j - 1 ) + i;
+			var d = ( this.tubularSegments + 1 ) * j + i;
+
+			var face = new THREE.Face4( a, b, c, d, [ normals[ a ], normals[ b ], normals[ c ], normals[ d ] ] );
+			face.normal.add( normals[ a ] );
+			face.normal.add( normals[ b ] );
+			face.normal.add( normals[ c ] );
+			face.normal.add( normals[ d ] );
+			face.normal.normalize();
+
+			this.faces.push( face );
+
+			this.faceVertexUvs[ 0 ].push( [ uvs[ a ].clone(), uvs[ b ].clone(), uvs[ c ].clone(), uvs[ d ].clone() ] );
+		}
+
+	}
+
+	this.computeCentroids();
+
+};
+
+THREE.TorusGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author oosmoxiecode
+ * based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3D/src/away3d/primitives/TorusKnot.as?spec=svn2473&r=2473
+ */
+
+THREE.TorusKnotGeometry = function ( radius, tube, radialSegments, tubularSegments, p, q, heightScale ) {
+
+	THREE.Geometry.call( this );
+
+	var scope = this;
+
+	this.radius = radius || 100;
+	this.tube = tube || 40;
+	this.radialSegments = radialSegments || 64;
+	this.tubularSegments = tubularSegments || 8;
+	this.p = p || 2;
+	this.q = q || 3;
+	this.heightScale = heightScale || 1;
+	this.grid = new Array( this.radialSegments );
+
+	var tang = new THREE.Vector3();
+	var n = new THREE.Vector3();
+	var bitan = new THREE.Vector3();
+
+	for ( var i = 0; i < this.radialSegments; ++ i ) {
+
+		this.grid[ i ] = new Array( this.tubularSegments );
+
+		for ( var j = 0; j < this.tubularSegments; ++ j ) {
+
+			var u = i / this.radialSegments * 2 * this.p * Math.PI;
+			var v = j / this.tubularSegments * 2 * Math.PI;
+			var p1 = getPos( u, v, this.q, this.p, this.radius, this.heightScale );
+			var p2 = getPos( u + 0.01, v, this.q, this.p, this.radius, this.heightScale );
+			var cx, cy;
+
+			tang.subVectors( p2, p1 );
+			n.addVectors( p2, p1 );
+
+			bitan.crossVectors( tang, n );
+			n.crossVectors( bitan, tang );
+			bitan.normalize();
+			n.normalize();
+
+			cx = - this.tube * Math.cos( v ); // TODO: Hack: Negating it so it faces outside.
+			cy = this.tube * Math.sin( v );
+
+			p1.x += cx * n.x + cy * bitan.x;
+			p1.y += cx * n.y + cy * bitan.y;
+			p1.z += cx * n.z + cy * bitan.z;
+
+			this.grid[ i ][ j ] = vert( p1.x, p1.y, p1.z );
+
+		}
+
+	}
+
+	for ( var i = 0; i < this.radialSegments; ++ i ) {
+
+		for ( var j = 0; j < this.tubularSegments; ++ j ) {
+
+			var ip = ( i + 1 ) % this.radialSegments;
+			var jp = ( j + 1 ) % this.tubularSegments;
+
+			var a = this.grid[ i ][ j ];
+			var b = this.grid[ ip ][ j ];
+			var c = this.grid[ ip ][ jp ];
+			var d = this.grid[ i ][ jp ];
+
+			var uva = new THREE.Vector2( i / this.radialSegments, j / this.tubularSegments );
+			var uvb = new THREE.Vector2( ( i + 1 ) / this.radialSegments, j / this.tubularSegments );
+			var uvc = new THREE.Vector2( ( i + 1 ) / this.radialSegments, ( j + 1 ) / this.tubularSegments );
+			var uvd = new THREE.Vector2( i / this.radialSegments, ( j + 1 ) / this.tubularSegments );
+
+			this.faces.push( new THREE.Face4( a, b, c, d ) );
+			this.faceVertexUvs[ 0 ].push( [ uva,uvb,uvc, uvd ] );
+
+		}
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.computeVertexNormals();
+
+	function vert( x, y, z ) {
+
+		return scope.vertices.push( new THREE.Vector3( x, y, z ) ) - 1;
+
+	}
+
+	function getPos( u, v, in_q, in_p, radius, heightScale ) {
+
+		var cu = Math.cos( u );
+		var cv = Math.cos( v );
+		var su = Math.sin( u );
+		var quOverP = in_q / in_p * u;
+		var cs = Math.cos( quOverP );
+
+		var tx = radius * ( 2 + cs ) * 0.5 * cu;
+		var ty = radius * ( 2 + cs ) * su * 0.5;
+		var tz = heightScale * radius * Math.sin( quOverP ) * 0.5;
+
+		return new THREE.Vector3( tx, ty, tz );
+
+	}
+
+};
+
+THREE.TorusKnotGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author WestLangley / https://github.com/WestLangley
+ * @author zz85 / https://github.com/zz85
+ * @author miningold / https://github.com/miningold
+ *
+ * Modified from the TorusKnotGeometry by @oosmoxiecode
+ *
+ * Creates a tube which extrudes along a 3d spline
+ *
+ * Uses parallel transport frames as described in
+ * http://www.cs.indiana.edu/pub/techreports/TR425.pdf
+ */
+
+THREE.TubeGeometry = function( path, segments, radius, radiusSegments, closed, debug ) {
+
+	THREE.Geometry.call( this );
+
+	this.path = path;
+	this.segments = segments || 64;
+	this.radius = radius || 1;
+	this.radiusSegments = radiusSegments || 8;
+	this.closed = closed || false;
+
+	if ( debug ) this.debug = new THREE.Object3D();
+
+	this.grid = [];
+
+	var scope = this,
+
+		tangent,
+		normal,
+		binormal,
+
+		numpoints = this.segments + 1,
+
+		x, y, z,
+		tx, ty, tz,
+		u, v,
+
+		cx, cy,
+		pos, pos2 = new THREE.Vector3(),
+		i, j,
+		ip, jp,
+		a, b, c, d,
+		uva, uvb, uvc, uvd;
+
+	var frames = new THREE.TubeGeometry.FrenetFrames( this.path, this.segments, this.closed ),
+		tangents = frames.tangents,
+		normals = frames.normals,
+		binormals = frames.binormals;
+
+	// proxy internals
+	this.tangents = tangents;
+	this.normals = normals;
+	this.binormals = binormals;
+
+	function vert( x, y, z ) {
+
+		return scope.vertices.push( new THREE.Vector3( x, y, z ) ) - 1;
+
+	}
+
+
+	// consruct the grid
+
+	for ( i = 0; i < numpoints; i++ ) {
+
+		this.grid[ i ] = [];
+
+		u = i / ( numpoints - 1 );
+
+		pos = path.getPointAt( u );
+
+		tangent = tangents[ i ];
+		normal = normals[ i ];
+		binormal = binormals[ i ];
+
+		if ( this.debug ) {
+
+			this.debug.add( new THREE.ArrowHelper(tangent, pos, radius, 0x0000ff ) );
+			this.debug.add( new THREE.ArrowHelper(normal, pos, radius, 0xff0000 ) );
+			this.debug.add( new THREE.ArrowHelper(binormal, pos, radius, 0x00ff00 ) );
+
+		}
+
+		for ( j = 0; j < this.radiusSegments; j++ ) {
+
+			v = j / this.radiusSegments * 2 * Math.PI;
+
+			cx = -this.radius * Math.cos( v ); // TODO: Hack: Negating it so it faces outside.
+			cy = this.radius * Math.sin( v );
+
+			pos2.copy( pos );
+			pos2.x += cx * normal.x + cy * binormal.x;
+			pos2.y += cx * normal.y + cy * binormal.y;
+			pos2.z += cx * normal.z + cy * binormal.z;
+
+			this.grid[ i ][ j ] = vert( pos2.x, pos2.y, pos2.z );
+
+		}
+	}
+
+
+	// construct the mesh
+
+	for ( i = 0; i < this.segments; i++ ) {
+
+		for ( j = 0; j < this.radiusSegments; j++ ) {
+
+			ip = ( this.closed ) ? (i + 1) % this.segments : i + 1;
+			jp = (j + 1) % this.radiusSegments;
+
+			a = this.grid[ i ][ j ];		// *** NOT NECESSARILY PLANAR ! ***
+			b = this.grid[ ip ][ j ];
+			c = this.grid[ ip ][ jp ];
+			d = this.grid[ i ][ jp ];
+
+			uva = new THREE.Vector2( i / this.segments, j / this.radiusSegments );
+			uvb = new THREE.Vector2( ( i + 1 ) / this.segments, j / this.radiusSegments );
+			uvc = new THREE.Vector2( ( i + 1 ) / this.segments, ( j + 1 ) / this.radiusSegments );
+			uvd = new THREE.Vector2( i / this.segments, ( j + 1 ) / this.radiusSegments );
+
+			this.faces.push( new THREE.Face4( a, b, c, d ) );
+			this.faceVertexUvs[ 0 ].push( [ uva, uvb, uvc, uvd ] );
+
+		}
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.computeVertexNormals();
+
+};
+
+THREE.TubeGeometry.prototype = Object.create( THREE.Geometry.prototype );
+
+
+// For computing of Frenet frames, exposing the tangents, normals and binormals the spline
+THREE.TubeGeometry.FrenetFrames = function(path, segments, closed) {
+
+	var	tangent = new THREE.Vector3(),
+		normal = new THREE.Vector3(),
+		binormal = new THREE.Vector3(),
+
+		tangents = [],
+		normals = [],
+		binormals = [],
+
+		vec = new THREE.Vector3(),
+		mat = new THREE.Matrix4(),
+
+		numpoints = segments + 1,
+		theta,
+		epsilon = 0.0001,
+		smallest,
+
+		tx, ty, tz,
+		i, u, v;
+
+
+	// expose internals
+	this.tangents = tangents;
+	this.normals = normals;
+	this.binormals = binormals;
+
+	// compute the tangent vectors for each segment on the path
+
+	for ( i = 0; i < numpoints; i++ ) {
+
+		u = i / ( numpoints - 1 );
+
+		tangents[ i ] = path.getTangentAt( u );
+		tangents[ i ].normalize();
+
+	}
+
+	initialNormal3();
+
+	function initialNormal1(lastBinormal) {
+		// fixed start binormal. Has dangers of 0 vectors
+		normals[ 0 ] = new THREE.Vector3();
+		binormals[ 0 ] = new THREE.Vector3();
+		if (lastBinormal===undefined) lastBinormal = new THREE.Vector3( 0, 0, 1 );
+		normals[ 0 ].crossVectors( lastBinormal, tangents[ 0 ] ).normalize();
+		binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ).normalize();
+	}
+
+	function initialNormal2() {
+
+		// This uses the Frenet-Serret formula for deriving binormal
+		var t2 = path.getTangentAt( epsilon );
+
+		normals[ 0 ] = new THREE.Vector3().subVectors( t2, tangents[ 0 ] ).normalize();
+		binormals[ 0 ] = new THREE.Vector3().crossVectors( tangents[ 0 ], normals[ 0 ] );
+
+		normals[ 0 ].crossVectors( binormals[ 0 ], tangents[ 0 ] ).normalize(); // last binormal x tangent
+		binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ).normalize();
+
+	}
+
+	function initialNormal3() {
+		// select an initial normal vector perpenicular to the first tangent vector,
+		// and in the direction of the smallest tangent xyz component
+
+		normals[ 0 ] = new THREE.Vector3();
+		binormals[ 0 ] = new THREE.Vector3();
+		smallest = Number.MAX_VALUE;
+		tx = Math.abs( tangents[ 0 ].x );
+		ty = Math.abs( tangents[ 0 ].y );
+		tz = Math.abs( tangents[ 0 ].z );
+
+		if ( tx <= smallest ) {
+			smallest = tx;
+			normal.set( 1, 0, 0 );
+		}
+
+		if ( ty <= smallest ) {
+			smallest = ty;
+			normal.set( 0, 1, 0 );
+		}
+
+		if ( tz <= smallest ) {
+			normal.set( 0, 0, 1 );
+		}
+
+		vec.crossVectors( tangents[ 0 ], normal ).normalize();
+
+		normals[ 0 ].crossVectors( tangents[ 0 ], vec );
+		binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] );
+	}
+
+
+	// compute the slowly-varying normal and binormal vectors for each segment on the path
+
+	for ( i = 1; i < numpoints; i++ ) {
+
+		normals[ i ] = normals[ i-1 ].clone();
+
+		binormals[ i ] = binormals[ i-1 ].clone();
+
+		vec.crossVectors( tangents[ i-1 ], tangents[ i ] );
+
+		if ( vec.length() > epsilon ) {
+
+			vec.normalize();
+
+			theta = Math.acos( tangents[ i-1 ].dot( tangents[ i ] ) );
+
+			normals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) );
+
+		}
+
+		binormals[ i ].crossVectors( tangents[ i ], normals[ i ] );
+
+	}
+
+
+	// if the curve is closed, postprocess the vectors so the first and last normal vectors are the same
+
+	if ( closed ) {
+
+		theta = Math.acos( normals[ 0 ].dot( normals[ numpoints-1 ] ) );
+		theta /= ( numpoints - 1 );
+
+		if ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ numpoints-1 ] ) ) > 0 ) {
+
+			theta = -theta;
+
+		}
+
+		for ( i = 1; i < numpoints; i++ ) {
+
+			// twist a little...
+			normals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) );
+			binormals[ i ].crossVectors( tangents[ i ], normals[ i ] );
+
+		}
+
+	}
+};
+/**
+ * @author clockworkgeek / https://github.com/clockworkgeek
+ * @author timothypratley / https://github.com/timothypratley
+ */
+
+THREE.PolyhedronGeometry = function ( vertices, faces, radius, detail ) {
+
+	THREE.Geometry.call( this );
+
+	radius = radius || 1;
+	detail = detail || 0;
+
+	var that = this;
+
+	for ( var i = 0, l = vertices.length; i < l; i ++ ) {
+
+		prepare( new THREE.Vector3( vertices[ i ][ 0 ], vertices[ i ][ 1 ], vertices[ i ][ 2 ] ) );
+
+	}
+
+	var midpoints = [], p = this.vertices;
+
+	for ( var i = 0, l = faces.length; i < l; i ++ ) {
+
+		make( p[ faces[ i ][ 0 ] ], p[ faces[ i ][ 1 ] ], p[ faces[ i ][ 2 ] ], detail );
+
+	}
+
+	this.mergeVertices();
+
+	// Apply radius
+
+	for ( var i = 0, l = this.vertices.length; i < l; i ++ ) {
+
+		this.vertices[ i ].multiplyScalar( radius );
+
+	}
+
+
+	// Project vector onto sphere's surface
+
+	function prepare( vector ) {
+
+		var vertex = vector.normalize().clone();
+		vertex.index = that.vertices.push( vertex ) - 1;
+
+		// Texture coords are equivalent to map coords, calculate angle and convert to fraction of a circle.
+
+		var u = azimuth( vector ) / 2 / Math.PI + 0.5;
+		var v = inclination( vector ) / Math.PI + 0.5;
+		vertex.uv = new THREE.Vector2( u, 1 - v );
+
+		return vertex;
+
+	}
+
+
+	// Approximate a curved face with recursively sub-divided triangles.
+
+	function make( v1, v2, v3, detail ) {
+
+		if ( detail < 1 ) {
+
+			var face = new THREE.Face3( v1.index, v2.index, v3.index, [ v1.clone(), v2.clone(), v3.clone() ] );
+			face.centroid.add( v1 ).add( v2 ).add( v3 ).divideScalar( 3 );
+			face.normal = face.centroid.clone().normalize();
+			that.faces.push( face );
+
+			var azi = azimuth( face.centroid );
+			that.faceVertexUvs[ 0 ].push( [
+				correctUV( v1.uv, v1, azi ),
+				correctUV( v2.uv, v2, azi ),
+				correctUV( v3.uv, v3, azi )
+			] );
+
+		} else {
+
+			detail -= 1;
+
+			// split triangle into 4 smaller triangles
+
+			make( v1, midpoint( v1, v2 ), midpoint( v1, v3 ), detail ); // top quadrant
+			make( midpoint( v1, v2 ), v2, midpoint( v2, v3 ), detail ); // left quadrant
+			make( midpoint( v1, v3 ), midpoint( v2, v3 ), v3, detail ); // right quadrant
+			make( midpoint( v1, v2 ), midpoint( v2, v3 ), midpoint( v1, v3 ), detail ); // center quadrant
+
+		}
+
+	}
+
+	function midpoint( v1, v2 ) {
+
+		if ( !midpoints[ v1.index ] ) midpoints[ v1.index ] = [];
+		if ( !midpoints[ v2.index ] ) midpoints[ v2.index ] = [];
+
+		var mid = midpoints[ v1.index ][ v2.index ];
+
+		if ( mid === undefined ) {
+
+			// generate mean point and project to surface with prepare()
+
+			midpoints[ v1.index ][ v2.index ] = midpoints[ v2.index ][ v1.index ] = mid = prepare(
+				new THREE.Vector3().addVectors( v1, v2 ).divideScalar( 2 )
+			);
+		}
+
+		return mid;
+
+	}
+
+
+	// Angle around the Y axis, counter-clockwise when looking from above.
+
+	function azimuth( vector ) {
+
+		return Math.atan2( vector.z, -vector.x );
+
+	}
+
+
+	// Angle above the XZ plane.
+
+	function inclination( vector ) {
+
+		return Math.atan2( -vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) );
+
+	}
+
+
+	// Texture fixing helper. Spheres have some odd behaviours.
+
+	function correctUV( uv, vector, azimuth ) {
+
+		if ( ( azimuth < 0 ) && ( uv.x === 1 ) ) uv = new THREE.Vector2( uv.x - 1, uv.y );
+		if ( ( vector.x === 0 ) && ( vector.z === 0 ) ) uv = new THREE.Vector2( azimuth / 2 / Math.PI + 0.5, uv.y );
+		return uv;
+
+	}
+
+	this.computeCentroids();
+
+    this.boundingSphere = new THREE.Sphere( new THREE.Vector3(), radius );
+
+};
+
+THREE.PolyhedronGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author timothypratley / https://github.com/timothypratley
+ */
+
+THREE.IcosahedronGeometry = function ( radius, detail ) {
+
+	var t = ( 1 + Math.sqrt( 5 ) ) / 2;
+
+	var vertices = [
+		[ -1,  t,  0 ], [  1, t, 0 ], [ -1, -t,  0 ], [  1, -t,  0 ],
+		[  0, -1,  t ], [  0, 1, t ], [  0, -1, -t ], [  0,  1, -t ],
+		[  t,  0, -1 ], [  t, 0, 1 ], [ -t,  0, -1 ], [ -t,  0,  1 ]
+	];
+
+	var faces = [
+		[ 0, 11,  5 ], [ 0,  5,  1 ], [  0,  1,  7 ], [  0,  7, 10 ], [  0, 10, 11 ],
+		[ 1,  5,  9 ], [ 5, 11,  4 ], [ 11, 10,  2 ], [ 10,  7,  6 ], [  7,  1,  8 ],
+		[ 3,  9,  4 ], [ 3,  4,  2 ], [  3,  2,  6 ], [  3,  6,  8 ], [  3,  8,  9 ],
+		[ 4,  9,  5 ], [ 2,  4, 11 ], [  6,  2, 10 ], [  8,  6,  7 ], [  9,  8,  1 ]
+	];
+
+	THREE.PolyhedronGeometry.call( this, vertices, faces, radius, detail );
+
+};
+
+THREE.IcosahedronGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author timothypratley / https://github.com/timothypratley
+ */
+
+THREE.OctahedronGeometry = function ( radius, detail ) {
+
+	var vertices = [
+		[ 1, 0, 0 ], [ -1, 0, 0 ], [ 0, 1, 0 ], [ 0, -1, 0 ], [ 0, 0, 1 ], [ 0, 0, -1 ]
+	];
+
+	var faces = [
+		[ 0, 2, 4 ], [ 0, 4, 3 ], [ 0, 3, 5 ], [ 0, 5, 2 ], [ 1, 2, 5 ], [ 1, 5, 3 ], [ 1, 3, 4 ], [ 1, 4, 2 ]
+	];
+
+	THREE.PolyhedronGeometry.call( this, vertices, faces, radius, detail );
+};
+
+THREE.OctahedronGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author timothypratley / https://github.com/timothypratley
+ */
+
+THREE.TetrahedronGeometry = function ( radius, detail ) {
+
+	var vertices = [
+		[ 1,  1,  1 ], [ -1, -1, 1 ], [ -1, 1, -1 ], [ 1, -1, -1 ]
+	];
+
+	var faces = [
+		[ 2, 1, 0 ], [ 0, 3, 2 ], [ 1, 3, 0 ], [ 2, 3, 1 ]
+	];
+
+	THREE.PolyhedronGeometry.call( this, vertices, faces, radius, detail );
+
+};
+
+THREE.TetrahedronGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author zz85 / https://github.com/zz85
+ * Parametric Surfaces Geometry
+ * based on the brilliant article by @prideout http://prideout.net/blog/?p=44
+ *
+ * new THREE.ParametricGeometry( parametricFunction, uSegments, ySegements, useTris );
+ *
+ */
+
+THREE.ParametricGeometry = function ( func, slices, stacks, useTris ) {
+
+	THREE.Geometry.call( this );
+
+	var verts = this.vertices;
+	var faces = this.faces;
+	var uvs = this.faceVertexUvs[ 0 ];
+
+	useTris = (useTris === undefined) ? false : useTris;
+
+	var i, il, j, p;
+	var u, v;
+
+	var stackCount = stacks + 1;
+	var sliceCount = slices + 1;
+
+	for ( i = 0; i <= stacks; i ++ ) {
+
+		v = i / stacks;
+
+		for ( j = 0; j <= slices; j ++ ) {
+
+			u = j / slices;
+
+			p = func( u, v );
+			verts.push( p );
+
+		}
+	}
+
+	var a, b, c, d;
+	var uva, uvb, uvc, uvd;
+
+	for ( i = 0; i < stacks; i ++ ) {
+
+		for ( j = 0; j < slices; j ++ ) {
+
+			a = i * sliceCount + j;
+			b = i * sliceCount + j + 1;
+			c = (i + 1) * sliceCount + j;
+			d = (i + 1) * sliceCount + j + 1;
+
+			uva = new THREE.Vector2( j / slices, i / stacks );
+			uvb = new THREE.Vector2( ( j + 1 ) / slices, i / stacks );
+			uvc = new THREE.Vector2( j / slices, ( i + 1 ) / stacks );
+			uvd = new THREE.Vector2( ( j + 1 ) / slices, ( i + 1 ) / stacks );
+
+			if ( useTris ) {
+
+				faces.push( new THREE.Face3( a, b, c ) );
+				faces.push( new THREE.Face3( b, d, c ) );
+
+				uvs.push( [ uva, uvb, uvc ] );
+				uvs.push( [ uvb, uvd, uvc ] );
+
+			} else {
+
+				faces.push( new THREE.Face4( a, b, d, c ) );
+				uvs.push( [ uva, uvb, uvd, uvc ] );
+
+			}
+
+		}
+
+	}
+
+	// console.log(this);
+
+	// magic bullet
+	// var diff = this.mergeVertices();
+	// console.log('removed ', diff, ' vertices by merging');
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.computeVertexNormals();
+
+};
+
+THREE.ParametricGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author qiao / https://github.com/qiao
+ * @fileoverview This is a convex hull generator using the incremental method. 
+ * The complexity is O(n^2) where n is the number of vertices.
+ * O(nlogn) algorithms do exist, but they are much more complicated.
+ *
+ * Benchmark: 
+ *
+ *  Platform: CPU: P7350 @2.00GHz Engine: V8
+ *
+ *  Num Vertices	Time(ms)
+ *
+ *     10           1
+ *     20           3
+ *     30           19
+ *     40           48
+ *     50           107
+ */
+
+THREE.ConvexGeometry = function( vertices ) {
+
+	THREE.Geometry.call( this );
+
+	var faces = [ [ 0, 1, 2 ], [ 0, 2, 1 ] ]; 
+
+	for ( var i = 3; i < vertices.length; i++ ) {
+
+		addPoint( i );
+
+	}
+
+
+	function addPoint( vertexId ) {
+
+		var vertex = vertices[ vertexId ].clone();
+
+		var mag = vertex.length();
+		vertex.x += mag * randomOffset();
+		vertex.y += mag * randomOffset();
+		vertex.z += mag * randomOffset();
+
+		var hole = [];
+
+		for ( var f = 0; f < faces.length; ) {
+
+			var face = faces[ f ];
+
+			// for each face, if the vertex can see it,
+			// then we try to add the face's edges into the hole.
+			if ( visible( face, vertex ) ) {
+
+				for ( var e = 0; e < 3; e++ ) {
+
+					var edge = [ face[ e ], face[ ( e + 1 ) % 3 ] ];
+					var boundary = true;
+
+					// remove duplicated edges.
+					for ( var h = 0; h < hole.length; h++ ) {
+
+						if ( equalEdge( hole[ h ], edge ) ) {
+
+							hole[ h ] = hole[ hole.length - 1 ];
+							hole.pop();
+							boundary = false;
+							break;
+
+						}
+
+					}
+
+					if ( boundary ) {
+
+						hole.push( edge );
+
+					}
+
+				}
+
+				// remove faces[ f ]
+				faces[ f ] = faces[ faces.length - 1 ];
+				faces.pop();
+
+			} else { // not visible
+
+				f++;
+
+			}
+		}
+
+		// construct the new faces formed by the edges of the hole and the vertex
+		for ( var h = 0; h < hole.length; h++ ) {
+
+			faces.push( [ 
+				hole[ h ][ 0 ],
+				hole[ h ][ 1 ],
+				vertexId
+			] );
+
+		}
+	}
+
+	/**
+	 * Whether the face is visible from the vertex
+	 */
+	function visible( face, vertex ) {
+
+		var va = vertices[ face[ 0 ] ];
+		var vb = vertices[ face[ 1 ] ];
+		var vc = vertices[ face[ 2 ] ];
+
+		var n = normal( va, vb, vc );
+
+		// distance from face to origin
+		var dist = n.dot( va );
+
+		return n.dot( vertex ) >= dist; 
+
+	}
+
+	/**
+	 * Face normal
+	 */
+	function normal( va, vb, vc ) {
+
+		var cb = new THREE.Vector3();
+		var ab = new THREE.Vector3();
+
+		cb.subVectors( vc, vb );
+		ab.subVectors( va, vb );
+		cb.cross( ab );
+
+		cb.normalize();
+
+		return cb;
+
+	}
+
+	/**
+	 * Detect whether two edges are equal.
+	 * Note that when constructing the convex hull, two same edges can only
+	 * be of the negative direction.
+	 */
+	function equalEdge( ea, eb ) {
+
+		return ea[ 0 ] === eb[ 1 ] && ea[ 1 ] === eb[ 0 ]; 
+
+	}
+
+	/**
+	 * Create a random offset between -1e-6 and 1e-6.
+	 */
+	function randomOffset() {
+
+		return ( Math.random() - 0.5 ) * 2 * 1e-6;
+
+	}
+
+
+	/**
+	 * XXX: Not sure if this is the correct approach. Need someone to review.
+	 */
+	function vertexUv( vertex ) {
+
+		var mag = vertex.length();
+		return new THREE.Vector2( vertex.x / mag, vertex.y / mag );
+
+	}
+
+	// Push vertices into `this.vertices`, skipping those inside the hull
+	var id = 0;
+	var newId = new Array( vertices.length ); // map from old vertex id to new id
+
+	for ( var i = 0; i < faces.length; i++ ) {
+
+		 var face = faces[ i ];
+
+		 for ( var j = 0; j < 3; j++ ) {
+
+				if ( newId[ face[ j ] ] === undefined ) {
+
+						newId[ face[ j ] ] = id++;
+						this.vertices.push( vertices[ face[ j ] ] );
+
+				}
+
+				face[ j ] = newId[ face[ j ] ];
+
+		 }
+
+	}
+
+	// Convert faces into instances of THREE.Face3
+	for ( var i = 0; i < faces.length; i++ ) {
+
+		this.faces.push( new THREE.Face3( 
+				faces[ i ][ 0 ],
+				faces[ i ][ 1 ],
+				faces[ i ][ 2 ]
+		) );
+
+	}
+
+	// Compute UVs
+	for ( var i = 0; i < this.faces.length; i++ ) {
+
+		var face = this.faces[ i ];
+
+		this.faceVertexUvs[ 0 ].push( [
+			vertexUv( this.vertices[ face.a ] ),
+			vertexUv( this.vertices[ face.b ] ),
+			vertexUv( this.vertices[ face.c ])
+		] );
+
+	}
+
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.computeVertexNormals();
+
+};
+
+THREE.ConvexGeometry.prototype = Object.create( THREE.Geometry.prototype );
+/**
+ * @author sroucheray / http://sroucheray.org/
+ * @author mrdoob / http://mrdoob.com/
+ */
+
+THREE.AxisHelper = function ( size ) {
+
+	var geometry = new THREE.Geometry();
+
+	geometry.vertices.push(
+		new THREE.Vector3(), new THREE.Vector3( size || 1, 0, 0 ),
+		new THREE.Vector3(), new THREE.Vector3( 0, size || 1, 0 ),
+		new THREE.Vector3(), new THREE.Vector3( 0, 0, size || 1 )
+	);
+
+	geometry.colors.push(
+		new THREE.Color( 0xff0000 ), new THREE.Color( 0xffaa00 ),
+		new THREE.Color( 0x00ff00 ), new THREE.Color( 0xaaff00 ),
+		new THREE.Color( 0x0000ff ), new THREE.Color( 0x00aaff )
+	);
+
+	var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors } );
+
+	THREE.Line.call( this, geometry, material, THREE.LinePieces );
+
+};
+
+THREE.AxisHelper.prototype = Object.create( THREE.Line.prototype );
+/**
+ * @author WestLangley / http://github.com/WestLangley
+ * @author zz85 / https://github.com/zz85
+ * @author bhouston / https://exocortex.com
+ *
+ * Creates an arrow for visualizing directions
+ *
+ * Parameters:
+ *  dir - Vector3
+ *  origin - Vector3
+ *  length - Number
+ *  hex - color in hex value
+ */
+
+THREE.ArrowHelper = function ( dir, origin, length, hex ) {
+
+	THREE.Object3D.call( this );
+
+	if ( length === undefined ) length = 20;
+	if ( hex === undefined ) hex = 0xffff00;
+
+	var lineGeometry = new THREE.Geometry();
+	lineGeometry.vertices.push( new THREE.Vector3( 0, 0, 0 ) );
+	lineGeometry.vertices.push( new THREE.Vector3( 0, 1, 0 ) );
+
+	this.line = new THREE.Line( lineGeometry, new THREE.LineBasicMaterial( { color: hex } ) );
+	this.add( this.line );
+
+	var coneGeometry = new THREE.CylinderGeometry( 0, 0.05, 0.25, 5, 1 );
+
+	this.cone = new THREE.Mesh( coneGeometry, new THREE.MeshBasicMaterial( { color: hex } ) );
+	this.cone.position.set( 0, 1, 0 );
+	this.add( this.cone );
+
+	if ( origin instanceof THREE.Vector3 ) this.position = origin;
+
+	this.setDirection( dir );
+	this.setLength( length );
+
+};
+
+THREE.ArrowHelper.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.ArrowHelper.prototype.setDirection = function ( dir ) {
+
+    var d = THREE.ArrowHelper.__v1.copy( dir ).normalize();
+
+    if ( d.y > 0.999 ) {
+
+        this.rotation.set( 0, 0, 0 );
+ 
+    } else if ( d.y < - 0.999 ) {
+
+        this.rotation.set( Math.PI, 0, 0 );
+
+    } else {
+
+	    var axis = THREE.ArrowHelper.__v2.set( d.z, 0, - d.x ).normalize();
+	    var radians = Math.acos( d.y );
+	    var quaternion = THREE.ArrowHelper.__q1.setFromAxisAngle( axis, radians );
+
+	    this.rotation.setEulerFromQuaternion( quaternion, this.eulerOrder );
+
+	}
+
+};
+
+THREE.ArrowHelper.prototype.setLength = function ( length ) {
+
+	this.scale.set( length, length, length );
+
+};
+
+THREE.ArrowHelper.prototype.setColor = function ( hex ) {
+
+	this.line.material.color.setHex( hex );
+	this.cone.material.color.setHex( hex );
+
+};
+
+THREE.ArrowHelper.__v1 = new THREE.Vector3();
+THREE.ArrowHelper.__v2 = new THREE.Vector3();
+THREE.ArrowHelper.__q1 = new THREE.Quaternion();
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- shows frustum, line of sight and up of the camera
+ *	- suitable for fast updates
+ * 	- based on frustum visualization in lightgl.js shadowmap example
+ *		http://evanw.github.com/lightgl.js/tests/shadowmap.html
+ */
+
+THREE.CameraHelper = function ( camera ) {
+
+	THREE.Line.call( this );
+
+	var scope = this;
+
+	this.geometry = new THREE.Geometry();
+	this.material = new THREE.LineBasicMaterial( { color: 0xffffff, vertexColors: THREE.FaceColors } );
+	this.type = THREE.LinePieces;
+
+	this.matrixWorld = camera.matrixWorld;
+	this.matrixAutoUpdate = false;
+
+	this.pointMap = {};
+
+	// colors
+
+	var hexFrustum = 0xffaa00;
+	var hexCone = 0xff0000;
+	var hexUp = 0x00aaff;
+	var hexTarget = 0xffffff;
+	var hexCross = 0x333333;
+
+	// near
+
+	addLine( "n1", "n2", hexFrustum );
+	addLine( "n2", "n4", hexFrustum );
+	addLine( "n4", "n3", hexFrustum );
+	addLine( "n3", "n1", hexFrustum );
+
+	// far
+
+	addLine( "f1", "f2", hexFrustum );
+	addLine( "f2", "f4", hexFrustum );
+	addLine( "f4", "f3", hexFrustum );
+	addLine( "f3", "f1", hexFrustum );
+
+	// sides
+
+	addLine( "n1", "f1", hexFrustum );
+	addLine( "n2", "f2", hexFrustum );
+	addLine( "n3", "f3", hexFrustum );
+	addLine( "n4", "f4", hexFrustum );
+
+	// cone
+
+	addLine( "p", "n1", hexCone );
+	addLine( "p", "n2", hexCone );
+	addLine( "p", "n3", hexCone );
+	addLine( "p", "n4", hexCone );
+
+	// up
+
+	addLine( "u1", "u2", hexUp );
+	addLine( "u2", "u3", hexUp );
+	addLine( "u3", "u1", hexUp );
+
+	// target
+
+	addLine( "c", "t", hexTarget );
+	addLine( "p", "c", hexCross );
+
+	// cross
+
+	addLine( "cn1", "cn2", hexCross );
+	addLine( "cn3", "cn4", hexCross );
+
+	addLine( "cf1", "cf2", hexCross );
+	addLine( "cf3", "cf4", hexCross );
+
+	this.camera = camera;
+
+	function addLine( a, b, hex ) {
+
+		addPoint( a, hex );
+		addPoint( b, hex );
+
+	}
+
+	function addPoint( id, hex ) {
+
+		scope.geometry.vertices.push( new THREE.Vector3() );
+		scope.geometry.colors.push( new THREE.Color( hex ) );
+
+		if ( scope.pointMap[ id ] === undefined ) scope.pointMap[ id ] = [];
+
+		scope.pointMap[ id ].push( scope.geometry.vertices.length - 1 );
+
+	}
+
+	this.update( camera );
+
+};
+
+THREE.CameraHelper.prototype = Object.create( THREE.Line.prototype );
+
+THREE.CameraHelper.prototype.update = function () {
+
+	var scope = this;
+
+	var w = 1, h = 1;
+
+	// we need just camera projection matrix
+	// world matrix must be identity
+
+	THREE.CameraHelper.__c.projectionMatrix.copy( this.camera.projectionMatrix );
+
+	// center / target
+
+	setPoint( "c", 0, 0, -1 );
+	setPoint( "t", 0, 0,  1 );
+
+	// near
+
+	setPoint( "n1", -w, -h, -1 );
+	setPoint( "n2",  w, -h, -1 );
+	setPoint( "n3", -w,  h, -1 );
+	setPoint( "n4",  w,  h, -1 );
+
+	// far
+
+	setPoint( "f1", -w, -h, 1 );
+	setPoint( "f2",  w, -h, 1 );
+	setPoint( "f3", -w,  h, 1 );
+	setPoint( "f4",  w,  h, 1 );
+
+	// up
+
+	setPoint( "u1",  w * 0.7, h * 1.1, -1 );
+	setPoint( "u2", -w * 0.7, h * 1.1, -1 );
+	setPoint( "u3",        0, h * 2,   -1 );
+
+	// cross
+
+	setPoint( "cf1", -w,  0, 1 );
+	setPoint( "cf2",  w,  0, 1 );
+	setPoint( "cf3",  0, -h, 1 );
+	setPoint( "cf4",  0,  h, 1 );
+
+	setPoint( "cn1", -w,  0, -1 );
+	setPoint( "cn2",  w,  0, -1 );
+	setPoint( "cn3",  0, -h, -1 );
+	setPoint( "cn4",  0,  h, -1 );
+
+	function setPoint( point, x, y, z ) {
+
+		THREE.CameraHelper.__v.set( x, y, z );
+		THREE.CameraHelper.__projector.unprojectVector( THREE.CameraHelper.__v, THREE.CameraHelper.__c );
+
+		var points = scope.pointMap[ point ];
+
+		if ( points !== undefined ) {
+
+			for ( var i = 0, il = points.length; i < il; i ++ ) {
+
+				scope.geometry.vertices[ points[ i ] ].copy( THREE.CameraHelper.__v );
+
+			}
+
+		}
+
+	}
+
+	this.geometry.verticesNeedUpdate = true;
+
+};
+
+THREE.CameraHelper.__projector = new THREE.Projector();
+THREE.CameraHelper.__v = new THREE.Vector3();
+THREE.CameraHelper.__c = new THREE.Camera();
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- shows directional light color, intensity, position, orientation and target
+ */
+
+THREE.DirectionalLightHelper = function ( light, sphereSize ) {
+
+	THREE.Object3D.call( this );
+
+	this.light = light;
+
+	// position
+
+	this.position = light.position;
+
+	// direction
+
+	this.direction = new THREE.Vector3();
+	this.direction.subVectors( light.target.position, light.position );
+
+	// color
+
+	var intensity = THREE.Math.clamp( light.intensity, 0, 1 );
+
+	this.color = light.color.clone();
+	this.color.multiplyScalar( intensity );
+
+	var hexColor = this.color.getHex();
+
+	// light helper
+
+	var bulbGeometry = new THREE.SphereGeometry( sphereSize, 16, 8 );
+	var raysGeometry = new THREE.AsteriskGeometry( sphereSize * 1.25, sphereSize * 2.25 );
+
+	var bulbMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false } );
+	var raysMaterial = new THREE.LineBasicMaterial( { color: hexColor, fog: false } );
+
+	this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );
+
+	this.lightRays = new THREE.Line( raysGeometry, raysMaterial, THREE.LinePieces );
+
+	this.add( this.lightSphere );
+	this.add( this.lightRays );
+
+	this.lightSphere.properties.isGizmo = true;
+	this.lightSphere.properties.gizmoSubject = light;
+	this.lightSphere.properties.gizmoRoot = this;
+
+	// light target helper
+
+	this.targetSphere = null;
+
+	if ( light.target.properties.targetInverse !== undefined ) {
+
+		var targetGeo = new THREE.SphereGeometry( sphereSize, 8, 4 );
+		var targetMaterial = new THREE.MeshBasicMaterial( { color: hexColor, wireframe: true, fog: false } );
+
+		this.targetSphere = new THREE.Mesh( targetGeo, targetMaterial );
+		this.targetSphere.position = light.target.position;
+
+		this.targetSphere.properties.isGizmo = true;
+		this.targetSphere.properties.gizmoSubject = light.target;
+		this.targetSphere.properties.gizmoRoot = this.targetSphere;
+
+		var lineMaterial = new THREE.LineDashedMaterial( { color: hexColor, dashSize: 4, gapSize: 4, opacity: 0.75, transparent: true, fog: false } );
+		var lineGeometry = new THREE.Geometry();
+		lineGeometry.vertices.push( this.position.clone() );
+		lineGeometry.vertices.push( this.targetSphere.position.clone() );
+		lineGeometry.computeLineDistances();
+
+		this.targetLine = new THREE.Line( lineGeometry, lineMaterial );
+		this.targetLine.properties.isGizmo = true;
+
+	}
+
+	//
+
+	this.properties.isGizmo = true;
+
+}
+
+THREE.DirectionalLightHelper.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.DirectionalLightHelper.prototype.update = function () {
+
+	// update arrow orientation
+	// pointing from light to target
+
+	this.direction.subVectors( this.light.target.position, this.light.position );
+
+	// update arrow, spheres, rays and line colors to light color * light intensity
+
+	var intensity = THREE.Math.clamp( this.light.intensity, 0, 1 );
+
+	this.color.copy( this.light.color );
+	this.color.multiplyScalar( intensity );
+
+	this.lightSphere.material.color.copy( this.color );
+	this.lightRays.material.color.copy( this.color );
+
+	// Only update targetSphere and targetLine if available
+	if ( this.targetSphere !== null ) {
+
+		this.targetSphere.material.color.copy( this.color );
+		this.targetLine.material.color.copy( this.color );
+
+		// update target line vertices
+
+		this.targetLine.geometry.vertices[ 0 ].copy( this.light.position );
+		this.targetLine.geometry.vertices[ 1 ].copy( this.light.target.position );
+
+		this.targetLine.geometry.computeLineDistances();
+		this.targetLine.geometry.verticesNeedUpdate = true;
+
+	}
+
+}
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- shows hemisphere light intensity, sky and ground colors and directions
+ */
+
+THREE.HemisphereLightHelper = function ( light, sphereSize, arrowLength, domeSize ) {
+
+	THREE.Object3D.call( this );
+
+	this.light = light;
+
+	// position
+
+	this.position = light.position;
+
+	//
+
+	var intensity = THREE.Math.clamp( light.intensity, 0, 1 );
+
+	// sky color
+
+	this.color = light.color.clone();
+	this.color.multiplyScalar( intensity );
+
+	var hexColor = this.color.getHex();
+
+	// ground color
+
+	this.groundColor = light.groundColor.clone();
+	this.groundColor.multiplyScalar( intensity );
+
+	var hexColorGround = this.groundColor.getHex();
+
+	// double colored light bulb
+
+	var bulbGeometry = new THREE.SphereGeometry( sphereSize, 16, 8, 0, Math.PI * 2, 0, Math.PI * 0.5 );
+	var bulbGroundGeometry = new THREE.SphereGeometry( sphereSize, 16, 8, 0, Math.PI * 2, Math.PI * 0.5, Math.PI );
+
+	var bulbSkyMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false } );
+	var bulbGroundMaterial = new THREE.MeshBasicMaterial( { color: hexColorGround, fog: false } );
+
+	for ( var i = 0, il = bulbGeometry.faces.length; i < il; i ++ ) {
+
+		bulbGeometry.faces[ i ].materialIndex = 0;
+
+	}
+
+	for ( var i = 0, il = bulbGroundGeometry.faces.length; i < il; i ++ ) {
+
+		bulbGroundGeometry.faces[ i ].materialIndex = 1;
+
+	}
+
+	THREE.GeometryUtils.merge( bulbGeometry, bulbGroundGeometry );
+
+	this.lightSphere = new THREE.Mesh( bulbGeometry, new THREE.MeshFaceMaterial( [ bulbSkyMaterial, bulbGroundMaterial ] ) );
+
+	// arrows for sky and ground light directions
+
+	this.lightArrow = new THREE.ArrowHelper( new THREE.Vector3( 0, 1, 0 ), new THREE.Vector3( 0, ( sphereSize + arrowLength ) * 1.1, 0 ), arrowLength, hexColor );
+	this.lightArrow.rotation.x = Math.PI;
+
+	this.lightArrowGround = new THREE.ArrowHelper( new THREE.Vector3( 0, 1, 0 ), new THREE.Vector3( 0, ( sphereSize + arrowLength ) * -1.1, 0 ), arrowLength, hexColorGround );
+
+	var joint = new THREE.Object3D();
+	joint.rotation.x = -Math.PI * 0.5;
+
+	joint.add( this.lightSphere );
+	joint.add( this.lightArrow );
+	joint.add( this.lightArrowGround );
+
+	this.add( joint );
+
+	//
+
+	this.lightSphere.properties.isGizmo = true;
+	this.lightSphere.properties.gizmoSubject = light;
+	this.lightSphere.properties.gizmoRoot = this;
+
+	//
+
+	this.properties.isGizmo = true;
+
+	//
+
+	this.target = new THREE.Vector3();
+	this.lookAt( this.target );
+
+}
+
+THREE.HemisphereLightHelper.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.HemisphereLightHelper.prototype.update = function () {
+
+	// update sphere sky and ground colors to light color * light intensity
+
+	var intensity = THREE.Math.clamp( this.light.intensity, 0, 1 );
+
+	this.color.copy( this.light.color );
+	this.color.multiplyScalar( intensity );
+
+	this.groundColor.copy( this.light.groundColor );
+	this.groundColor.multiplyScalar( intensity );
+
+	this.lightSphere.material.materials[ 0 ].color.copy( this.color );
+	this.lightSphere.material.materials[ 1 ].color.copy( this.groundColor );
+
+	this.lightArrow.setColor( this.color.getHex() );
+	this.lightArrowGround.setColor( this.groundColor.getHex() );
+
+	this.lookAt( this.target );
+
+}
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- shows point light color, intensity, position and distance
+ */
+
+THREE.PointLightHelper = function ( light, sphereSize ) {
+
+	THREE.Object3D.call( this );
+
+	this.light = light;
+
+	// position
+
+	this.position = light.position;
+
+	// color
+
+	var intensity = THREE.Math.clamp( light.intensity, 0, 1 );
+
+	this.color = light.color.clone();
+	this.color.multiplyScalar( intensity );
+
+	var hexColor = this.color.getHex();
+
+	// light helper
+
+	var bulbGeometry = new THREE.SphereGeometry( sphereSize, 16, 8 );
+	var raysGeometry = new THREE.AsteriskGeometry( sphereSize * 1.25, sphereSize * 2.25 );
+	var distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );
+
+	var bulbMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false } );
+	var raysMaterial = new THREE.LineBasicMaterial( { color: hexColor, fog: false } );
+	var distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );
+
+	this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );
+	this.lightRays = new THREE.Line( raysGeometry, raysMaterial, THREE.LinePieces );
+	this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );
+
+	var d = light.distance;
+
+	if ( d === 0.0 ) {
+
+		this.lightDistance.visible = false;
+
+	} else {
+
+		this.lightDistance.scale.set( d, d, d );
+
+	}
+
+	this.add( this.lightSphere );
+	this.add( this.lightRays );
+	this.add( this.lightDistance );
+
+	//
+
+	this.lightSphere.properties.isGizmo = true;
+	this.lightSphere.properties.gizmoSubject = light;
+	this.lightSphere.properties.gizmoRoot = this;
+
+	//
+
+	this.properties.isGizmo = true;
+
+}
+
+THREE.PointLightHelper.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.PointLightHelper.prototype.update = function () {
+
+	// update sphere and rays colors to light color * light intensity
+
+	var intensity = THREE.Math.clamp( this.light.intensity, 0, 1 );
+
+	this.color.copy( this.light.color );
+	this.color.multiplyScalar( intensity );
+
+	this.lightSphere.material.color.copy( this.color );
+	this.lightRays.material.color.copy( this.color );
+	this.lightDistance.material.color.copy( this.color );
+
+	//
+
+	var d = this.light.distance;
+
+	if ( d === 0.0 ) {
+
+		this.lightDistance.visible = false;
+
+	} else {
+
+		this.lightDistance.visible = true;
+		this.lightDistance.scale.set( d, d, d );
+
+	}
+
+}
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ *	- shows spot light color, intensity, position, orientation, light cone and target
+ */
+
+THREE.SpotLightHelper = function ( light, sphereSize ) {
+
+	THREE.Object3D.call( this );
+
+	this.light = light;
+
+	// position
+
+	this.position = light.position;
+
+	// direction
+
+	this.direction = new THREE.Vector3();
+	this.direction.subVectors( light.target.position, light.position );
+
+	// color
+
+	var intensity = THREE.Math.clamp( light.intensity, 0, 1 );
+
+	this.color = light.color.clone();
+	this.color.multiplyScalar( intensity );
+
+	var hexColor = this.color.getHex();
+
+	// light helper
+
+	var bulbGeometry = new THREE.SphereGeometry( sphereSize, 16, 8 );
+	var raysGeometry = new THREE.AsteriskGeometry( sphereSize * 1.25, sphereSize * 2.25 );
+	var coneGeometry = new THREE.CylinderGeometry( 0.0001, 1, 1, 8, 1, true );
+
+	var coneMatrix = new THREE.Matrix4();
+	coneMatrix.rotateX( -Math.PI/2 );
+	coneMatrix.translate( new THREE.Vector3( 0, -0.5, 0 ) );
+	coneGeometry.applyMatrix( coneMatrix );
+
+	var bulbMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false } );
+	var raysMaterial = new THREE.LineBasicMaterial( { color: hexColor, fog: false } );
+	var coneMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.3, transparent: true } );
+
+	this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );
+	this.lightCone = new THREE.Mesh( coneGeometry, coneMaterial );
+
+	var coneLength = light.distance ? light.distance : 10000;
+	var coneWidth = coneLength * Math.tan( light.angle * 0.5 ) * 2;
+	this.lightCone.scale.set( coneWidth, coneWidth, coneLength );
+
+	this.lightRays = new THREE.Line( raysGeometry, raysMaterial, THREE.LinePieces );
+
+	this.gyroscope = new THREE.Gyroscope();
+
+	this.gyroscope.add( this.lightSphere );
+	this.gyroscope.add( this.lightRays );
+
+	this.add( this.gyroscope );
+	this.add( this.lightCone );
+
+	this.lookAt( light.target.position );
+
+	this.lightSphere.properties.isGizmo = true;
+	this.lightSphere.properties.gizmoSubject = light;
+	this.lightSphere.properties.gizmoRoot = this;
+
+	// light target helper
+
+	this.targetSphere = null;
+
+	if ( light.target.properties.targetInverse !== undefined ) {
+
+		var targetGeo = new THREE.SphereGeometry( sphereSize, 8, 4 );
+		var targetMaterial = new THREE.MeshBasicMaterial( { color: hexColor, wireframe: true, fog: false } );
+
+		this.targetSphere = new THREE.Mesh( targetGeo, targetMaterial );
+		this.targetSphere.position = light.target.position;
+
+		this.targetSphere.properties.isGizmo = true;
+		this.targetSphere.properties.gizmoSubject = light.target;
+		this.targetSphere.properties.gizmoRoot = this.targetSphere;
+
+		var lineMaterial = new THREE.LineDashedMaterial( { color: hexColor, dashSize: 4, gapSize: 4, opacity: 0.75, transparent: true, fog: false } );
+		var lineGeometry = new THREE.Geometry();
+		lineGeometry.vertices.push( this.position.clone() );
+		lineGeometry.vertices.push( this.targetSphere.position.clone() );
+		lineGeometry.computeLineDistances();
+
+		this.targetLine = new THREE.Line( lineGeometry, lineMaterial );
+		this.targetLine.properties.isGizmo = true;
+
+	}
+
+	//
+
+	this.properties.isGizmo = true;
+
+}
+
+THREE.SpotLightHelper.prototype = Object.create( THREE.Object3D.prototype );
+
+THREE.SpotLightHelper.prototype.update = function () {
+
+	// update arrow orientation
+	// pointing from light to target
+
+	this.direction.subVectors( this.light.target.position, this.light.position );
+
+	// update light cone orientation and size
+
+	this.lookAt( this.light.target.position );
+
+	var coneLength = this.light.distance ? this.light.distance : 10000;
+	var coneWidth = coneLength * Math.tan( this.light.angle * 0.5 ) * 2;
+	this.lightCone.scale.set( coneWidth, coneWidth, coneLength );
+
+	// update arrow, spheres, rays and line colors to light color * light intensity
+
+	var intensity = THREE.Math.clamp( this.light.intensity, 0, 1 );
+
+	this.color.copy( this.light.color );
+	this.color.multiplyScalar( intensity );
+
+	this.lightSphere.material.color.copy( this.color );
+	this.lightRays.material.color.copy( this.color );
+	this.lightCone.material.color.copy( this.color );
+
+	// Only update targetSphere and targetLine if available
+	if ( this.targetSphere !== null ) {
+
+		this.targetSphere.material.color.copy( this.color );
+		this.targetLine.material.color.copy( this.color );
+
+		// update target line vertices
+
+		this.targetLine.geometry.vertices[ 0 ].copy( this.light.position );
+		this.targetLine.geometry.vertices[ 1 ].copy( this.light.target.position );
+
+		this.targetLine.geometry.computeLineDistances();
+		this.targetLine.geometry.verticesNeedUpdate = true;
+
+	}
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.ImmediateRenderObject = function () {
+
+	THREE.Object3D.call( this );
+
+	this.render = function ( renderCallback ) { };
+
+};
+
+THREE.ImmediateRenderObject.prototype = Object.create( THREE.Object3D.prototype );
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.LensFlare = function ( texture, size, distance, blending, color ) {
+
+	THREE.Object3D.call( this );
+
+	this.lensFlares = [];
+
+	this.positionScreen = new THREE.Vector3();
+	this.customUpdateCallback = undefined;
+
+	if( texture !== undefined ) {
+
+		this.add( texture, size, distance, blending, color );
+
+	}
+
+};
+
+THREE.LensFlare.prototype = Object.create( THREE.Object3D.prototype );
+
+
+/*
+ * Add: adds another flare
+ */
+
+THREE.LensFlare.prototype.add = function ( texture, size, distance, blending, color, opacity ) {
+
+	if( size === undefined ) size = -1;
+	if( distance === undefined ) distance = 0;
+	if( opacity === undefined ) opacity = 1;
+	if( color === undefined ) color = new THREE.Color( 0xffffff );
+	if( blending === undefined ) blending = THREE.NormalBlending;
+
+	distance = Math.min( distance, Math.max( 0, distance ) );
+
+	this.lensFlares.push( { texture: texture, 			// THREE.Texture
+		                    size: size, 				// size in pixels (-1 = use texture.width)
+		                    distance: distance, 		// distance (0-1) from light source (0=at light source)
+		                    x: 0, y: 0, z: 0,			// screen position (-1 => 1) z = 0 is ontop z = 1 is back
+		                    scale: 1, 					// scale
+		                    rotation: 1, 				// rotation
+		                    opacity: opacity,			// opacity
+							color: color,				// color
+		                    blending: blending } );		// blending
+
+};
+
+
+/*
+ * Update lens flares update positions on all flares based on the screen position
+ * Set myLensFlare.customUpdateCallback to alter the flares in your project specific way.
+ */
+
+THREE.LensFlare.prototype.updateLensFlares = function () {
+
+	var f, fl = this.lensFlares.length;
+	var flare;
+	var vecX = -this.positionScreen.x * 2;
+	var vecY = -this.positionScreen.y * 2;
+
+	for( f = 0; f < fl; f ++ ) {
+
+		flare = this.lensFlares[ f ];
+
+		flare.x = this.positionScreen.x + vecX * flare.distance;
+		flare.y = this.positionScreen.y + vecY * flare.distance;
+
+		flare.wantedRotation = flare.x * Math.PI * 0.25;
+		flare.rotation += ( flare.wantedRotation - flare.rotation ) * 0.25;
+
+	}
+
+};
+
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.MorphBlendMesh = function( geometry, material ) {
+
+	THREE.Mesh.call( this, geometry, material );
+
+	this.animationsMap = {};
+	this.animationsList = [];
+
+	// prepare default animation
+	// (all frames played together in 1 second)
+
+	var numFrames = this.geometry.morphTargets.length;
+
+	var name = "__default";
+
+	var startFrame = 0;
+	var endFrame = numFrames - 1;
+
+	var fps = numFrames / 1;
+
+	this.createAnimation( name, startFrame, endFrame, fps );
+	this.setAnimationWeight( name, 1 );
+
+};
+
+THREE.MorphBlendMesh.prototype = Object.create( THREE.Mesh.prototype );
+
+THREE.MorphBlendMesh.prototype.createAnimation = function ( name, start, end, fps ) {
+
+	var animation = {
+
+		startFrame: start,
+		endFrame: end,
+
+		length: end - start + 1,
+
+		fps: fps,
+		duration: ( end - start ) / fps,
+
+		lastFrame: 0,
+		currentFrame: 0,
+
+		active: false,
+
+		time: 0,
+		direction: 1,
+		weight: 1,
+
+		directionBackwards: false,
+		mirroredLoop: false
+
+	};
+
+	this.animationsMap[ name ] = animation;
+	this.animationsList.push( animation );
+
+};
+
+THREE.MorphBlendMesh.prototype.autoCreateAnimations = function ( fps ) {
+
+	var pattern = /([a-z]+)(\d+)/;
+
+	var firstAnimation, frameRanges = {};
+
+	var geometry = this.geometry;
+
+	for ( var i = 0, il = geometry.morphTargets.length; i < il; i ++ ) {
+
+		var morph = geometry.morphTargets[ i ];
+		var chunks = morph.name.match( pattern );
+
+		if ( chunks && chunks.length > 1 ) {
+
+			var name = chunks[ 1 ];
+			var num = chunks[ 2 ];
+
+			if ( ! frameRanges[ name ] ) frameRanges[ name ] = { start: Infinity, end: -Infinity };
+
+			var range = frameRanges[ name ];
+
+			if ( i < range.start ) range.start = i;
+			if ( i > range.end ) range.end = i;
+
+			if ( ! firstAnimation ) firstAnimation = name;
+
+		}
+
+	}
+
+	for ( var name in frameRanges ) {
+
+		var range = frameRanges[ name ];
+		this.createAnimation( name, range.start, range.end, fps );
+
+	}
+
+	this.firstAnimation = firstAnimation;
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationDirectionForward = function ( name ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.direction = 1;
+		animation.directionBackwards = false;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward = function ( name ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.direction = -1;
+		animation.directionBackwards = true;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationFPS = function ( name, fps ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.fps = fps;
+		animation.duration = ( animation.end - animation.start ) / animation.fps;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationDuration = function ( name, duration ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.duration = duration;
+		animation.fps = ( animation.end - animation.start ) / animation.duration;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationWeight = function ( name, weight ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.weight = weight;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.setAnimationTime = function ( name, time ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.time = time;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.getAnimationTime = function ( name ) {
+
+	var time = 0;
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		time = animation.time;
+
+	}
+
+	return time;
+
+};
+
+THREE.MorphBlendMesh.prototype.getAnimationDuration = function ( name ) {
+
+	var duration = -1;
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		duration = animation.duration;
+
+	}
+
+	return duration;
+
+};
+
+THREE.MorphBlendMesh.prototype.playAnimation = function ( name ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.time = 0;
+		animation.active = true;
+
+	} else {
+
+		console.warn( "animation[" + name + "] undefined" );
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.stopAnimation = function ( name ) {
+
+	var animation = this.animationsMap[ name ];
+
+	if ( animation ) {
+
+		animation.active = false;
+
+	}
+
+};
+
+THREE.MorphBlendMesh.prototype.update = function ( delta ) {
+
+	for ( var i = 0, il = this.animationsList.length; i < il; i ++ ) {
+
+		var animation = this.animationsList[ i ];
+
+		if ( ! animation.active ) continue;
+
+		var frameTime = animation.duration / animation.length;
+
+		animation.time += animation.direction * delta;
+
+		if ( animation.mirroredLoop ) {
+
+			if ( animation.time > animation.duration || animation.time < 0 ) {
+
+				animation.direction *= -1;
+
+				if ( animation.time > animation.duration ) {
+
+					animation.time = animation.duration;
+					animation.directionBackwards = true;
+
+				}
+
+				if ( animation.time < 0 ) {
+
+					animation.time = 0;
+					animation.directionBackwards = false;
+
+				}
+
+			}
+
+		} else {
+
+			animation.time = animation.time % animation.duration;
+
+			if ( animation.time < 0 ) animation.time += animation.duration;
+
+		}
+
+		var keyframe = animation.startFrame + THREE.Math.clamp( Math.floor( animation.time / frameTime ), 0, animation.length - 1 );
+		var weight = animation.weight;
+
+		if ( keyframe !== animation.currentFrame ) {
+
+			this.morphTargetInfluences[ animation.lastFrame ] = 0;
+			this.morphTargetInfluences[ animation.currentFrame ] = 1 * weight;
+
+			this.morphTargetInfluences[ keyframe ] = 0;
+
+			animation.lastFrame = animation.currentFrame;
+			animation.currentFrame = keyframe;
+
+		}
+
+		var mix = ( animation.time % frameTime ) / frameTime;
+
+		if ( animation.directionBackwards ) mix = 1 - mix;
+
+		this.morphTargetInfluences[ animation.currentFrame ] = mix * weight;
+		this.morphTargetInfluences[ animation.lastFrame ] = ( 1 - mix ) * weight;
+
+	}
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.LensFlarePlugin = function () {
+
+	var _gl, _renderer, _precision, _lensFlare = {};
+
+	this.init = function ( renderer ) {
+
+		_gl = renderer.context;
+		_renderer = renderer;
+
+		_precision = renderer.getPrecision();
+
+		_lensFlare.vertices = new Float32Array( 8 + 8 );
+		_lensFlare.faces = new Uint16Array( 6 );
+
+		var i = 0;
+		_lensFlare.vertices[ i++ ] = -1; _lensFlare.vertices[ i++ ] = -1;	// vertex
+		_lensFlare.vertices[ i++ ] = 0;  _lensFlare.vertices[ i++ ] = 0;	// uv... etc.
+
+		_lensFlare.vertices[ i++ ] = 1;  _lensFlare.vertices[ i++ ] = -1;
+		_lensFlare.vertices[ i++ ] = 1;  _lensFlare.vertices[ i++ ] = 0;
+
+		_lensFlare.vertices[ i++ ] = 1;  _lensFlare.vertices[ i++ ] = 1;
+		_lensFlare.vertices[ i++ ] = 1;  _lensFlare.vertices[ i++ ] = 1;
+
+		_lensFlare.vertices[ i++ ] = -1; _lensFlare.vertices[ i++ ] = 1;
+		_lensFlare.vertices[ i++ ] = 0;  _lensFlare.vertices[ i++ ] = 1;
+
+		i = 0;
+		_lensFlare.faces[ i++ ] = 0; _lensFlare.faces[ i++ ] = 1; _lensFlare.faces[ i++ ] = 2;
+		_lensFlare.faces[ i++ ] = 0; _lensFlare.faces[ i++ ] = 2; _lensFlare.faces[ i++ ] = 3;
+
+		// buffers
+
+		_lensFlare.vertexBuffer     = _gl.createBuffer();
+		_lensFlare.elementBuffer    = _gl.createBuffer();
+
+		_gl.bindBuffer( _gl.ARRAY_BUFFER, _lensFlare.vertexBuffer );
+		_gl.bufferData( _gl.ARRAY_BUFFER, _lensFlare.vertices, _gl.STATIC_DRAW );
+
+		_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, _lensFlare.elementBuffer );
+		_gl.bufferData( _gl.ELEMENT_ARRAY_BUFFER, _lensFlare.faces, _gl.STATIC_DRAW );
+
+		// textures
+
+		_lensFlare.tempTexture      = _gl.createTexture();
+		_lensFlare.occlusionTexture = _gl.createTexture();
+
+		_gl.bindTexture( _gl.TEXTURE_2D, _lensFlare.tempTexture );
+		_gl.texImage2D( _gl.TEXTURE_2D, 0, _gl.RGB, 16, 16, 0, _gl.RGB, _gl.UNSIGNED_BYTE, null );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, _gl.NEAREST );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, _gl.NEAREST );
+
+		_gl.bindTexture( _gl.TEXTURE_2D, _lensFlare.occlusionTexture );
+		_gl.texImage2D( _gl.TEXTURE_2D, 0, _gl.RGBA, 16, 16, 0, _gl.RGBA, _gl.UNSIGNED_BYTE, null );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, _gl.NEAREST );
+		_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, _gl.NEAREST );
+
+		if ( _gl.getParameter( _gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ) <= 0 ) {
+
+			_lensFlare.hasVertexTexture = false;
+			_lensFlare.program = createProgram( THREE.ShaderFlares[ "lensFlare" ], _precision );
+
+		} else {
+
+			_lensFlare.hasVertexTexture = true;
+			_lensFlare.program = createProgram( THREE.ShaderFlares[ "lensFlareVertexTexture" ], _precision );
+
+		}
+
+		_lensFlare.attributes = {};
+		_lensFlare.uniforms = {};
+
+		_lensFlare.attributes.vertex       = _gl.getAttribLocation ( _lensFlare.program, "position" );
+		_lensFlare.attributes.uv           = _gl.getAttribLocation ( _lensFlare.program, "uv" );
+
+		_lensFlare.uniforms.renderType     = _gl.getUniformLocation( _lensFlare.program, "renderType" );
+		_lensFlare.uniforms.map            = _gl.getUniformLocation( _lensFlare.program, "map" );
+		_lensFlare.uniforms.occlusionMap   = _gl.getUniformLocation( _lensFlare.program, "occlusionMap" );
+		_lensFlare.uniforms.opacity        = _gl.getUniformLocation( _lensFlare.program, "opacity" );
+		_lensFlare.uniforms.color          = _gl.getUniformLocation( _lensFlare.program, "color" );
+		_lensFlare.uniforms.scale          = _gl.getUniformLocation( _lensFlare.program, "scale" );
+		_lensFlare.uniforms.rotation       = _gl.getUniformLocation( _lensFlare.program, "rotation" );
+		_lensFlare.uniforms.screenPosition = _gl.getUniformLocation( _lensFlare.program, "screenPosition" );
+
+	};
+
+
+	/*
+	 * Render lens flares
+	 * Method: renders 16x16 0xff00ff-colored points scattered over the light source area,
+	 *         reads these back and calculates occlusion.
+	 *         Then _lensFlare.update_lensFlares() is called to re-position and
+	 *         update transparency of flares. Then they are rendered.
+	 *
+	 */
+
+	this.render = function ( scene, camera, viewportWidth, viewportHeight ) {
+
+		var flares = scene.__webglFlares,
+			nFlares = flares.length;
+
+		if ( ! nFlares ) return;
+
+		var tempPosition = new THREE.Vector3();
+
+		var invAspect = viewportHeight / viewportWidth,
+			halfViewportWidth = viewportWidth * 0.5,
+			halfViewportHeight = viewportHeight * 0.5;
+
+		var size = 16 / viewportHeight,
+			scale = new THREE.Vector2( size * invAspect, size );
+
+		var screenPosition = new THREE.Vector3( 1, 1, 0 ),
+			screenPositionPixels = new THREE.Vector2( 1, 1 );
+
+		var uniforms = _lensFlare.uniforms,
+			attributes = _lensFlare.attributes;
+
+		// set _lensFlare program and reset blending
+
+		_gl.useProgram( _lensFlare.program );
+
+		_gl.enableVertexAttribArray( _lensFlare.attributes.vertex );
+		_gl.enableVertexAttribArray( _lensFlare.attributes.uv );
+
+		// loop through all lens flares to update their occlusion and positions
+		// setup gl and common used attribs/unforms
+
+		_gl.uniform1i( uniforms.occlusionMap, 0 );
+		_gl.uniform1i( uniforms.map, 1 );
+
+		_gl.bindBuffer( _gl.ARRAY_BUFFER, _lensFlare.vertexBuffer );
+		_gl.vertexAttribPointer( attributes.vertex, 2, _gl.FLOAT, false, 2 * 8, 0 );
+		_gl.vertexAttribPointer( attributes.uv, 2, _gl.FLOAT, false, 2 * 8, 8 );
+
+		_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, _lensFlare.elementBuffer );
+
+		_gl.disable( _gl.CULL_FACE );
+		_gl.depthMask( false );
+
+		var i, j, jl, flare, sprite;
+
+		for ( i = 0; i < nFlares; i ++ ) {
+
+			size = 16 / viewportHeight;
+			scale.set( size * invAspect, size );
+
+			// calc object screen position
+
+			flare = flares[ i ];
+
+			tempPosition.set( flare.matrixWorld.elements[12], flare.matrixWorld.elements[13], flare.matrixWorld.elements[14] );
+
+			tempPosition.applyMatrix4( camera.matrixWorldInverse );
+			tempPosition.applyProjection( camera.projectionMatrix );
+
+			// setup arrays for gl programs
+
+			screenPosition.copy( tempPosition )
+
+			screenPositionPixels.x = screenPosition.x * halfViewportWidth + halfViewportWidth;
+			screenPositionPixels.y = screenPosition.y * halfViewportHeight + halfViewportHeight;
+
+			// screen cull
+
+			if ( _lensFlare.hasVertexTexture || (
+				screenPositionPixels.x > 0 &&
+				screenPositionPixels.x < viewportWidth &&
+				screenPositionPixels.y > 0 &&
+				screenPositionPixels.y < viewportHeight ) ) {
+
+				// save current RGB to temp texture
+
+				_gl.activeTexture( _gl.TEXTURE1 );
+				_gl.bindTexture( _gl.TEXTURE_2D, _lensFlare.tempTexture );
+				_gl.copyTexImage2D( _gl.TEXTURE_2D, 0, _gl.RGB, screenPositionPixels.x - 8, screenPositionPixels.y - 8, 16, 16, 0 );
+
+
+				// render pink quad
+
+				_gl.uniform1i( uniforms.renderType, 0 );
+				_gl.uniform2f( uniforms.scale, scale.x, scale.y );
+				_gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z );
+
+				_gl.disable( _gl.BLEND );
+				_gl.enable( _gl.DEPTH_TEST );
+
+				_gl.drawElements( _gl.TRIANGLES, 6, _gl.UNSIGNED_SHORT, 0 );
+
+
+				// copy result to occlusionMap
+
+				_gl.activeTexture( _gl.TEXTURE0 );
+				_gl.bindTexture( _gl.TEXTURE_2D, _lensFlare.occlusionTexture );
+				_gl.copyTexImage2D( _gl.TEXTURE_2D, 0, _gl.RGBA, screenPositionPixels.x - 8, screenPositionPixels.y - 8, 16, 16, 0 );
+
+
+				// restore graphics
+
+				_gl.uniform1i( uniforms.renderType, 1 );
+				_gl.disable( _gl.DEPTH_TEST );
+
+				_gl.activeTexture( _gl.TEXTURE1 );
+				_gl.bindTexture( _gl.TEXTURE_2D, _lensFlare.tempTexture );
+				_gl.drawElements( _gl.TRIANGLES, 6, _gl.UNSIGNED_SHORT, 0 );
+
+
+				// update object positions
+
+				flare.positionScreen.copy( screenPosition )
+
+				if ( flare.customUpdateCallback ) {
+
+					flare.customUpdateCallback( flare );
+
+				} else {
+
+					flare.updateLensFlares();
+
+				}
+
+				// render flares
+
+				_gl.uniform1i( uniforms.renderType, 2 );
+				_gl.enable( _gl.BLEND );
+
+				for ( j = 0, jl = flare.lensFlares.length; j < jl; j ++ ) {
+
+					sprite = flare.lensFlares[ j ];
+
+					if ( sprite.opacity > 0.001 && sprite.scale > 0.001 ) {
+
+						screenPosition.x = sprite.x;
+						screenPosition.y = sprite.y;
+						screenPosition.z = sprite.z;
+
+						size = sprite.size * sprite.scale / viewportHeight;
+
+						scale.x = size * invAspect;
+						scale.y = size;
+
+						_gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z );
+						_gl.uniform2f( uniforms.scale, scale.x, scale.y );
+						_gl.uniform1f( uniforms.rotation, sprite.rotation );
+
+						_gl.uniform1f( uniforms.opacity, sprite.opacity );
+						_gl.uniform3f( uniforms.color, sprite.color.r, sprite.color.g, sprite.color.b );
+
+						_renderer.setBlending( sprite.blending, sprite.blendEquation, sprite.blendSrc, sprite.blendDst );
+						_renderer.setTexture( sprite.texture, 1 );
+
+						_gl.drawElements( _gl.TRIANGLES, 6, _gl.UNSIGNED_SHORT, 0 );
+
+					}
+
+				}
+
+			}
+
+		}
+
+		// restore gl
+
+		_gl.enable( _gl.CULL_FACE );
+		_gl.enable( _gl.DEPTH_TEST );
+		_gl.depthMask( true );
+
+	};
+
+	function createProgram ( shader, precision ) {
+
+		var program = _gl.createProgram();
+
+		var fragmentShader = _gl.createShader( _gl.FRAGMENT_SHADER );
+		var vertexShader = _gl.createShader( _gl.VERTEX_SHADER );
+
+		var prefix = "precision " + precision + " float;\n";
+
+		_gl.shaderSource( fragmentShader, prefix + shader.fragmentShader );
+		_gl.shaderSource( vertexShader, prefix + shader.vertexShader );
+
+		_gl.compileShader( fragmentShader );
+		_gl.compileShader( vertexShader );
+
+		_gl.attachShader( program, fragmentShader );
+		_gl.attachShader( program, vertexShader );
+
+		_gl.linkProgram( program );
+
+		return program;
+
+	};
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.ShadowMapPlugin = function () {
+
+	var _gl,
+	_renderer,
+	_depthMaterial, _depthMaterialMorph, _depthMaterialSkin, _depthMaterialMorphSkin,
+
+	_frustum = new THREE.Frustum(),
+	_projScreenMatrix = new THREE.Matrix4(),
+
+	_min = new THREE.Vector3(),
+	_max = new THREE.Vector3(),
+
+	_matrixPosition = new THREE.Vector3();
+
+	this.init = function ( renderer ) {
+
+		_gl = renderer.context;
+		_renderer = renderer;
+
+		var depthShader = THREE.ShaderLib[ "depthRGBA" ];
+		var depthUniforms = THREE.UniformsUtils.clone( depthShader.uniforms );
+
+		_depthMaterial = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms } );
+		_depthMaterialMorph = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true } );
+		_depthMaterialSkin = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, skinning: true } );
+		_depthMaterialMorphSkin = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true, skinning: true } );
+
+		_depthMaterial._shadowPass = true;
+		_depthMaterialMorph._shadowPass = true;
+		_depthMaterialSkin._shadowPass = true;
+		_depthMaterialMorphSkin._shadowPass = true;
+
+	};
+
+	this.render = function ( scene, camera ) {
+
+		if ( ! ( _renderer.shadowMapEnabled && _renderer.shadowMapAutoUpdate ) ) return;
+
+		this.update( scene, camera );
+
+	};
+
+	this.update = function ( scene, camera ) {
+
+		var i, il, j, jl, n,
+
+		shadowMap, shadowMatrix, shadowCamera,
+		program, buffer, material,
+		webglObject, object, light,
+		renderList,
+
+		lights = [],
+		k = 0,
+
+		fog = null;
+
+		// set GL state for depth map
+
+		_gl.clearColor( 1, 1, 1, 1 );
+		_gl.disable( _gl.BLEND );
+
+		_gl.enable( _gl.CULL_FACE );
+		_gl.frontFace( _gl.CCW );
+
+		if ( _renderer.shadowMapCullFace === THREE.CullFaceFront ) {
+
+			_gl.cullFace( _gl.FRONT );
+
+		} else {
+
+			_gl.cullFace( _gl.BACK );
+
+		}
+
+		_renderer.setDepthTest( true );
+
+		// preprocess lights
+		// 	- skip lights that are not casting shadows
+		//	- create virtual lights for cascaded shadow maps
+
+		for ( i = 0, il = scene.__lights.length; i < il; i ++ ) {
+
+			light = scene.__lights[ i ];
+
+			if ( ! light.castShadow ) continue;
+
+			if ( ( light instanceof THREE.DirectionalLight ) && light.shadowCascade ) {
+
+				for ( n = 0; n < light.shadowCascadeCount; n ++ ) {
+
+					var virtualLight;
+
+					if ( ! light.shadowCascadeArray[ n ] ) {
+
+						virtualLight = createVirtualLight( light, n );
+						virtualLight.originalCamera = camera;
+
+						var gyro = new THREE.Gyroscope();
+						gyro.position = light.shadowCascadeOffset;
+
+						gyro.add( virtualLight );
+						gyro.add( virtualLight.target );
+
+						camera.add( gyro );
+
+						light.shadowCascadeArray[ n ] = virtualLight;
+
+						console.log( "Created virtualLight", virtualLight );
+
+					} else {
+
+						virtualLight = light.shadowCascadeArray[ n ];
+
+					}
+
+					updateVirtualLight( light, n );
+
+					lights[ k ] = virtualLight;
+					k ++;
+
+				}
+
+			} else {
+
+				lights[ k ] = light;
+				k ++;
+
+			}
+
+		}
+
+		// render depth map
+
+		for ( i = 0, il = lights.length; i < il; i ++ ) {
+
+			light = lights[ i ];
+
+			if ( ! light.shadowMap ) {
+
+				var shadowFilter = THREE.LinearFilter;
+
+				if ( _renderer.shadowMapType === THREE.PCFSoftShadowMap ) {
+
+					shadowFilter = THREE.NearestFilter;
+
+				}
+
+				var pars = { minFilter: shadowFilter, magFilter: shadowFilter, format: THREE.RGBAFormat };
+
+				light.shadowMap = new THREE.WebGLRenderTarget( light.shadowMapWidth, light.shadowMapHeight, pars );
+				light.shadowMapSize = new THREE.Vector2( light.shadowMapWidth, light.shadowMapHeight );
+
+				light.shadowMatrix = new THREE.Matrix4();
+
+			}
+
+			if ( ! light.shadowCamera ) {
+
+				if ( light instanceof THREE.SpotLight ) {
+
+					light.shadowCamera = new THREE.PerspectiveCamera( light.shadowCameraFov, light.shadowMapWidth / light.shadowMapHeight, light.shadowCameraNear, light.shadowCameraFar );
+
+				} else if ( light instanceof THREE.DirectionalLight ) {
+
+					light.shadowCamera = new THREE.OrthographicCamera( light.shadowCameraLeft, light.shadowCameraRight, light.shadowCameraTop, light.shadowCameraBottom, light.shadowCameraNear, light.shadowCameraFar );
+
+				} else {
+
+					console.error( "Unsupported light type for shadow" );
+					continue;
+
+				}
+
+				scene.add( light.shadowCamera );
+
+				if ( _renderer.autoUpdateScene ) scene.updateMatrixWorld();
+
+			}
+
+			if ( light.shadowCameraVisible && ! light.cameraHelper ) {
+
+				light.cameraHelper = new THREE.CameraHelper( light.shadowCamera );
+				light.shadowCamera.add( light.cameraHelper );
+
+			}
+
+			if ( light.isVirtual && virtualLight.originalCamera == camera ) {
+
+				updateShadowCamera( camera, light );
+
+			}
+
+			shadowMap = light.shadowMap;
+			shadowMatrix = light.shadowMatrix;
+			shadowCamera = light.shadowCamera;
+
+			shadowCamera.position.getPositionFromMatrix( light.matrixWorld );
+			_matrixPosition.getPositionFromMatrix( light.target.matrixWorld );
+			shadowCamera.lookAt( _matrixPosition );
+			shadowCamera.updateMatrixWorld();
+
+			shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
+
+			if ( light.cameraHelper ) light.cameraHelper.visible = light.shadowCameraVisible;
+			if ( light.shadowCameraVisible ) light.cameraHelper.update();
+
+			// compute shadow matrix
+
+			shadowMatrix.set( 0.5, 0.0, 0.0, 0.5,
+							  0.0, 0.5, 0.0, 0.5,
+							  0.0, 0.0, 0.5, 0.5,
+							  0.0, 0.0, 0.0, 1.0 );
+
+			shadowMatrix.multiply( shadowCamera.projectionMatrix );
+			shadowMatrix.multiply( shadowCamera.matrixWorldInverse );
+
+			// update camera matrices and frustum
+
+			_projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse );
+			_frustum.setFromMatrix( _projScreenMatrix );
+
+			// render shadow map
+
+			_renderer.setRenderTarget( shadowMap );
+			_renderer.clear();
+
+			// set object matrices & frustum culling
+
+			renderList = scene.__webglObjects;
+
+			for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+				webglObject = renderList[ j ];
+				object = webglObject.object;
+
+				webglObject.render = false;
+
+				if ( object.visible && object.castShadow ) {
+
+					if ( ! ( object instanceof THREE.Mesh || object instanceof THREE.ParticleSystem ) || ! ( object.frustumCulled ) || _frustum.intersectsObject( object ) ) {
+
+						object._modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld );
+
+						webglObject.render = true;
+
+					}
+
+				}
+
+			}
+
+			// render regular objects
+
+			var objectMaterial, useMorphing, useSkinning;
+
+			for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+				webglObject = renderList[ j ];
+
+				if ( webglObject.render ) {
+
+					object = webglObject.object;
+					buffer = webglObject.buffer;
+
+					// culling is overriden globally for all objects
+					// while rendering depth map
+
+					// need to deal with MeshFaceMaterial somehow
+					// in that case just use the first of material.materials for now
+					// (proper solution would require to break objects by materials
+					//  similarly to regular rendering and then set corresponding
+					//  depth materials per each chunk instead of just once per object)
+
+					objectMaterial = getObjectMaterial( object );
+
+					useMorphing = object.geometry.morphTargets.length > 0 && objectMaterial.morphTargets;
+					useSkinning = object instanceof THREE.SkinnedMesh && objectMaterial.skinning;
+
+					if ( object.customDepthMaterial ) {
+
+						material = object.customDepthMaterial;
+
+					} else if ( useSkinning ) {
+
+						material = useMorphing ? _depthMaterialMorphSkin : _depthMaterialSkin;
+
+					} else if ( useMorphing ) {
+
+						material = _depthMaterialMorph;
+
+					} else {
+
+						material = _depthMaterial;
+
+					}
+
+					if ( buffer instanceof THREE.BufferGeometry ) {
+
+						_renderer.renderBufferDirect( shadowCamera, scene.__lights, fog, material, buffer, object );
+
+					} else {
+
+						_renderer.renderBuffer( shadowCamera, scene.__lights, fog, material, buffer, object );
+
+					}
+
+				}
+
+			}
+
+			// set matrices and render immediate objects
+
+			renderList = scene.__webglObjectsImmediate;
+
+			for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+				webglObject = renderList[ j ];
+				object = webglObject.object;
+
+				if ( object.visible && object.castShadow ) {
+
+					object._modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld );
+
+					_renderer.renderImmediateObject( shadowCamera, scene.__lights, fog, _depthMaterial, object );
+
+				}
+
+			}
+
+		}
+
+		// restore GL state
+
+		var clearColor = _renderer.getClearColor(),
+		clearAlpha = _renderer.getClearAlpha();
+
+		_gl.clearColor( clearColor.r, clearColor.g, clearColor.b, clearAlpha );
+		_gl.enable( _gl.BLEND );
+
+		if ( _renderer.shadowMapCullFace === THREE.CullFaceFront ) {
+
+			_gl.cullFace( _gl.BACK );
+
+		}
+
+	};
+
+	function createVirtualLight( light, cascade ) {
+
+		var virtualLight = new THREE.DirectionalLight();
+
+		virtualLight.isVirtual = true;
+
+		virtualLight.onlyShadow = true;
+		virtualLight.castShadow = true;
+
+		virtualLight.shadowCameraNear = light.shadowCameraNear;
+		virtualLight.shadowCameraFar = light.shadowCameraFar;
+
+		virtualLight.shadowCameraLeft = light.shadowCameraLeft;
+		virtualLight.shadowCameraRight = light.shadowCameraRight;
+		virtualLight.shadowCameraBottom = light.shadowCameraBottom;
+		virtualLight.shadowCameraTop = light.shadowCameraTop;
+
+		virtualLight.shadowCameraVisible = light.shadowCameraVisible;
+
+		virtualLight.shadowDarkness = light.shadowDarkness;
+
+		virtualLight.shadowBias = light.shadowCascadeBias[ cascade ];
+		virtualLight.shadowMapWidth = light.shadowCascadeWidth[ cascade ];
+		virtualLight.shadowMapHeight = light.shadowCascadeHeight[ cascade ];
+
+		virtualLight.pointsWorld = [];
+		virtualLight.pointsFrustum = [];
+
+		var pointsWorld = virtualLight.pointsWorld,
+			pointsFrustum = virtualLight.pointsFrustum;
+
+		for ( var i = 0; i < 8; i ++ ) {
+
+			pointsWorld[ i ] = new THREE.Vector3();
+			pointsFrustum[ i ] = new THREE.Vector3();
+
+		}
+
+		var nearZ = light.shadowCascadeNearZ[ cascade ];
+		var farZ = light.shadowCascadeFarZ[ cascade ];
+
+		pointsFrustum[ 0 ].set( -1, -1, nearZ );
+		pointsFrustum[ 1 ].set(  1, -1, nearZ );
+		pointsFrustum[ 2 ].set( -1,  1, nearZ );
+		pointsFrustum[ 3 ].set(  1,  1, nearZ );
+
+		pointsFrustum[ 4 ].set( -1, -1, farZ );
+		pointsFrustum[ 5 ].set(  1, -1, farZ );
+		pointsFrustum[ 6 ].set( -1,  1, farZ );
+		pointsFrustum[ 7 ].set(  1,  1, farZ );
+
+		return virtualLight;
+
+	}
+
+	// Synchronize virtual light with the original light
+
+	function updateVirtualLight( light, cascade ) {
+
+		var virtualLight = light.shadowCascadeArray[ cascade ];
+
+		virtualLight.position.copy( light.position );
+		virtualLight.target.position.copy( light.target.position );
+		virtualLight.lookAt( virtualLight.target );
+
+		virtualLight.shadowCameraVisible = light.shadowCameraVisible;
+		virtualLight.shadowDarkness = light.shadowDarkness;
+
+		virtualLight.shadowBias = light.shadowCascadeBias[ cascade ];
+
+		var nearZ = light.shadowCascadeNearZ[ cascade ];
+		var farZ = light.shadowCascadeFarZ[ cascade ];
+
+		var pointsFrustum = virtualLight.pointsFrustum;
+
+		pointsFrustum[ 0 ].z = nearZ;
+		pointsFrustum[ 1 ].z = nearZ;
+		pointsFrustum[ 2 ].z = nearZ;
+		pointsFrustum[ 3 ].z = nearZ;
+
+		pointsFrustum[ 4 ].z = farZ;
+		pointsFrustum[ 5 ].z = farZ;
+		pointsFrustum[ 6 ].z = farZ;
+		pointsFrustum[ 7 ].z = farZ;
+
+	}
+
+	// Fit shadow camera's ortho frustum to camera frustum
+
+	function updateShadowCamera( camera, light ) {
+
+		var shadowCamera = light.shadowCamera,
+			pointsFrustum = light.pointsFrustum,
+			pointsWorld = light.pointsWorld;
+
+		_min.set( Infinity, Infinity, Infinity );
+		_max.set( -Infinity, -Infinity, -Infinity );
+
+		for ( var i = 0; i < 8; i ++ ) {
+
+			var p = pointsWorld[ i ];
+
+			p.copy( pointsFrustum[ i ] );
+			THREE.ShadowMapPlugin.__projector.unprojectVector( p, camera );
+
+			p.applyMatrix4( shadowCamera.matrixWorldInverse );
+
+			if ( p.x < _min.x ) _min.x = p.x;
+			if ( p.x > _max.x ) _max.x = p.x;
+
+			if ( p.y < _min.y ) _min.y = p.y;
+			if ( p.y > _max.y ) _max.y = p.y;
+
+			if ( p.z < _min.z ) _min.z = p.z;
+			if ( p.z > _max.z ) _max.z = p.z;
+
+		}
+
+		shadowCamera.left = _min.x;
+		shadowCamera.right = _max.x;
+		shadowCamera.top = _max.y;
+		shadowCamera.bottom = _min.y;
+
+		// can't really fit near/far
+		//shadowCamera.near = _min.z;
+		//shadowCamera.far = _max.z;
+
+		shadowCamera.updateProjectionMatrix();
+
+	}
+
+	// For the moment just ignore objects that have multiple materials with different animation methods
+	// Only the first material will be taken into account for deciding which depth material to use for shadow maps
+
+	function getObjectMaterial( object ) {
+
+		return object.material instanceof THREE.MeshFaceMaterial
+			? object.material.materials[ 0 ]
+			: object.material;
+
+	};
+
+};
+
+THREE.ShadowMapPlugin.__projector = new THREE.Projector();
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.SpritePlugin = function () {
+
+	var _gl, _renderer, _precision, _sprite = {};
+
+	this.init = function ( renderer ) {
+
+		_gl = renderer.context;
+		_renderer = renderer;
+
+		_precision = renderer.getPrecision();
+
+		_sprite.vertices = new Float32Array( 8 + 8 );
+		_sprite.faces    = new Uint16Array( 6 );
+
+		var i = 0;
+
+		_sprite.vertices[ i++ ] = -1; _sprite.vertices[ i++ ] = -1;	// vertex 0
+		_sprite.vertices[ i++ ] = 0;  _sprite.vertices[ i++ ] = 0;	// uv 0
+
+		_sprite.vertices[ i++ ] = 1;  _sprite.vertices[ i++ ] = -1;	// vertex 1
+		_sprite.vertices[ i++ ] = 1;  _sprite.vertices[ i++ ] = 0;	// uv 1
+
+		_sprite.vertices[ i++ ] = 1;  _sprite.vertices[ i++ ] = 1;	// vertex 2
+		_sprite.vertices[ i++ ] = 1;  _sprite.vertices[ i++ ] = 1;	// uv 2
+
+		_sprite.vertices[ i++ ] = -1; _sprite.vertices[ i++ ] = 1;	// vertex 3
+		_sprite.vertices[ i++ ] = 0;  _sprite.vertices[ i++ ] = 1;	// uv 3
+
+		i = 0;
+
+		_sprite.faces[ i++ ] = 0; _sprite.faces[ i++ ] = 1; _sprite.faces[ i++ ] = 2;
+		_sprite.faces[ i++ ] = 0; _sprite.faces[ i++ ] = 2; _sprite.faces[ i++ ] = 3;
+
+		_sprite.vertexBuffer  = _gl.createBuffer();
+		_sprite.elementBuffer = _gl.createBuffer();
+
+		_gl.bindBuffer( _gl.ARRAY_BUFFER, _sprite.vertexBuffer );
+		_gl.bufferData( _gl.ARRAY_BUFFER, _sprite.vertices, _gl.STATIC_DRAW );
+
+		_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, _sprite.elementBuffer );
+		_gl.bufferData( _gl.ELEMENT_ARRAY_BUFFER, _sprite.faces, _gl.STATIC_DRAW );
+
+		_sprite.program = createProgram( THREE.ShaderSprite[ "sprite" ], _precision );
+
+		_sprite.attributes = {};
+		_sprite.uniforms = {};
+
+		_sprite.attributes.position           = _gl.getAttribLocation ( _sprite.program, "position" );
+		_sprite.attributes.uv                 = _gl.getAttribLocation ( _sprite.program, "uv" );
+
+		_sprite.uniforms.uvOffset             = _gl.getUniformLocation( _sprite.program, "uvOffset" );
+		_sprite.uniforms.uvScale              = _gl.getUniformLocation( _sprite.program, "uvScale" );
+
+		_sprite.uniforms.rotation             = _gl.getUniformLocation( _sprite.program, "rotation" );
+		_sprite.uniforms.scale                = _gl.getUniformLocation( _sprite.program, "scale" );
+		_sprite.uniforms.alignment            = _gl.getUniformLocation( _sprite.program, "alignment" );
+
+		_sprite.uniforms.color                = _gl.getUniformLocation( _sprite.program, "color" );
+		_sprite.uniforms.map                  = _gl.getUniformLocation( _sprite.program, "map" );
+		_sprite.uniforms.opacity              = _gl.getUniformLocation( _sprite.program, "opacity" );
+
+		_sprite.uniforms.useScreenCoordinates = _gl.getUniformLocation( _sprite.program, "useScreenCoordinates" );
+		_sprite.uniforms.sizeAttenuation   	  = _gl.getUniformLocation( _sprite.program, "sizeAttenuation" );
+		_sprite.uniforms.screenPosition    	  = _gl.getUniformLocation( _sprite.program, "screenPosition" );
+		_sprite.uniforms.modelViewMatrix      = _gl.getUniformLocation( _sprite.program, "modelViewMatrix" );
+		_sprite.uniforms.projectionMatrix     = _gl.getUniformLocation( _sprite.program, "projectionMatrix" );
+
+		_sprite.uniforms.fogType 		  	  = _gl.getUniformLocation( _sprite.program, "fogType" );
+		_sprite.uniforms.fogDensity 		  = _gl.getUniformLocation( _sprite.program, "fogDensity" );
+		_sprite.uniforms.fogNear 		  	  = _gl.getUniformLocation( _sprite.program, "fogNear" );
+		_sprite.uniforms.fogFar 		  	  = _gl.getUniformLocation( _sprite.program, "fogFar" );
+		_sprite.uniforms.fogColor 		  	  = _gl.getUniformLocation( _sprite.program, "fogColor" );
+
+		_sprite.uniforms.alphaTest 		  	  = _gl.getUniformLocation( _sprite.program, "alphaTest" );
+
+	};
+
+	this.render = function ( scene, camera, viewportWidth, viewportHeight ) {
+
+		var sprites = scene.__webglSprites,
+			nSprites = sprites.length;
+
+		if ( ! nSprites ) return;
+
+		var attributes = _sprite.attributes,
+			uniforms = _sprite.uniforms;
+
+		var invAspect = viewportHeight / viewportWidth;
+
+		var halfViewportWidth = viewportWidth * 0.5,
+			halfViewportHeight = viewportHeight * 0.5;
+
+		// setup gl
+
+		_gl.useProgram( _sprite.program );
+
+		_gl.enableVertexAttribArray( attributes.position );
+		_gl.enableVertexAttribArray( attributes.uv );
+
+		_gl.disable( _gl.CULL_FACE );
+		_gl.enable( _gl.BLEND );
+
+		_gl.bindBuffer( _gl.ARRAY_BUFFER, _sprite.vertexBuffer );
+		_gl.vertexAttribPointer( attributes.position, 2, _gl.FLOAT, false, 2 * 8, 0 );
+		_gl.vertexAttribPointer( attributes.uv, 2, _gl.FLOAT, false, 2 * 8, 8 );
+
+		_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, _sprite.elementBuffer );
+
+		_gl.uniformMatrix4fv( uniforms.projectionMatrix, false, camera.projectionMatrix.elements );
+
+		_gl.activeTexture( _gl.TEXTURE0 );
+		_gl.uniform1i( uniforms.map, 0 );
+
+		var oldFogType = 0;
+		var sceneFogType = 0;
+		var fog = scene.fog;
+
+		if ( fog ) {
+
+			_gl.uniform3f( uniforms.fogColor, fog.color.r, fog.color.g, fog.color.b );
+
+			if ( fog instanceof THREE.Fog ) {
+
+				_gl.uniform1f( uniforms.fogNear, fog.near );
+				_gl.uniform1f( uniforms.fogFar, fog.far );
+
+				_gl.uniform1i( uniforms.fogType, 1 );
+				oldFogType = 1;
+				sceneFogType = 1;
+
+			} else if ( fog instanceof THREE.FogExp2 ) {
+
+				_gl.uniform1f( uniforms.fogDensity, fog.density );
+
+				_gl.uniform1i( uniforms.fogType, 2 );
+				oldFogType = 2;
+				sceneFogType = 2;
+
+			}
+
+		} else {
+
+			_gl.uniform1i( uniforms.fogType, 0 );
+			oldFogType = 0;
+			sceneFogType = 0;
+
+		}
+
+
+		// update positions and sort
+
+		var i, sprite, material, screenPosition, size, fogType, scale = [];
+
+		for( i = 0; i < nSprites; i ++ ) {
+
+			sprite = sprites[ i ];
+			material = sprite.material;
+
+			if ( ! sprite.visible || material.opacity === 0 ) continue;
+
+			if ( ! material.useScreenCoordinates ) {
+
+				sprite._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, sprite.matrixWorld );
+				sprite.z = - sprite._modelViewMatrix.elements[ 14 ];
+
+			} else {
+
+				sprite.z = - sprite.position.z;
+
+			}
+
+		}
+
+		sprites.sort( painterSortStable );
+
+		// render all sprites
+
+		for( i = 0; i < nSprites; i ++ ) {
+
+			sprite = sprites[ i ];
+			material = sprite.material;
+
+			if ( ! sprite.visible || material.opacity === 0 ) continue;
+
+			if ( material.map && material.map.image && material.map.image.width ) {
+
+				_gl.uniform1f( uniforms.alphaTest, material.alphaTest );
+
+				if ( material.useScreenCoordinates === true ) {
+
+					_gl.uniform1i( uniforms.useScreenCoordinates, 1 );
+					_gl.uniform3f(
+						uniforms.screenPosition,
+						( ( sprite.position.x * _renderer.devicePixelRatio ) - halfViewportWidth  ) / halfViewportWidth,
+						( halfViewportHeight - ( sprite.position.y * _renderer.devicePixelRatio ) ) / halfViewportHeight,
+						Math.max( 0, Math.min( 1, sprite.position.z ) )
+					);
+
+					scale[ 0 ] = _renderer.devicePixelRatio;
+					scale[ 1 ] = _renderer.devicePixelRatio;
+
+				} else {
+
+					_gl.uniform1i( uniforms.useScreenCoordinates, 0 );
+					_gl.uniform1i( uniforms.sizeAttenuation, material.sizeAttenuation ? 1 : 0 );
+					_gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, sprite._modelViewMatrix.elements );
+
+					scale[ 0 ] = 1;
+					scale[ 1 ] = 1;
+
+				}
+
+				if ( scene.fog && material.fog ) {
+
+					fogType = sceneFogType;
+
+				} else {
+
+					fogType = 0;
+
+				}
+
+				if ( oldFogType !== fogType ) {
+
+					_gl.uniform1i( uniforms.fogType, fogType );
+					oldFogType = fogType;
+
+				}
+
+				size = 1 / ( material.scaleByViewport ? viewportHeight : 1 );
+
+				scale[ 0 ] *= size * invAspect * sprite.scale.x
+				scale[ 1 ] *= size * sprite.scale.y;
+
+				_gl.uniform2f( uniforms.uvScale, material.uvScale.x, material.uvScale.y );
+				_gl.uniform2f( uniforms.uvOffset, material.uvOffset.x, material.uvOffset.y );
+				_gl.uniform2f( uniforms.alignment, material.alignment.x, material.alignment.y );
+
+				_gl.uniform1f( uniforms.opacity, material.opacity );
+				_gl.uniform3f( uniforms.color, material.color.r, material.color.g, material.color.b );
+
+				_gl.uniform1f( uniforms.rotation, sprite.rotation );
+				_gl.uniform2fv( uniforms.scale, scale );
+
+				_renderer.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst );
+				_renderer.setDepthTest( material.depthTest );
+				_renderer.setDepthWrite( material.depthWrite );
+				_renderer.setTexture( material.map, 0 );
+
+				_gl.drawElements( _gl.TRIANGLES, 6, _gl.UNSIGNED_SHORT, 0 );
+
+			}
+
+		}
+
+		// restore gl
+
+		_gl.enable( _gl.CULL_FACE );
+
+	};
+
+	function createProgram ( shader, precision ) {
+
+		var program = _gl.createProgram();
+
+		var fragmentShader = _gl.createShader( _gl.FRAGMENT_SHADER );
+		var vertexShader = _gl.createShader( _gl.VERTEX_SHADER );
+
+		var prefix = "precision " + precision + " float;\n";
+
+		_gl.shaderSource( fragmentShader, prefix + shader.fragmentShader );
+		_gl.shaderSource( vertexShader, prefix + shader.vertexShader );
+
+		_gl.compileShader( fragmentShader );
+		_gl.compileShader( vertexShader );
+
+		_gl.attachShader( program, fragmentShader );
+		_gl.attachShader( program, vertexShader );
+
+		_gl.linkProgram( program );
+
+		return program;
+
+	};
+
+	function painterSortStable ( a, b ) {
+
+		if ( a.z !== b.z ) {
+
+			return b.z - a.z;
+
+		} else {
+
+			return b.id - a.id;
+
+		}
+
+	};
+
+};
+/**
+ * @author alteredq / http://alteredqualia.com/
+ */
+
+THREE.DepthPassPlugin = function () {
+
+	this.enabled = false;
+	this.renderTarget = null;
+
+	var _gl,
+	_renderer,
+	_depthMaterial, _depthMaterialMorph, _depthMaterialSkin, _depthMaterialMorphSkin,
+
+	_frustum = new THREE.Frustum(),
+	_projScreenMatrix = new THREE.Matrix4();
+
+	this.init = function ( renderer ) {
+
+		_gl = renderer.context;
+		_renderer = renderer;
+
+		var depthShader = THREE.ShaderLib[ "depthRGBA" ];
+		var depthUniforms = THREE.UniformsUtils.clone( depthShader.uniforms );
+
+		_depthMaterial = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms } );
+		_depthMaterialMorph = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true } );
+		_depthMaterialSkin = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, skinning: true } );
+		_depthMaterialMorphSkin = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true, skinning: true } );
+
+		_depthMaterial._shadowPass = true;
+		_depthMaterialMorph._shadowPass = true;
+		_depthMaterialSkin._shadowPass = true;
+		_depthMaterialMorphSkin._shadowPass = true;
+
+	};
+
+	this.render = function ( scene, camera ) {
+
+		if ( ! this.enabled ) return;
+
+		this.update( scene, camera );
+
+	};
+
+	this.update = function ( scene, camera ) {
+
+		var i, il, j, jl, n,
+
+		program, buffer, material,
+		webglObject, object, light,
+		renderList,
+
+		fog = null;
+
+		// set GL state for depth map
+
+		_gl.clearColor( 1, 1, 1, 1 );
+		_gl.disable( _gl.BLEND );
+
+		_renderer.setDepthTest( true );
+
+		// update scene
+
+		if ( _renderer.autoUpdateScene ) scene.updateMatrixWorld();
+
+		// update camera matrices and frustum
+
+		camera.matrixWorldInverse.getInverse( camera.matrixWorld );
+
+		_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
+		_frustum.setFromMatrix( _projScreenMatrix );
+
+		// render depth map
+
+		_renderer.setRenderTarget( this.renderTarget );
+		_renderer.clear();
+
+		// set object matrices & frustum culling
+
+		renderList = scene.__webglObjects;
+
+		for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+			webglObject = renderList[ j ];
+			object = webglObject.object;
+
+			webglObject.render = false;
+
+			if ( object.visible ) {
+
+				if ( ! ( object instanceof THREE.Mesh || object instanceof THREE.ParticleSystem ) || ! ( object.frustumCulled ) || _frustum.intersectsObject( object ) ) {
+
+					object._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
+
+					webglObject.render = true;
+
+				}
+
+			}
+
+		}
+
+		// render regular objects
+
+		var objectMaterial, useMorphing, useSkinning;
+
+		for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+			webglObject = renderList[ j ];
+
+			if ( webglObject.render ) {
+
+				object = webglObject.object;
+				buffer = webglObject.buffer;
+
+				// todo: create proper depth material for particles
+
+				if ( object instanceof THREE.ParticleSystem && !object.customDepthMaterial ) continue;
+
+				objectMaterial = getObjectMaterial( object );
+
+				if ( objectMaterial ) _renderer.setMaterialFaces( object.material );
+
+				useMorphing = object.geometry.morphTargets.length > 0 && objectMaterial.morphTargets;
+				useSkinning = object instanceof THREE.SkinnedMesh && objectMaterial.skinning;
+
+				if ( object.customDepthMaterial ) {
+
+					material = object.customDepthMaterial;
+
+				} else if ( useSkinning ) {
+
+					material = useMorphing ? _depthMaterialMorphSkin : _depthMaterialSkin;
+
+				} else if ( useMorphing ) {
+
+					material = _depthMaterialMorph;
+
+				} else {
+
+					material = _depthMaterial;
+
+				}
+
+				if ( buffer instanceof THREE.BufferGeometry ) {
+
+					_renderer.renderBufferDirect( camera, scene.__lights, fog, material, buffer, object );
+
+				} else {
+
+					_renderer.renderBuffer( camera, scene.__lights, fog, material, buffer, object );
+
+				}
+
+			}
+
+		}
+
+		// set matrices and render immediate objects
+
+		renderList = scene.__webglObjectsImmediate;
+
+		for ( j = 0, jl = renderList.length; j < jl; j ++ ) {
+
+			webglObject = renderList[ j ];
+			object = webglObject.object;
+
+			if ( object.visible ) {
+
+				object._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
+
+				_renderer.renderImmediateObject( camera, scene.__lights, fog, _depthMaterial, object );
+
+			}
+
+		}
+
+		// restore GL state
+
+		var clearColor = _renderer.getClearColor(),
+		clearAlpha = _renderer.getClearAlpha();
+
+		_gl.clearColor( clearColor.r, clearColor.g, clearColor.b, clearAlpha );
+		_gl.enable( _gl.BLEND );
+
+	};
+
+	// For the moment just ignore objects that have multiple materials with different animation methods
+	// Only the first material will be taken into account for deciding which depth material to use
+
+	function getObjectMaterial( object ) {
+
+		return object.material instanceof THREE.MeshFaceMaterial
+			? object.material.materials[ 0 ]
+			: object.material;
+
+	};
+
+};
+
+/**
+ * @author mikael emtinger / http://gomo.se/
+ *
+ */
+
+THREE.ShaderFlares = {
+
+	'lensFlareVertexTexture': {
+
+		vertexShader: [
+
+			"uniform lowp int renderType;",
+
+			"uniform vec3 screenPosition;",
+			"uniform vec2 scale;",
+			"uniform float rotation;",
+
+			"uniform sampler2D occlusionMap;",
+
+			"attribute vec2 position;",
+			"attribute vec2 uv;",
+
+			"varying vec2 vUV;",
+			"varying float vVisibility;",
+
+			"void main() {",
+
+				"vUV = uv;",
+
+				"vec2 pos = position;",
+
+				"if( renderType == 2 ) {",
+
+					"vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +",
+									  "texture2D( occlusionMap, vec2( 0.5, 0.5 ) );",
+
+					"vVisibility = (       visibility.r / 9.0 ) *",
+								  "( 1.0 - visibility.g / 9.0 ) *",
+								  "(       visibility.b / 9.0 ) *",
+								  "( 1.0 - visibility.a / 9.0 );",
+
+					"pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;",
+					"pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;",
+
+				"}",
+
+				"gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );",
+
+			"}"
+
+		].join( "\n" ),
+
+		fragmentShader: [
+
+			"uniform lowp int renderType;",
+
+			"uniform sampler2D map;",
+			"uniform float opacity;",
+			"uniform vec3 color;",
+
+			"varying vec2 vUV;",
+			"varying float vVisibility;",
+
+			"void main() {",
+
+				// pink square
+
+				"if( renderType == 0 ) {",
+
+					"gl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );",
+
+				// restore
+
+				"} else if( renderType == 1 ) {",
+
+					"gl_FragColor = texture2D( map, vUV );",
+
+				// flare
+
+				"} else {",
+
+					"vec4 texture = texture2D( map, vUV );",
+					"texture.a *= opacity * vVisibility;",
+					"gl_FragColor = texture;",
+					"gl_FragColor.rgb *= color;",
+
+				"}",
+
+			"}"
+		].join( "\n" )
+
+	},
+
+
+	'lensFlare': {
+
+		vertexShader: [
+
+			"uniform lowp int renderType;",
+
+			"uniform vec3 screenPosition;",
+			"uniform vec2 scale;",
+			"uniform float rotation;",
+
+			"attribute vec2 position;",
+			"attribute vec2 uv;",
+
+			"varying vec2 vUV;",
+
+			"void main() {",
+
+				"vUV = uv;",
+
+				"vec2 pos = position;",
+
+				"if( renderType == 2 ) {",
+
+					"pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;",
+					"pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;",
+
+				"}",
+
+				"gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );",
+
+			"}"
+
+		].join( "\n" ),
+
+		fragmentShader: [
+
+			"precision mediump float;",
+
+			"uniform lowp int renderType;",
+
+			"uniform sampler2D map;",
+			"uniform sampler2D occlusionMap;",
+			"uniform float opacity;",
+			"uniform vec3 color;",
+
+			"varying vec2 vUV;",
+
+			"void main() {",
+
+				// pink square
+
+				"if( renderType == 0 ) {",
+
+					"gl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );",
+
+				// restore
+
+				"} else if( renderType == 1 ) {",
+
+					"gl_FragColor = texture2D( map, vUV );",
+
+				// flare
+
+				"} else {",
+
+					"float visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +",
+									   "texture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +",
+									   "texture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +",
+									   "texture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;",
+
+					"visibility = ( 1.0 - visibility / 4.0 );",
+
+					"vec4 texture = texture2D( map, vUV );",
+					"texture.a *= opacity * visibility;",
+					"gl_FragColor = texture;",
+					"gl_FragColor.rgb *= color;",
+
+				"}",
+
+			"}"
+
+		].join( "\n" )
+
+	}
+
+};
+/**
+ * @author mikael emtinger / http://gomo.se/
+ * @author alteredq / http://alteredqualia.com/
+ *
+ */
+
+THREE.ShaderSprite = {
+
+	'sprite': {
+
+		vertexShader: [
+
+			"uniform int useScreenCoordinates;",
+			"uniform int sizeAttenuation;",
+			"uniform vec3 screenPosition;",
+			"uniform mat4 modelViewMatrix;",
+			"uniform mat4 projectionMatrix;",
+			"uniform float rotation;",
+			"uniform vec2 scale;",
+			"uniform vec2 alignment;",
+			"uniform vec2 uvOffset;",
+			"uniform vec2 uvScale;",
+
+			"attribute vec2 position;",
+			"attribute vec2 uv;",
+
+			"varying vec2 vUV;",
+
+			"void main() {",
+
+				"vUV = uvOffset + uv * uvScale;",
+
+				"vec2 alignedPosition = position + alignment;",
+
+				"vec2 rotatedPosition;",
+				"rotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;",
+				"rotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;",
+
+				"vec4 finalPosition;",
+
+				"if( useScreenCoordinates != 0 ) {",
+
+					"finalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );",
+
+				"} else {",
+
+					"finalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );",
+					"finalPosition.xy += rotatedPosition * ( sizeAttenuation == 1 ? 1.0 : finalPosition.z );",
+
+				"}",
+
+				"gl_Position = finalPosition;",
+
+			"}"
+
+		].join( "\n" ),
+
+		fragmentShader: [
+
+			"uniform vec3 color;",
+			"uniform sampler2D map;",
+			"uniform float opacity;",
+
+			"uniform int fogType;",
+			"uniform vec3 fogColor;",
+			"uniform float fogDensity;",
+			"uniform float fogNear;",
+			"uniform float fogFar;",
+			"uniform float alphaTest;",
+
+			"varying vec2 vUV;",
+
+			"void main() {",
+
+				"vec4 texture = texture2D( map, vUV );",
+
+				"if ( texture.a < alphaTest ) discard;",
+
+				"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );",
+
+				"if ( fogType > 0 ) {",
+
+					"float depth = gl_FragCoord.z / gl_FragCoord.w;",
+					"float fogFactor = 0.0;",
+
+					"if ( fogType == 1 ) {",
+
+						"fogFactor = smoothstep( fogNear, fogFar, depth );",
+
+					"} else {",
+
+						"const float LOG2 = 1.442695;",
+						"float fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );",
+						"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );",
+
+					"}",
+
+					"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );",
+
+				"}",
+
+			"}"
+
+		].join( "\n" )
+
+	}
+
+};
\ No newline at end of file
diff --git a/COGNET/lib/three.min.js b/COGNET/lib/three.min.js
new file mode 100644
index 0000000..c504d19
--- /dev/null
+++ b/COGNET/lib/three.min.js
@@ -0,0 +1,706 @@
+// three.js - http://github.com/mrdoob/three.js
+'use strict';var THREE=THREE||{REVISION:"56"};self.console=self.console||{info:function(){},log:function(){},debug:function(){},warn:function(){},error:function(){}};self.Int32Array=self.Int32Array||Array;self.Float32Array=self.Float32Array||Array;String.prototype.trim=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")};
+THREE.extend=function(a,b){if(Object.keys)for(var c=Object.keys(b),d=0,e=c.length;d<e;d++){var f=c[d];Object.defineProperty(a,f,Object.getOwnPropertyDescriptor(b,f))}else for(f in c={}.hasOwnProperty,b)c.call(b,f)&&(a[f]=b[f]);return a};
+(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];void 0===window.requestAnimationFrame&&(window.requestAnimationFrame=function(b){var c=Date.now(),f=Math.max(0,16-(c-a)),g=window.setTimeout(function(){b(c+f)},f);a=c+f;return g});window.cancelAnimationFrame=window.cancelAnimationFrame||
+function(a){window.clearTimeout(a)}})();THREE.CullFaceNone=0;THREE.CullFaceBack=1;THREE.CullFaceFront=2;THREE.CullFaceFrontBack=3;THREE.FrontFaceDirectionCW=0;THREE.FrontFaceDirectionCCW=1;THREE.BasicShadowMap=0;THREE.PCFShadowMap=1;THREE.PCFSoftShadowMap=2;THREE.FrontSide=0;THREE.BackSide=1;THREE.DoubleSide=2;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NoBlending=0;THREE.NormalBlending=1;THREE.AdditiveBlending=2;
+THREE.SubtractiveBlending=3;THREE.MultiplyBlending=4;THREE.CustomBlending=5;THREE.AddEquation=100;THREE.SubtractEquation=101;THREE.ReverseSubtractEquation=102;THREE.ZeroFactor=200;THREE.OneFactor=201;THREE.SrcColorFactor=202;THREE.OneMinusSrcColorFactor=203;THREE.SrcAlphaFactor=204;THREE.OneMinusSrcAlphaFactor=205;THREE.DstAlphaFactor=206;THREE.OneMinusDstAlphaFactor=207;THREE.DstColorFactor=208;THREE.OneMinusDstColorFactor=209;THREE.SrcAlphaSaturateFactor=210;THREE.MultiplyOperation=0;
+THREE.MixOperation=1;THREE.AddOperation=2;THREE.UVMapping=function(){};THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.RepeatWrapping=1E3;THREE.ClampToEdgeWrapping=1001;THREE.MirroredRepeatWrapping=1002;THREE.NearestFilter=1003;THREE.NearestMipMapNearestFilter=1004;THREE.NearestMipMapLinearFilter=1005;THREE.LinearFilter=1006;THREE.LinearMipMapNearestFilter=1007;
+THREE.LinearMipMapLinearFilter=1008;THREE.UnsignedByteType=1009;THREE.ByteType=1010;THREE.ShortType=1011;THREE.UnsignedShortType=1012;THREE.IntType=1013;THREE.UnsignedIntType=1014;THREE.FloatType=1015;THREE.UnsignedShort4444Type=1016;THREE.UnsignedShort5551Type=1017;THREE.UnsignedShort565Type=1018;THREE.AlphaFormat=1019;THREE.RGBFormat=1020;THREE.RGBAFormat=1021;THREE.LuminanceFormat=1022;THREE.LuminanceAlphaFormat=1023;THREE.RGB_S3TC_DXT1_Format=2001;THREE.RGBA_S3TC_DXT1_Format=2002;
+THREE.RGBA_S3TC_DXT3_Format=2003;THREE.RGBA_S3TC_DXT5_Format=2004;THREE.Color=function(a){void 0!==a&&this.set(a);return this};
+THREE.extend(THREE.Color.prototype,{r:1,g:1,b:1,set:function(a){switch(typeof a){case "number":this.setHex(a);break;case "string":this.setStyle(a)}},setHex:function(a){a=Math.floor(a);this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSV:function(a,b,c){console.log("DEPRECATED: Color's .setHSV() will be removed. Use .setHSL( h, s, l ) instead.");return this.setHSL(a,b*c/(1>(a=(2-b)*c)?a:2-a),a/2)},setHSL:function(a,
+b,c){if(0===b)this.r=this.g=this.b=c;else{var d=function(a,b,c){0>c&&(c+=1);1<c&&(c-=1);return c<1/6?a+6*(b-a)*c:0.5>c?b:c<2/3?a+6*(b-a)*(2/3-c):a},b=0.5>=c?c*(1+b):c+b-c*b,c=2*c-b;this.r=d(c,b,a+1/3);this.g=d(c,b,a);this.b=d(c,b,a-1/3)}return this},setStyle:function(a){if(/^rgb\((\d+),(\d+),(\d+)\)$/i.test(a))return a=/^rgb\((\d+),(\d+),(\d+)\)$/i.exec(a),this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,this;if(/^rgb\((\d+)\%,(\d+)\%,(\d+)\%\)$/i.test(a))return a=
+/^rgb\((\d+)\%,(\d+)\%,(\d+)\%\)$/i.exec(a),this.r=Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,this;if(/^\#([0-9a-f]{6})$/i.test(a))return a=/^\#([0-9a-f]{6})$/i.exec(a),this.setHex(parseInt(a[1],16)),this;if(/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.test(a))return a=/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a),this.setHex(parseInt(a[1]+a[1]+a[2]+a[2]+a[3]+a[3],16)),this;if(/^(\w+)$/i.test(a))return this.setHex(THREE.ColorKeywords[a]),
+this},copy:function(a){this.r=a.r;this.g=a.g;this.b=a.b;return this},copyGammaToLinear:function(a){this.r=a.r*a.r;this.g=a.g*a.g;this.b=a.b*a.b;return this},copyLinearToGamma:function(a){this.r=Math.sqrt(a.r);this.g=Math.sqrt(a.g);this.b=Math.sqrt(a.b);return this},convertGammaToLinear:function(){var a=this.r,b=this.g,c=this.b;this.r=a*a;this.g=b*b;this.b=c*c;return this},convertLinearToGamma:function(){this.r=Math.sqrt(this.r);this.g=Math.sqrt(this.g);this.b=Math.sqrt(this.b);return this},getHex:function(){return 255*
+this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(){var a={h:0,s:0,l:0};return function(){var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var i=e-f,f=0.5>=h?i/(e+f):i/(2-e-f);switch(e){case b:g=(c-d)/i+(c<d?6:0);break;case c:g=(d-b)/i+2;break;case d:g=(b-c)/i+4}g/=6}a.h=g;a.s=f;a.l=h;return a}}(),getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+
+","+(255*this.b|0)+")"},offsetHSL:function(a,b,c){var d=this.getHSL();d.h+=a;d.s+=b;d.l+=c;this.setHSL(d.h,d.s,d.l);return this},add:function(a){this.r+=a.r;this.g+=a.g;this.b+=a.b;return this},addColors:function(a,b){this.r=a.r+b.r;this.g=a.g+b.g;this.b=a.b+b.b;return this},addScalar:function(a){this.r+=a;this.g+=a;this.b+=a;return this},multiply:function(a){this.r*=a.r;this.g*=a.g;this.b*=a.b;return this},multiplyScalar:function(a){this.r*=a;this.g*=a;this.b*=a;return this},lerp:function(a,b){this.r+=
+(a.r-this.r)*b;this.g+=(a.g-this.g)*b;this.b+=(a.b-this.b)*b;return this},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}});
+THREE.ColorKeywords={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,
+darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,
+grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,
+lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,
+palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,
+tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};THREE.Quaternion=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1};
+THREE.extend(THREE.Quaternion.prototype,{set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},setFromEuler:function(a,b){var c=Math.cos(a.x/2),d=Math.cos(a.y/2),e=Math.cos(a.z/2),f=Math.sin(a.x/2),g=Math.sin(a.y/2),h=Math.sin(a.z/2);void 0===b||"XYZ"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e-f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e-f*g*h):"YXZ"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e-f*d*h,this.z=c*d*h-f*g*e,this.w=c*
+d*e+f*g*h):"ZXY"===b?(this.x=f*d*e-c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e-f*g*h):"ZYX"===b?(this.x=f*d*e-c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h-f*g*e,this.w=c*d*e+f*g*h):"YZX"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h-f*g*e,this.w=c*d*e-f*g*h):"XZY"===b&&(this.x=f*d*e-c*g*h,this.y=c*g*e-f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e+f*g*h);return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this.x=a.x*d;this.y=a.y*d;this.z=a.z*d;this.w=Math.cos(c);return this},
+setFromRotationMatrix:function(a){var b=a.elements,c=b[0],a=b[4],d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],i=b[6],b=b[10],k=c+f+b;0<k?(c=0.5/Math.sqrt(k+1),this.w=0.25/c,this.x=(i-g)*c,this.y=(d-h)*c,this.z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this.w=(i-g)/c,this.x=0.25*c,this.y=(a+e)/c,this.z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this.w=(d-h)/c,this.x=(a+e)/c,this.y=0.25*c,this.z=(g+i)/c):(c=2*Math.sqrt(1+b-c-f),this.w=(e-a)/c,this.x=(d+h)/c,this.y=(g+i)/c,this.z=0.25*c);return this},inverse:function(){this.conjugate().normalize();
+return this},conjugate:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var a=this.length();0===a?(this.z=this.y=this.x=0,this.w=1):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},multiply:function(a,b){return void 0!==b?(console.warn("DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),
+this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,b){var c=a.x,d=a.y,e=a.z,f=a.w,g=b.x,h=b.y,i=b.z,k=b.w;this.x=c*k+f*g+d*i-e*h;this.y=d*k+f*h+e*g-c*i;this.z=e*k+f*i+c*h-d*g;this.w=f*k-c*g-d*h-e*i;return this},multiplyVector3:function(a){console.warn("DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");return a.applyQuaternion(this)},slerp:function(a,b){var c=this.x,d=this.y,e=this.z,
+f=this.w,g=f*a.w+c*a.x+d*a.y+e*a.z;0>g?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,g=-g):this.copy(a);if(1<=g)return this.w=f,this.x=c,this.y=d,this.z=e,this;var h=Math.acos(g),i=Math.sqrt(1-g*g);if(0.001>Math.abs(i))return this.w=0.5*(f+this.w),this.x=0.5*(c+this.x),this.y=0.5*(d+this.y),this.z=0.5*(e+this.z),this;g=Math.sin((1-b)*h)/i;h=Math.sin(b*h)/i;this.w=f*g+this.w*h;this.x=c*g+this.x*h;this.y=d*g+this.y*h;this.z=e*g+this.z*h;return this},equals:function(a){return a.x===this.x&&a.y===
+this.y&&a.z===this.z&&a.w===this.w},clone:function(){return new THREE.Quaternion(this.x,this.y,this.z,this.w)}});THREE.Quaternion.slerp=function(a,b,c,d){return c.copy(a).slerp(b,d)};THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0};
+THREE.extend(THREE.Vector2.prototype,{set:function(a,b){this.x=a;this.y=b;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==
+b)return console.warn("DEPRECATED: Vector2's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector2's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},
+subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divideScalar:function(a){0!==a?(this.x/=a,this.y/=a):this.set(0,0);return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);return this},max:function(a){this.x<a.x&&(this.x=a.x);this.y<a.y&&(this.y=a.y);return this},clamp:function(a,b){this.x<a.x?this.x=a.x:this.x>b.x&&(this.x=b.x);this.y<a.y?this.y=a.y:this.y>b.y&&(this.y=b.y);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,a=this.y-a.y;return b*b+a*a},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*
+b;this.y+=(a.y-this.y)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y},toArray:function(){return[this.x,this.y]},clone:function(){return new THREE.Vector2(this.x,this.y)}});THREE.Vector3=function(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0};
+THREE.extend(THREE.Vector3.prototype,{set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+
+a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),
+this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x*
+b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12];this.y=a[1]*b+a[5]*c+a[9]*d+a[13];this.z=a[2]*b+a[6]*c+a[10]*d+a[14];return this},applyProjection:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements,e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);
+this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z,a=a.w,h=a*b+f*d-g*c,i=a*c+g*b-e*d,k=a*d+e*c-f*b,b=-e*b-f*c-g*d;this.x=h*a+b*-e+i*-g-k*-f;this.y=i*a+b*-f+k*-e-h*-g;this.z=k*a+b*-g+h*-f-i*-e;return this},applyEuler:function(){var a=new THREE.Quaternion;return function(b,c){var d=a.setFromEuler(b,c);this.applyQuaternion(d);return this}}(),applyAxisAngle:function(){var a=
+new THREE.Quaternion;return function(b,c){var d=a.setFromAxisAngle(b,c);this.applyQuaternion(d);return this}}(),transformDirection:function(a){var b=this.x,c=this.y,d=this.z,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;this.normalize();return this},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){0!==a?(this.x/=a,this.y/=a,this.z/=a):this.z=this.y=this.x=0;return this},min:function(a){this.x>a.x&&(this.x=
+a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);return this},max:function(a){this.x<a.x&&(this.x=a.x);this.y<a.y&&(this.y=a.y);this.z<a.z&&(this.z=a.z);return this},clamp:function(a,b){this.x<a.x?this.x=a.x:this.x>b.x&&(this.x=b.x);this.y<a.y?this.y=a.y:this.y>b.y&&(this.y=b.y);this.z<a.z?this.z=a.z:this.z>b.z&&(this.z=b.z);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*
+this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},cross:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),
+this.crossVectors(a,b);var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c*a.y-d*a.x;return this},crossVectors:function(a,b){this.x=a.y*b.z-a.z*b.y;this.y=a.z*b.x-a.x*b.z;this.z=a.x*b.y-a.y*b.x;return this},projectOnVector:function(){var a=new THREE.Vector3;return function(b){a.copy(b).normalize();b=this.dot(a);return this.copy(a).multiplyScalar(b)}}(),projectOnPlane:function(){var a=new THREE.Vector3;return function(b){a.copy(this).projectOnVector(b);return this.sub(a)}}(),
+reflect:function(){var a=new THREE.Vector3;return function(b){a.copy(this).projectOnVector(b).multiplyScalar(2);return this.subVectors(a,this)}}(),angleTo:function(a){a=this.dot(a)/(this.length()*a.length());return Math.acos(THREE.Math.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y,a=this.z-a.z;return b*b+c*c+a*a},getPositionFromMatrix:function(a){this.x=a.elements[12];this.y=a.elements[13];this.z=a.elements[14];
+return this},setEulerFromRotationMatrix:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.elements,e=d[0],f=d[4],g=d[8],h=d[1],i=d[5],k=d[9],l=d[2],m=d[6],d=d[10];void 0===b||"XYZ"===b?(this.y=Math.asin(c(g)),0.99999>Math.abs(g)?(this.x=Math.atan2(-k,d),this.z=Math.atan2(-f,e)):(this.x=Math.atan2(m,i),this.z=0)):"YXZ"===b?(this.x=Math.asin(-c(k)),0.99999>Math.abs(k)?(this.y=Math.atan2(g,d),this.z=Math.atan2(h,i)):(this.y=Math.atan2(-l,e),this.z=0)):"ZXY"===b?(this.x=Math.asin(c(m)),
+0.99999>Math.abs(m)?(this.y=Math.atan2(-l,d),this.z=Math.atan2(-f,i)):(this.y=0,this.z=Math.atan2(h,e))):"ZYX"===b?(this.y=Math.asin(-c(l)),0.99999>Math.abs(l)?(this.x=Math.atan2(m,d),this.z=Math.atan2(h,e)):(this.x=0,this.z=Math.atan2(-f,i))):"YZX"===b?(this.z=Math.asin(c(h)),0.99999>Math.abs(h)?(this.x=Math.atan2(-k,i),this.y=Math.atan2(-l,e)):(this.x=0,this.y=Math.atan2(g,d))):"XZY"===b&&(this.z=Math.asin(-c(f)),0.99999>Math.abs(f)?(this.x=Math.atan2(m,i),this.y=Math.atan2(g,e)):(this.x=Math.atan2(-k,
+d),this.y=0));return this},setEulerFromQuaternion:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.x*a.x,e=a.y*a.y,f=a.z*a.z,g=a.w*a.w;void 0===b||"XYZ"===b?(this.x=Math.atan2(2*(a.x*a.w-a.y*a.z),g-d-e+f),this.y=Math.asin(c(2*(a.x*a.z+a.y*a.w))),this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g+d-e-f)):"YXZ"===b?(this.x=Math.asin(c(2*(a.x*a.w-a.y*a.z))),this.y=Math.atan2(2*(a.x*a.z+a.y*a.w),g-d-e+f),this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g-d+e-f)):"ZXY"===b?(this.x=Math.asin(c(2*(a.x*a.w+
+a.y*a.z))),this.y=Math.atan2(2*(a.y*a.w-a.z*a.x),g-d-e+f),this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g-d+e-f)):"ZYX"===b?(this.x=Math.atan2(2*(a.x*a.w+a.z*a.y),g-d-e+f),this.y=Math.asin(c(2*(a.y*a.w-a.x*a.z))),this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g+d-e-f)):"YZX"===b?(this.x=Math.atan2(2*(a.x*a.w-a.z*a.y),g-d+e-f),this.y=Math.atan2(2*(a.y*a.w-a.x*a.z),g+d-e-f),this.z=Math.asin(c(2*(a.x*a.y+a.z*a.w)))):"XZY"===b&&(this.x=Math.atan2(2*(a.x*a.w+a.y*a.z),g-d+e-f),this.y=Math.atan2(2*(a.x*a.z+a.y*a.w),g+d-
+e-f),this.z=Math.asin(c(2*(a.z*a.w-a.x*a.y))));return this},getScaleFromMatrix:function(a){var b=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(),a=this.set(a.elements[8],a.elements[9],a.elements[10]).length();this.x=b;this.y=c;this.z=a;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},toArray:function(){return[this.x,this.y,this.z]},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)}});THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1};
+THREE.extend(THREE.Vector4.prototype,{set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;
+case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,
+b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=
+this.x,c=this.y,d=this.z,e=this.w,a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){0!==a?(this.x/=a,this.y/=a,this.z/=a,this.w/=a):(this.z=this.y=this.x=0,this.w=1);return this},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},
+setAxisAngleFromRotationMatrix:function(a){var b,c,d,a=a.elements,e=a[0];d=a[4];var f=a[8],g=a[1],h=a[5],i=a[9];c=a[2];b=a[6];var k=a[10];if(0.01>Math.abs(d-g)&&0.01>Math.abs(f-c)&&0.01>Math.abs(i-b)){if(0.1>Math.abs(d+g)&&0.1>Math.abs(f+c)&&0.1>Math.abs(i+b)&&0.1>Math.abs(e+h+k-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;h=(h+1)/2;k=(k+1)/2;d=(d+g)/4;f=(f+c)/4;i=(i+b)/4;e>h&&e>k?0.01>e?(b=0,d=c=0.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):h>k?0.01>h?(b=0.707106781,c=0,d=0.707106781):(c=Math.sqrt(h),
+b=d/c,d=i/c):0.01>k?(c=b=0.707106781,d=0):(d=Math.sqrt(k),b=f/d,c=i/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-i)*(b-i)+(f-c)*(f-c)+(g-d)*(g-d));0.001>Math.abs(a)&&(a=1);this.x=(b-i)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+h+k-1)/2);return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);this.w>a.w&&(this.w=a.w);return this},max:function(a){this.x<a.x&&(this.x=a.x);this.y<a.y&&(this.y=a.y);this.z<a.z&&(this.z=a.z);this.w<a.w&&(this.w=
+a.w);return this},clamp:function(a,b){this.x<a.x?this.x=a.x:this.x>b.x&&(this.x=b.x);this.y<a.y?this.y=a.y:this.y>b.y&&(this.y=b.y);this.z<a.z?this.z=a.z:this.z>b.z&&(this.z=b.z);this.w<a.w?this.w=a.w:this.w>b.w&&(this.w=b.w);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+
+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},toArray:function(){return[this.x,
+this.y,this.z,this.w]},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)}});THREE.Line3=function(a,b){this.start=void 0!==a?a:new THREE.Vector3;this.end=void 0!==b?b:new THREE.Vector3};
+THREE.extend(THREE.Line3.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},center:function(a){return(a||new THREE.Vector3).addVectors(this.start,this.end).multiplyScalar(0.5)},delta:function(a){return(a||new THREE.Vector3).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a,
+b){var c=b||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);var e=b.dot(b),e=b.dot(a)/e;d&&(e=THREE.Math.clamp(e,0,1));return e}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);c=c||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a);
+this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)},clone:function(){return(new THREE.Line3).copy(this)}});THREE.Box2=function(a,b){this.min=void 0!==a?a:new THREE.Vector2(Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector2(-Infinity,-Infinity)};
+THREE.extend(THREE.Box2.prototype,{set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){if(0<a.length){var b=a[0];this.min.copy(b);this.max.copy(b);for(var c=1,d=a.length;c<d;c++)b=a[c],b.x<this.min.x?this.min.x=b.x:b.x>this.max.x&&(this.max.x=b.x),b.y<this.min.y?this.min.y=b.y:b.y>this.max.y&&(this.max.y=b.y)}else this.makeEmpty();return this},setFromCenterAndSize:function(){var a=new THREE.Vector2;return function(b,c){var d=a.copy(c).multiplyScalar(0.5);this.min.copy(b).sub(d);
+this.max.copy(b).add(d);return this}}(),copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},empty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},center:function(a){return(a||new THREE.Vector2).addVectors(this.min,this.max).multiplyScalar(0.5)},size:function(a){return(a||new THREE.Vector2).subVectors(this.max,this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);
+return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y?!0:!1},getParameter:function(a){return new THREE.Vector2((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/
+(this.max.y-this.min.y))},isIntersectionBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector2).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new THREE.Vector2;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);
+return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box2).copy(this)}});THREE.Box3=function(a,b){this.min=void 0!==a?a:new THREE.Vector3(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector3(-Infinity,-Infinity,-Infinity)};
+THREE.extend(THREE.Box3.prototype,{set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){if(0<a.length){var b=a[0];this.min.copy(b);this.max.copy(b);for(var c=1,d=a.length;c<d;c++)b=a[c],b.x<this.min.x?this.min.x=b.x:b.x>this.max.x&&(this.max.x=b.x),b.y<this.min.y?this.min.y=b.y:b.y>this.max.y&&(this.max.y=b.y),b.z<this.min.z?this.min.z=b.z:b.z>this.max.z&&(this.max.z=b.z)}else this.makeEmpty();return this},setFromCenterAndSize:function(){var a=new THREE.Vector3;
+return function(b,c){var d=a.copy(c).multiplyScalar(0.5);this.min.copy(b).sub(d);this.max.copy(b).add(d);return this}}(),copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this},empty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},center:function(a){return(a||new THREE.Vector3).addVectors(this.min,this.max).multiplyScalar(0.5)},
+size:function(a){return(a||new THREE.Vector3).subVectors(this.max,this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y||a.z<this.min.z||a.z>this.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=
+this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z?!0:!1},getParameter:function(a){return new THREE.Vector3((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},isIntersectionBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y||a.max.z<this.min.z||a.min.z>this.max.z?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector3).copy(a).clamp(this.min,
+this.max)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new THREE.Vector3;return function(b){b=b||new THREE.Sphere;b.center=this.center();b.radius=0.5*this.size(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new THREE.Vector3,
+new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];return function(b){a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,
+this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.makeEmpty();this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box3).copy(this)}});THREE.Matrix3=function(a,b,c,d,e,f,g,h,i){this.elements=new Float32Array(9);this.set(void 0!==a?a:1,b||0,c||0,d||0,void 0!==e?e:1,f||0,g||0,h||0,void 0!==i?i:1)};
+THREE.extend(THREE.Matrix3.prototype,{set:function(a,b,c,d,e,f,g,h,i){var k=this.elements;k[0]=a;k[3]=b;k[6]=c;k[1]=d;k[4]=e;k[7]=f;k[2]=g;k[5]=h;k[8]=i;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},multiplyVector3:function(a){console.warn("DEPRECATED: Matrix3's .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},multiplyVector3Array:function(){var a=
+new THREE.Vector3;return function(b){for(var c=0,d=b.length;c<d;c+=3)a.x=b[c],a.y=b[c+1],a.z=b[c+2],a.applyMatrix3(this),b[c]=a.x,b[c+1]=a.y,b[c+2]=a.z;return b}}(),multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},determinant:function(){var a=this.elements,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],i=a[7],a=a[8];return b*f*a-b*g*i-c*e*a+c*g*h+d*e*i-d*f*h},getInverse:function(a,b){var c=a.elements,d=this.elements;
+d[0]=c[10]*c[5]-c[6]*c[9];d[1]=-c[10]*c[1]+c[2]*c[9];d[2]=c[6]*c[1]-c[2]*c[5];d[3]=-c[10]*c[4]+c[6]*c[8];d[4]=c[10]*c[0]-c[2]*c[8];d[5]=-c[6]*c[0]+c[2]*c[4];d[6]=c[9]*c[4]-c[5]*c[8];d[7]=-c[9]*c[0]+c[1]*c[8];d[8]=c[5]*c[0]-c[1]*c[4];c=c[0]*d[0]+c[1]*d[3]+c[2]*d[6];if(0===c){if(b)throw Error("Matrix3.getInverse(): can't invert matrix, determinant is 0");console.warn("Matrix3.getInverse(): can't invert matrix, determinant is 0");this.identity();return this}this.multiplyScalar(1/c);return this},transpose:function(){var a,
+b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},getNormalMatrix:function(a){this.getInverse(a).transpose();return this},transposeIntoArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]=b[2];a[7]=b[5];a[8]=b[8];return this},clone:function(){var a=this.elements;return new THREE.Matrix3(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8])}});THREE.Matrix4=function(a,b,c,d,e,f,g,h,i,k,l,m,n,s,r,p){var q=this.elements=new Float32Array(16);q[0]=void 0!==a?a:1;q[4]=b||0;q[8]=c||0;q[12]=d||0;q[1]=e||0;q[5]=void 0!==f?f:1;q[9]=g||0;q[13]=h||0;q[2]=i||0;q[6]=k||0;q[10]=void 0!==l?l:1;q[14]=m||0;q[3]=n||0;q[7]=s||0;q[11]=r||0;q[15]=void 0!==p?p:1};
+THREE.extend(THREE.Matrix4.prototype,{set:function(a,b,c,d,e,f,g,h,i,k,l,m,n,s,r,p){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=i;q[6]=k;q[10]=l;q[14]=m;q[3]=n;q[7]=s;q[11]=r;q[15]=p;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[12],a[1],a[5],a[9],a[13],a[2],a[6],a[10],a[14],a[3],a[7],a[11],a[15]);return this},setRotationFromEuler:function(a,b){var c=this.elements,
+d=a.x,e=a.y,f=a.z,g=Math.cos(d),d=Math.sin(d),h=Math.cos(e),e=Math.sin(e),i=Math.cos(f),f=Math.sin(f);if(void 0===b||"XYZ"===b){var k=g*i,l=g*f,m=d*i,n=d*f;c[0]=h*i;c[4]=-h*f;c[8]=e;c[1]=l+m*e;c[5]=k-n*e;c[9]=-d*h;c[2]=n-k*e;c[6]=m+l*e;c[10]=g*h}else"YXZ"===b?(k=h*i,l=h*f,m=e*i,n=e*f,c[0]=k+n*d,c[4]=m*d-l,c[8]=g*e,c[1]=g*f,c[5]=g*i,c[9]=-d,c[2]=l*d-m,c[6]=n+k*d,c[10]=g*h):"ZXY"===b?(k=h*i,l=h*f,m=e*i,n=e*f,c[0]=k-n*d,c[4]=-g*f,c[8]=m+l*d,c[1]=l+m*d,c[5]=g*i,c[9]=n-k*d,c[2]=-g*e,c[6]=d,c[10]=g*h):
+"ZYX"===b?(k=g*i,l=g*f,m=d*i,n=d*f,c[0]=h*i,c[4]=m*e-l,c[8]=k*e+n,c[1]=h*f,c[5]=n*e+k,c[9]=l*e-m,c[2]=-e,c[6]=d*h,c[10]=g*h):"YZX"===b?(k=g*h,l=g*e,m=d*h,n=d*e,c[0]=h*i,c[4]=n-k*f,c[8]=m*f+l,c[1]=f,c[5]=g*i,c[9]=-d*i,c[2]=-e*i,c[6]=l*f+m,c[10]=k-n*f):"XZY"===b&&(k=g*h,l=g*e,m=d*h,n=d*e,c[0]=h*i,c[4]=-f,c[8]=e*i,c[1]=k*f+n,c[5]=g*i,c[9]=l*f-m,c[2]=m*f-l,c[6]=d*i,c[10]=n*f+k);return this},setRotationFromQuaternion:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w,g=c+c,h=d+d,i=e+e,a=c*g,k=c*h,
+c=c*i,l=d*h,d=d*i,e=e*i,g=f*g,h=f*h,f=f*i;b[0]=1-(l+e);b[4]=k-f;b[8]=c+h;b[1]=k+f;b[5]=1-(a+e);b[9]=d-g;b[2]=c-h;b[6]=d+g;b[10]=1-(a+l);return this},lookAt:function(){var a=new THREE.Vector3,b=new THREE.Vector3,c=new THREE.Vector3;return function(d,e,f){var g=this.elements;c.subVectors(d,e).normalize();0===c.length()&&(c.z=1);a.crossVectors(f,c).normalize();0===a.length()&&(c.x+=1E-4,a.crossVectors(f,c).normalize());b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;
+g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==b?(console.warn("DEPRECATED: Matrix4's .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],h=c[8],i=c[12],k=c[1],l=c[5],m=c[9],n=c[13],s=c[2],r=c[6],p=c[10],q=c[14],y=c[3],v=c[7],z=c[11],c=c[15],t=d[0],A=d[4],I=d[8],C=d[12],x=d[1],G=d[5],J=d[9],
+E=d[13],H=d[2],B=d[6],W=d[10],F=d[14],K=d[3],L=d[7],U=d[11],d=d[15];e[0]=f*t+g*x+h*H+i*K;e[4]=f*A+g*G+h*B+i*L;e[8]=f*I+g*J+h*W+i*U;e[12]=f*C+g*E+h*F+i*d;e[1]=k*t+l*x+m*H+n*K;e[5]=k*A+l*G+m*B+n*L;e[9]=k*I+l*J+m*W+n*U;e[13]=k*C+l*E+m*F+n*d;e[2]=s*t+r*x+p*H+q*K;e[6]=s*A+r*G+p*B+q*L;e[10]=s*I+r*J+p*W+q*U;e[14]=s*C+r*E+p*F+q*d;e[3]=y*t+v*x+z*H+c*K;e[7]=y*A+v*G+z*B+c*L;e[11]=y*I+v*J+z*W+c*U;e[15]=y*C+v*E+z*F+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);
+c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];c[13]=d[13];c[14]=d[14];c[15]=d[15];return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},multiplyVector3:function(a){console.warn("DEPRECATED: Matrix4's .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) or vector.applyProjection( matrix ) instead.");
+return a.applyProjection(this)},multiplyVector4:function(a){console.warn("DEPRECATED: Matrix4's .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector3Array:function(){var a=new THREE.Vector3;return function(b){for(var c=0,d=b.length;c<d;c+=3)a.x=b[c],a.y=b[c+1],a.z=b[c+2],a.applyProjection(this),b[c]=a.x,b[c+1]=a.y,b[c+2]=a.z;return b}}(),rotateAxis:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z;a.x=c*b[0]+d*b[4]+e*b[8];a.y=
+c*b[1]+d*b[5]+e*b[9];a.z=c*b[2]+d*b[6]+e*b[10];a.normalize();return a},crossVector:function(a){var b=this.elements,c=new THREE.Vector4;c.x=b[0]*a.x+b[4]*a.y+b[8]*a.z+b[12]*a.w;c.y=b[1]*a.x+b[5]*a.y+b[9]*a.z+b[13]*a.w;c.z=b[2]*a.x+b[6]*a.y+b[10]*a.z+b[14]*a.w;c.w=a.w?b[3]*a.x+b[7]*a.y+b[11]*a.z+b[15]*a.w:1;return c},determinant:function(){var a=this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],h=a[9],i=a[13],k=a[2],l=a[6],m=a[10],n=a[14];return a[3]*(+e*h*l-d*i*l-e*g*m+c*i*m+d*g*n-c*h*n)+a[7]*
+(+b*h*n-b*i*m+e*f*m-d*f*n+d*i*k-e*h*k)+a[11]*(+b*i*l-b*g*n-e*f*l+c*f*n+e*g*k-c*i*k)+a[15]*(-d*g*k-b*h*l+b*g*m+d*f*l-c*f*m+c*h*k)},transpose:function(){var a=this.elements,b;b=a[1];a[1]=a[4];a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},flattenToArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=
+b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a},flattenToArrayOffset:function(a,b){var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a},getPosition:function(){var a=new THREE.Vector3;return function(){console.warn("DEPRECATED: Matrix4's .getPosition() has been removed. Use Vector3.getPositionFromMatrix( matrix ) instead.");
+var b=this.elements;return a.set(b[12],b[13],b[14])}}(),setPosition:function(a){var b=this.elements;b[12]=a.x;b[13]=a.y;b[14]=a.z;return this},getInverse:function(a,b){var c=this.elements,d=a.elements,e=d[0],f=d[4],g=d[8],h=d[12],i=d[1],k=d[5],l=d[9],m=d[13],n=d[2],s=d[6],r=d[10],p=d[14],q=d[3],y=d[7],v=d[11],z=d[15];c[0]=l*p*y-m*r*y+m*s*v-k*p*v-l*s*z+k*r*z;c[4]=h*r*y-g*p*y-h*s*v+f*p*v+g*s*z-f*r*z;c[8]=g*m*y-h*l*y+h*k*v-f*m*v-g*k*z+f*l*z;c[12]=h*l*s-g*m*s-h*k*r+f*m*r+g*k*p-f*l*p;c[1]=m*r*q-l*p*q-
+m*n*v+i*p*v+l*n*z-i*r*z;c[5]=g*p*q-h*r*q+h*n*v-e*p*v-g*n*z+e*r*z;c[9]=h*l*q-g*m*q-h*i*v+e*m*v+g*i*z-e*l*z;c[13]=g*m*n-h*l*n+h*i*r-e*m*r-g*i*p+e*l*p;c[2]=k*p*q-m*s*q+m*n*y-i*p*y-k*n*z+i*s*z;c[6]=h*s*q-f*p*q-h*n*y+e*p*y+f*n*z-e*s*z;c[10]=f*m*q-h*k*q+h*i*y-e*m*y-f*i*z+e*k*z;c[14]=h*k*n-f*m*n-h*i*s+e*m*s+f*i*p-e*k*p;c[3]=l*s*q-k*r*q-l*n*y+i*r*y+k*n*v-i*s*v;c[7]=f*r*q-g*s*q+g*n*y-e*r*y-f*n*v+e*s*v;c[11]=g*k*q-f*l*q-g*i*y+e*l*y+f*i*v-e*k*v;c[15]=f*l*n-g*k*n+g*i*s-e*l*s-f*i*r+e*k*r;c=d[0]*c[0]+d[1]*c[4]+
+d[2]*c[8]+d[3]*c[12];if(0==c){if(b)throw Error("Matrix4.getInverse(): can't invert matrix, determinant is 0");console.warn("Matrix4.getInverse(): can't invert matrix, determinant is 0");this.identity();return this}this.multiplyScalar(1/c);return this},compose:function(){var a=new THREE.Matrix4,b=new THREE.Matrix4;return function(c,d,e){var f=this.elements;a.identity();a.setRotationFromQuaternion(d);b.makeScale(e.x,e.y,e.z);this.multiplyMatrices(a,b);f[12]=c.x;f[13]=c.y;f[14]=c.z;return this}}(),decompose:function(){var a=
+new THREE.Vector3,b=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Matrix4;return function(e,f,g){var h=this.elements;a.set(h[0],h[1],h[2]);b.set(h[4],h[5],h[6]);c.set(h[8],h[9],h[10]);e=e instanceof THREE.Vector3?e:new THREE.Vector3;f=f instanceof THREE.Quaternion?f:new THREE.Quaternion;g=g instanceof THREE.Vector3?g:new THREE.Vector3;g.x=a.length();g.y=b.length();g.z=c.length();e.x=h[12];e.y=h[13];e.z=h[14];d.copy(this);d.elements[0]/=g.x;d.elements[1]/=g.x;d.elements[2]/=g.x;d.elements[4]/=
+g.y;d.elements[5]/=g.y;d.elements[6]/=g.y;d.elements[8]/=g.z;d.elements[9]/=g.z;d.elements[10]/=g.z;f.setFromRotationMatrix(d);return[e,f,g]}}(),extractPosition:function(a){var b=this.elements,a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractRotation:function(){var a=new THREE.Vector3;return function(b){var c=this.elements,b=b.elements,d=1/a.set(b[0],b[1],b[2]).length(),e=1/a.set(b[4],b[5],b[6]).length(),f=1/a.set(b[8],b[9],b[10]).length();c[0]=b[0]*d;c[1]=b[1]*d;c[2]=b[2]*d;c[4]=
+b[4]*e;c[5]=b[5]*e;c[6]=b[6]*e;c[8]=b[8]*f;c[9]=b[9]*f;c[10]=b[10]*f;return this}}(),translate:function(a){var b=this.elements,c=a.x,d=a.y,a=a.z;b[12]=b[0]*c+b[4]*d+b[8]*a+b[12];b[13]=b[1]*c+b[5]*d+b[9]*a+b[13];b[14]=b[2]*c+b[6]*d+b[10]*a+b[14];b[15]=b[3]*c+b[7]*d+b[11]*a+b[15];return this},rotateX:function(a){var b=this.elements,c=b[4],d=b[5],e=b[6],f=b[7],g=b[8],h=b[9],i=b[10],k=b[11],l=Math.cos(a),a=Math.sin(a);b[4]=l*c+a*g;b[5]=l*d+a*h;b[6]=l*e+a*i;b[7]=l*f+a*k;b[8]=l*g-a*c;b[9]=l*h-a*d;b[10]=
+l*i-a*e;b[11]=l*k-a*f;return this},rotateY:function(a){var b=this.elements,c=b[0],d=b[1],e=b[2],f=b[3],g=b[8],h=b[9],i=b[10],k=b[11],l=Math.cos(a),a=Math.sin(a);b[0]=l*c-a*g;b[1]=l*d-a*h;b[2]=l*e-a*i;b[3]=l*f-a*k;b[8]=l*g+a*c;b[9]=l*h+a*d;b[10]=l*i+a*e;b[11]=l*k+a*f;return this},rotateZ:function(a){var b=this.elements,c=b[0],d=b[1],e=b[2],f=b[3],g=b[4],h=b[5],i=b[6],k=b[7],l=Math.cos(a),a=Math.sin(a);b[0]=l*c+a*g;b[1]=l*d+a*h;b[2]=l*e+a*i;b[3]=l*f+a*k;b[4]=l*g-a*c;b[5]=l*h-a*d;b[6]=l*i-a*e;b[7]=l*
+k-a*f;return this},rotateByAxis:function(a,b){var c=this.elements;if(1===a.x&&0===a.y&&0===a.z)return this.rotateX(b);if(0===a.x&&1===a.y&&0===a.z)return this.rotateY(b);if(0===a.x&&0===a.y&&1===a.z)return this.rotateZ(b);var d=a.x,e=a.y,f=a.z,g=Math.sqrt(d*d+e*e+f*f),d=d/g,e=e/g,f=f/g,g=d*d,h=e*e,i=f*f,k=Math.cos(b),l=Math.sin(b),m=1-k,n=d*e*m,s=d*f*m,m=e*f*m,d=d*l,r=e*l,l=f*l,f=g+(1-g)*k,g=n+l,e=s-r,n=n-l,h=h+(1-h)*k,l=m+d,s=s+r,m=m-d,i=i+(1-i)*k,k=c[0],d=c[1],r=c[2],p=c[3],q=c[4],y=c[5],v=c[6],
+z=c[7],t=c[8],A=c[9],I=c[10],C=c[11];c[0]=f*k+g*q+e*t;c[1]=f*d+g*y+e*A;c[2]=f*r+g*v+e*I;c[3]=f*p+g*z+e*C;c[4]=n*k+h*q+l*t;c[5]=n*d+h*y+l*A;c[6]=n*r+h*v+l*I;c[7]=n*p+h*z+l*C;c[8]=s*k+m*q+i*t;c[9]=s*d+m*y+i*A;c[10]=s*r+m*v+i*I;c[11]=s*p+m*z+i*C;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y,a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*
+a[0]+a[1]*a[1]+a[2]*a[2],Math.max(a[4]*a[4]+a[5]*a[5]+a[6]*a[6],a[8]*a[8]+a[9]*a[9]+a[10]*a[10])))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1);return this},makeRotationY:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1);return this},makeRotationZ:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(b,-a,0,0,a,b,0,0,0,
+0,1,0,0,0,0,1);return this},makeRotationAxis:function(a,b){var c=Math.cos(b),d=Math.sin(b),e=1-c,f=a.x,g=a.y,h=a.z,i=e*f,k=e*g;this.set(i*f+c,i*g-d*h,i*h+d*g,0,i*g+d*h,k*g+c,k*h-d*f,0,i*h-d*g,k*h+d*f,e*h*h+c,0,0,0,0,1);return this},makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},makeFrustum:function(a,b,c,d,e,f){var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(d-c);g[9]=(d+c)/(d-c);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*
+f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makePerspective:function(a,b,c,d){var a=c*Math.tan(THREE.Math.degToRad(0.5*a)),e=-a;return this.makeFrustum(e*b,a*b,e,a,c,d)},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=b-a,i=c-d,k=f-e;g[0]=2/h;g[4]=0;g[8]=0;g[12]=-((b+a)/h);g[1]=0;g[5]=2/i;g[9]=0;g[13]=-((c+d)/i);g[2]=0;g[6]=0;g[10]=-2/k;g[14]=-((f+e)/k);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},clone:function(){var a=this.elements;return new THREE.Matrix4(a[0],a[4],a[8],a[12],
+a[1],a[5],a[9],a[13],a[2],a[6],a[10],a[14],a[3],a[7],a[11],a[15])}});THREE.Ray=function(a,b){this.origin=void 0!==a?a:new THREE.Vector3;this.direction=void 0!==b?b:new THREE.Vector3};
+THREE.extend(THREE.Ray.prototype,{set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){return(b||new THREE.Vector3).copy(this.direction).multiplyScalar(a).add(this.origin)},recast:function(){var a=new THREE.Vector3;return function(b){this.origin.copy(this.at(b,a));return this}}(),closestPointToPoint:function(a,b){var c=b||new THREE.Vector3;c.subVectors(a,this.origin);var d=
+c.dot(this.direction);return c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceTo(b)}}(),isIntersectionSphere:function(a){return this.distanceToPoint(a.center)<=a.radius},isIntersectionPlane:function(a){return 0!=a.normal.dot(this.direction)||0==a.distanceToPoint(this.origin)?!0:!1},distanceToPlane:function(a){var b=
+a.normal.dot(this.direction);if(0==b){if(0==a.distanceToPoint(this.origin))return 0}else return-(this.origin.dot(a.normal)+a.constant)/b},intersectPlane:function(a,b){var c=this.distanceToPlane(a);return void 0===c?void 0:this.at(c,b)},applyMatrix4:function(a){this.direction.add(this.origin).applyMatrix4(a);this.origin.applyMatrix4(a);this.direction.sub(this.origin);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)},clone:function(){return(new THREE.Ray).copy(this)}});THREE.Sphere=function(a,b){this.center=void 0!==a?a:new THREE.Vector3;this.radius=void 0!==b?b:0};
+THREE.extend(THREE.Sphere.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromCenterAndPoints:function(a,b){for(var c=0,d=0,e=b.length;d<e;d++)var f=a.distanceToSquared(b[d]),c=Math.max(c,f);this.center=a;this.radius=Math.sqrt(c);return this},copy:function(a){this.center.copy(a.center);this.radius=a.radius;return this},empty:function(){return 0>=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-
+this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new THREE.Vector3;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new THREE.Box3;a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);
+this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius},clone:function(){return(new THREE.Sphere).copy(this)}});THREE.Frustum=function(a,b,c,d,e,f){this.planes=[void 0!==a?a:new THREE.Plane,void 0!==b?b:new THREE.Plane,void 0!==c?c:new THREE.Plane,void 0!==d?d:new THREE.Plane,void 0!==e?e:new THREE.Plane,void 0!==f?f:new THREE.Plane]};
+THREE.extend(THREE.Frustum.prototype,{set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements,a=c[0],d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],i=c[6],k=c[7],l=c[8],m=c[9],n=c[10],s=c[11],r=c[12],p=c[13],q=c[14],c=c[15];b[0].setComponents(f-a,k-g,s-l,c-r).normalize();b[1].setComponents(f+
+a,k+g,s+l,c+r).normalize();b[2].setComponents(f+d,k+h,s+m,c+p).normalize();b[3].setComponents(f-d,k-h,s-m,c-p).normalize();b[4].setComponents(f-e,k-i,s-n,c-q).normalize();b[5].setComponents(f+e,k+i,s+n,c+q).normalize();return this},intersectsObject:function(){var a=new THREE.Vector3;return function(b){var c=b.matrixWorld,d=this.planes,b=-b.geometry.boundingSphere.radius*c.getMaxScaleOnAxis();a.getPositionFromMatrix(c);for(c=0;6>c;c++)if(d[c].distanceToPoint(a)<b)return!1;return!0}}(),intersectsSphere:function(a){for(var b=
+this.planes,c=a.center,a=-a.radius,d=0;6>d;d++)if(b[d].distanceToPoint(c)<a)return!1;return!0},containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0},clone:function(){return(new THREE.Frustum).copy(this)}});THREE.Plane=function(a,b){this.normal=void 0!==a?a:new THREE.Vector3(1,0,0);this.constant=void 0!==b?b:0};
+THREE.extend(THREE.Plane.prototype,{set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),
+copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a,
+b){var c=this.distanceToPoint(a);return(b||new THREE.Vector3).copy(this.normal).multiplyScalar(c)},isIntersectionLine:function(a){var b=this.distanceToPoint(a.start),a=this.distanceToPoint(a.end);return 0>b&&0<a||0>a&&0<b},intersectLine:function(){var a=new THREE.Vector3;return function(b,c){var d=c||new THREE.Vector3,e=b.delta(a),f=this.normal.dot(e);if(0==f){if(0==this.distanceToPoint(b.start))return d.copy(b.start)}else return f=-(b.start.dot(this.normal)+this.constant)/f,0>f||1<f?void 0:d.copy(e).multiplyScalar(f).add(b.start)}}(),
+coplanarPoint:function(a){return(a||new THREE.Vector3).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d){var d=d||(new THREE.Matrix3).getInverse(c).transpose(),e=a.copy(this.normal).applyMatrix3(d),f=this.coplanarPoint(b);f.applyMatrix4(c);this.setFromNormalAndCoplanarPoint(e,f);return this}}(),translate:function(a){this.constant-=a.dot(this.normal);return this},equals:function(a){return a.normal.equals(this.normal)&&
+a.constant==this.constant},clone:function(){return(new THREE.Plane).copy(this)}});THREE.Math={clamp:function(a,b,c){return a<b?b:a>c?c:a},clampBottom:function(a,b){return a<b?b:a},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},random16:function(){return(65280*Math.random()+255*Math.random())/65535},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,
+b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(0.5-Math.random())},sign:function(a){return 0>a?-1:0<a?1:0},degToRad:function(){var a=Math.PI/180;return function(b){return b*a}}(),radToDeg:function(){var a=180/Math.PI;return function(b){return b*a}}()};THREE.Spline=function(a){function b(a,b,c,d,e,f,g){a=0.5*(c-a);d=0.5*(d-b);return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b}this.points=a;var c=[],d={x:0,y:0,z:0},e,f,g,h,i,k,l,m,n;this.initFromArray=function(a){this.points=[];for(var b=0;b<a.length;b++)this.points[b]={x:a[b][0],y:a[b][1],z:a[b][2]}};this.getPoint=function(a){e=(this.points.length-1)*a;f=Math.floor(e);g=e-f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>this.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1:
+f+2;k=this.points[c[0]];l=this.points[c[1]];m=this.points[c[2]];n=this.points[c[3]];h=g*g;i=g*h;d.x=b(k.x,l.x,m.x,n.x,g,h,i);d.y=b(k.y,l.y,m.y,n.y,g,h,i);d.z=b(k.z,l.z,m.z,n.z,g,h,i);return d};this.getControlPointsArray=function(){var a,b,c=this.points.length,d=[];for(a=0;a<c;a++)b=this.points[a],d[a]=[b.x,b.y,b.z];return d};this.getLength=function(a){var b,c,d,e=b=b=0,f=new THREE.Vector3,g=new THREE.Vector3,h=[],i=0;h[0]=0;a||(a=100);c=this.points.length*a;f.copy(this.points[0]);for(a=1;a<c;a++)b=
+a/c,d=this.getPoint(b),g.copy(d),i+=g.distanceTo(f),f.copy(d),b*=this.points.length-1,b=Math.floor(b),b!=e&&(h[b]=i,e=b);h[h.length]=i;return{chunks:h,total:i}};this.reparametrizeByArcLength=function(a){var b,c,d,e,f,g,h=[],i=new THREE.Vector3,k=this.getLength();h.push(i.copy(this.points[0]).clone());for(b=1;b<this.points.length;b++){c=k.chunks[b]-k.chunks[b-1];g=Math.ceil(a*c/k.total);e=(b-1)/(this.points.length-1);f=b/(this.points.length-1);for(c=1;c<g-1;c++)d=e+c*(1/g)*(f-e),d=this.getPoint(d),
+h.push(i.copy(d).clone());h.push(i.copy(this.points[b]).clone())}this.points=h}};THREE.Triangle=function(a,b,c){this.a=void 0!==a?a:new THREE.Vector3;this.b=void 0!==b?b:new THREE.Vector3;this.c=void 0!==c?c:new THREE.Vector3};THREE.Triangle.normal=function(){var a=new THREE.Vector3;return function(b,c,d,e){e=e||new THREE.Vector3;e.subVectors(d,c);a.subVectors(b,c);e.cross(a);b=e.lengthSq();return 0<b?e.multiplyScalar(1/Math.sqrt(b)):e.set(0,0,0)}}();
+THREE.Triangle.barycoordFromPoint=function(){var a=new THREE.Vector3,b=new THREE.Vector3,c=new THREE.Vector3;return function(d,e,f,g,h){a.subVectors(g,e);b.subVectors(f,e);c.subVectors(d,e);var d=a.dot(a),e=a.dot(b),f=a.dot(c),i=b.dot(b),g=b.dot(c),k=d*i-e*e,h=h||new THREE.Vector3;if(0==k)return h.set(-2,-1,-1);k=1/k;i=(i*f-e*g)*k;d=(d*g-e*f)*k;return h.set(1-i-d,d,i)}}();
+THREE.Triangle.containsPoint=function(){var a=new THREE.Vector3;return function(b,c,d,e){b=THREE.Triangle.barycoordFromPoint(b,c,d,e,a);return 0<=b.x&&0<=b.y&&1>=b.x+b.y}}();
+THREE.extend(THREE.Triangle.prototype,{constructor:THREE.Triangle,set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},area:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return 0.5*a.cross(b).length()}}(),
+midpoint:function(a){return(a||new THREE.Vector3).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(a){return THREE.Triangle.normal(this.a,this.b,this.c,a)},plane:function(a){return(a||new THREE.Plane).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(a,b){return THREE.Triangle.barycoordFromPoint(a,this.a,this.b,this.c,b)},containsPoint:function(a){return THREE.Triangle.containsPoint(a,this.a,this.b,this.c)},equals:function(a){return a.a.equals(this.a)&&
+a.b.equals(this.b)&&a.c.equals(this.c)},clone:function(){return(new THREE.Triangle).copy(this)}});THREE.Vertex=function(a){console.warn("THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.");return a};THREE.UV=function(a,b){console.warn("THREE.UV has been DEPRECATED. Use THREE.Vector2 instead.");return new THREE.Vector2(a,b)};THREE.Clock=function(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1};
+THREE.extend(THREE.Clock.prototype,{start:function(){this.oldTime=this.startTime=void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now();this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now(),
+a=0.001*(b-this.oldTime);this.oldTime=b;this.elapsedTime+=a}return a}});THREE.EventDispatcher=function(){var a={};this.addEventListener=function(b,c){void 0===a[b]&&(a[b]=[]);-1===a[b].indexOf(c)&&a[b].push(c)};this.removeEventListener=function(b,c){var d=a[b].indexOf(c);-1!==d&&a[b].splice(d,1)};this.dispatchEvent=function(b){var c=a[b.type];if(void 0!==c){b.target=this;for(var d=0,e=c.length;d<e;d++)c[d].call(this,b)}}};(function(a){a.Raycaster=function(b,c,d,e){this.ray=new a.Ray(b,c);0<this.ray.direction.lengthSq()&&this.ray.direction.normalize();this.near=d||0;this.far=e||Infinity};var b=new a.Sphere,c=new a.Ray,d=new a.Plane,e=new a.Vector3,f=new a.Vector3,g=new a.Matrix4,h=function(a,b){return a.distance-b.distance},i=function(h,i,k){if(h instanceof a.Particle){f.getPositionFromMatrix(h.matrixWorld);i=i.ray.distanceToPoint(f);if(i>h.scale.x)return k;k.push({distance:i,point:h.position,face:null,object:h})}else if(h instanceof
+a.Mesh){f.getPositionFromMatrix(h.matrixWorld);b.set(f,h.geometry.boundingSphere.radius*h.matrixWorld.getMaxScaleOnAxis());if(!i.ray.isIntersectionSphere(b))return k;var s=h.geometry,r=s.vertices,p=h.material instanceof a.MeshFaceMaterial,q=!0===p?h.material.materials:null,y=h.material.side,v,z,t,A=i.precision;h.matrixRotationWorld.extractRotation(h.matrixWorld);g.getInverse(h.matrixWorld);c.copy(i.ray).applyMatrix4(g);for(var I=0,C=s.faces.length;I<C;I++){var x=s.faces[I],y=!0===p?q[x.materialIndex]:
+h.material;if(void 0!==y){d.setFromNormalAndCoplanarPoint(x.normal,r[x.a]);var G=c.distanceToPlane(d);if(!(Math.abs(G)<A)&&!(0>G)){y=y.side;if(y!==a.DoubleSide&&(v=c.direction.dot(d.normal),!(y===a.FrontSide?0>v:0<v)))continue;if(!(G<i.near||G>i.far)){e=c.at(G,e);if(x instanceof a.Face3){if(y=r[x.a],v=r[x.b],z=r[x.c],!a.Triangle.containsPoint(e,y,v,z))continue}else if(x instanceof a.Face4){if(y=r[x.a],v=r[x.b],z=r[x.c],t=r[x.d],!a.Triangle.containsPoint(e,y,v,t)&&!a.Triangle.containsPoint(e,v,z,t))continue}else throw Error("face type not supported");
+k.push({distance:G,point:i.ray.at(G),face:x,faceIndex:I,object:h})}}}}}},k=function(a,b,c){for(var a=a.getDescendants(),d=0,e=a.length;d<e;d++)i(a[d],b,c)};a.Raycaster.prototype.precision=1E-4;a.Raycaster.prototype.set=function(a,b){this.ray.set(a,b);0<this.ray.direction.length()&&this.ray.direction.normalize()};a.Raycaster.prototype.intersectObject=function(a,b){var c=[];!0===b&&k(a,this,c);i(a,this,c);c.sort(h);return c};a.Raycaster.prototype.intersectObjects=function(a,b){for(var c=[],d=0,e=a.length;d<
+e;d++)i(a[d],this,c),!0===b&&k(a[d],this,c);c.sort(h);return c}})(THREE);THREE.Object3D=function(){this.id=THREE.Object3DIdCount++;this.name="";this.properties={};this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder=THREE.Object3D.defaultEulerOrder;this.scale=new THREE.Vector3(1,1,1);this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.scale.getScaleFromMatrix(this.matrix);a=(new THREE.Matrix4).extractRotation(this.matrix);this.rotation.setEulerFromRotationMatrix(a,this.eulerOrder);this.position.getPositionFromMatrix(this.matrix)},translate:function(a,b){this.matrix.rotateAxis(b);this.position.add(b.multiplyScalar(a))},translateX:function(a){this.translate(a,this._vector.set(1,0,0))},translateY:function(a){this.translate(a,
+this._vector.set(0,1,0))},translateZ:function(a){this.translate(a,this._vector.set(0,0,1))},localToWorld:function(a){return a.applyMatrix4(this.matrixWorld)},worldToLocal:function(a){return a.applyMatrix4(THREE.Object3D.__m1.getInverse(this.matrixWorld))},lookAt:function(a){this.matrix.lookAt(a,this.position,this.up);this.rotationAutoUpdate&&(!1===this.useQuaternion?this.rotation.setEulerFromRotationMatrix(this.matrix,this.eulerOrder):this.quaternion.copy(this.matrix.decompose()[1]))},add:function(a){if(a===
+this)console.warn("THREE.Object3D.add: An object can't be added as a child of itself.");else if(a instanceof THREE.Object3D){void 0!==a.parent&&a.parent.remove(a);a.parent=this;this.children.push(a);for(var b=this;void 0!==b.parent;)b=b.parent;void 0!==b&&b instanceof THREE.Scene&&b.__addObject(a)}},remove:function(a){var b=this.children.indexOf(a);if(-1!==b){a.parent=void 0;this.children.splice(b,1);for(b=this;void 0!==b.parent;)b=b.parent;void 0!==b&&b instanceof THREE.Scene&&b.__removeObject(a)}},
+traverse:function(a){a(this);for(var b=0,c=this.children.length;b<c;b++)this.children[b].traverse(a)},getChildByName:function(a,b){for(var c=0,d=this.children.length;c<d;c++){var e=this.children[c];if(e.name===a||!0===b&&(e=e.getChildByName(a,b),void 0!==e))return e}},getDescendants:function(a){void 0===a&&(a=[]);Array.prototype.push.apply(a,this.children);for(var b=0,c=this.children.length;b<c;b++)this.children[b].getDescendants(a);return a},updateMatrix:function(){this.matrix.setPosition(this.position);
+!1===this.useQuaternion?this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder):this.matrix.setRotationFromQuaternion(this.quaternion);(1!==this.scale.x||1!==this.scale.y||1!==this.scale.z)&&this.matrix.scale(this.scale);this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(a){!0===this.matrixAutoUpdate&&this.updateMatrix();if(!0===this.matrixWorldNeedsUpdate||!0===a)void 0===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),
+this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=0,c=this.children.length;b<c;b++)this.children[b].updateMatrixWorld(a)},clone:function(a){void 0===a&&(a=new THREE.Object3D);a.name=this.name;a.up.copy(this.up);a.position.copy(this.position);a.rotation instanceof THREE.Vector3&&a.rotation.copy(this.rotation);a.eulerOrder=this.eulerOrder;a.scale.copy(this.scale);a.renderDepth=this.renderDepth;a.rotationAutoUpdate=this.rotationAutoUpdate;a.matrix.copy(this.matrix);a.matrixWorld.copy(this.matrixWorld);a.matrixRotationWorld.copy(this.matrixRotationWorld);
+a.matrixAutoUpdate=this.matrixAutoUpdate;a.matrixWorldNeedsUpdate=this.matrixWorldNeedsUpdate;a.quaternion.copy(this.quaternion);a.useQuaternion=this.useQuaternion;a.visible=this.visible;a.castShadow=this.castShadow;a.receiveShadow=this.receiveShadow;a.frustumCulled=this.frustumCulled;for(var b=0;b<this.children.length;b++)a.add(this.children[b].clone());return a}};THREE.Object3D.__m1=new THREE.Matrix4;THREE.Object3D.defaultEulerOrder="XYZ";THREE.Object3DIdCount=0;THREE.Projector=function(){function a(){if(f===h){var a=new THREE.RenderableObject;g.push(a);h++;f++;return a}return g[f++]}function b(){if(k===m){var a=new THREE.RenderableVertex;l.push(a);m++;k++;return a}return l[k++]}function c(a,b){return b.z-a.z}function d(a,b){var c=0,d=1,e=a.z+a.w,f=b.z+b.w,g=-a.z+a.w,h=-b.z+b.w;if(0<=e&&0<=f&&0<=g&&0<=h)return!0;if(0>e&&0>f||0>g&&0>h)return!1;0>e?c=Math.max(c,e/(e-f)):0>f&&(d=Math.min(d,e/(e-f)));0>g?c=Math.max(c,g/(g-h)):0>h&&(d=Math.min(d,g/(g-h)));if(d<
+c)return!1;a.lerp(b,c);b.lerp(a,1-d);return!0}var e,f,g=[],h=0,i,k,l=[],m=0,n,s,r=[],p=0,q,y=[],v=0,z,t,A=[],I=0,C,x,G=[],J=0,E={objects:[],sprites:[],lights:[],elements:[]},H=new THREE.Vector3,B=new THREE.Vector4,W=new THREE.Box3(new THREE.Vector3(-1,-1,-1),new THREE.Vector3(1,1,1)),F=new THREE.Box3,K=Array(3),L=Array(4),U=new THREE.Matrix4,fa=new THREE.Matrix4,Ca,$a=new THREE.Matrix4,M=new THREE.Matrix3,ca=new THREE.Matrix3,qa=new THREE.Vector3,ha=new THREE.Frustum,ra=new THREE.Vector4,N=new THREE.Vector4;
+this.projectVector=function(a,b){b.matrixWorldInverse.getInverse(b.matrixWorld);fa.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);return a.applyProjection(fa)};this.unprojectVector=function(a,b){b.projectionMatrixInverse.getInverse(b.projectionMatrix);fa.multiplyMatrices(b.matrixWorld,b.projectionMatrixInverse);return a.applyProjection(fa)};this.pickingRay=function(a,b){a.z=-1;var c=new THREE.Vector3(a.x,a.y,1);this.unprojectVector(a,b);this.unprojectVector(c,b);c.sub(a).normalize();return new THREE.Raycaster(a,
+c)};this.projectScene=function(g,h,m,Pa){var ta=!1,ka,aa,pa,Y,da,la,Z,oa,gb,nb,ia,Wa,ab;x=t=q=s=0;E.elements.length=0;g.updateMatrixWorld();void 0===h.parent&&h.updateMatrixWorld();U.copy(h.matrixWorldInverse.getInverse(h.matrixWorld));fa.multiplyMatrices(h.projectionMatrix,U);ca.getInverse(U);ca.transpose();ha.setFromMatrix(fa);f=0;E.objects.length=0;E.sprites.length=0;E.lights.length=0;var Fa=function(b){for(var c=0,d=b.children.length;c<d;c++){var f=b.children[c];if(!1!==f.visible){if(f instanceof
+THREE.Light)E.lights.push(f);else if(f instanceof THREE.Mesh||f instanceof THREE.Line){if(!1===f.frustumCulled||!0===ha.intersectsObject(f))e=a(),e.object=f,null!==f.renderDepth?e.z=f.renderDepth:(H.getPositionFromMatrix(f.matrixWorld),H.applyProjection(fa),e.z=H.z),E.objects.push(e)}else f instanceof THREE.Sprite||f instanceof THREE.Particle?(e=a(),e.object=f,null!==f.renderDepth?e.z=f.renderDepth:(H.getPositionFromMatrix(f.matrixWorld),H.applyProjection(fa),e.z=H.z),E.sprites.push(e)):(e=a(),e.object=
+f,null!==f.renderDepth?e.z=f.renderDepth:(H.getPositionFromMatrix(f.matrixWorld),H.applyProjection(fa),e.z=H.z),E.objects.push(e));Fa(f)}}};Fa(g);!0===m&&E.objects.sort(c);g=0;for(m=E.objects.length;g<m;g++)if(oa=E.objects[g].object,Ca=oa.matrixWorld,k=0,oa instanceof THREE.Mesh){gb=oa.geometry;pa=gb.vertices;nb=gb.faces;gb=gb.faceVertexUvs;M.getInverse(Ca);M.transpose();Wa=oa.material instanceof THREE.MeshFaceMaterial;ab=!0===Wa?oa.material:null;ka=0;for(aa=pa.length;ka<aa;ka++)i=b(),i.positionWorld.copy(pa[ka]).applyMatrix4(Ca),
+i.positionScreen.copy(i.positionWorld).applyMatrix4(fa),i.positionScreen.x/=i.positionScreen.w,i.positionScreen.y/=i.positionScreen.w,i.positionScreen.z/=i.positionScreen.w,i.visible=!(-1>i.positionScreen.x||1<i.positionScreen.x||-1>i.positionScreen.y||1<i.positionScreen.y||-1>i.positionScreen.z||1<i.positionScreen.z);pa=0;for(ka=nb.length;pa<ka;pa++){aa=nb[pa];var Xa=!0===Wa?ab.materials[aa.materialIndex]:oa.material;if(void 0!==Xa){la=Xa.side;if(aa instanceof THREE.Face3)if(Y=l[aa.a],da=l[aa.b],
+Z=l[aa.c],K[0]=Y.positionScreen,K[1]=da.positionScreen,K[2]=Z.positionScreen,!0===Y.visible||!0===da.visible||!0===Z.visible||W.isIntersectionBox(F.setFromPoints(K)))if(ta=0>(Z.positionScreen.x-Y.positionScreen.x)*(da.positionScreen.y-Y.positionScreen.y)-(Z.positionScreen.y-Y.positionScreen.y)*(da.positionScreen.x-Y.positionScreen.x),la===THREE.DoubleSide||ta===(la===THREE.FrontSide))s===p?(ia=new THREE.RenderableFace3,r.push(ia),p++,s++,n=ia):n=r[s++],n.v1.copy(Y),n.v2.copy(da),n.v3.copy(Z);else continue;
+else continue;else if(aa instanceof THREE.Face4)if(Y=l[aa.a],da=l[aa.b],Z=l[aa.c],ia=l[aa.d],L[0]=Y.positionScreen,L[1]=da.positionScreen,L[2]=Z.positionScreen,L[3]=ia.positionScreen,!0===Y.visible||!0===da.visible||!0===Z.visible||!0===ia.visible||W.isIntersectionBox(F.setFromPoints(L)))if(ta=0>(ia.positionScreen.x-Y.positionScreen.x)*(da.positionScreen.y-Y.positionScreen.y)-(ia.positionScreen.y-Y.positionScreen.y)*(da.positionScreen.x-Y.positionScreen.x)||0>(da.positionScreen.x-Z.positionScreen.x)*
+(ia.positionScreen.y-Z.positionScreen.y)-(da.positionScreen.y-Z.positionScreen.y)*(ia.positionScreen.x-Z.positionScreen.x),la===THREE.DoubleSide||ta===(la===THREE.FrontSide)){if(q===v){var ub=new THREE.RenderableFace4;y.push(ub);v++;q++;n=ub}else n=y[q++];n.v1.copy(Y);n.v2.copy(da);n.v3.copy(Z);n.v4.copy(ia)}else continue;else continue;n.normalModel.copy(aa.normal);!1===ta&&(la===THREE.BackSide||la===THREE.DoubleSide)&&n.normalModel.negate();n.normalModel.applyMatrix3(M).normalize();n.normalModelView.copy(n.normalModel).applyMatrix3(ca);
+n.centroidModel.copy(aa.centroid).applyMatrix4(Ca);Z=aa.vertexNormals;Y=0;for(da=Z.length;Y<da;Y++)ia=n.vertexNormalsModel[Y],ia.copy(Z[Y]),!1===ta&&(la===THREE.BackSide||la===THREE.DoubleSide)&&ia.negate(),ia.applyMatrix3(M).normalize(),n.vertexNormalsModelView[Y].copy(ia).applyMatrix3(ca);n.vertexNormalsLength=Z.length;Y=0;for(da=gb.length;Y<da;Y++)if(ia=gb[Y][pa],void 0!==ia){la=0;for(Z=ia.length;la<Z;la++)n.uvs[Y][la]=ia[la]}n.color=aa.color;n.material=Xa;qa.copy(n.centroidModel).applyProjection(fa);
+n.z=qa.z;E.elements.push(n)}}}else if(oa instanceof THREE.Line){$a.multiplyMatrices(fa,Ca);pa=oa.geometry.vertices;Y=b();Y.positionScreen.copy(pa[0]).applyMatrix4($a);nb=oa.type===THREE.LinePieces?2:1;ka=1;for(aa=pa.length;ka<aa;ka++)Y=b(),Y.positionScreen.copy(pa[ka]).applyMatrix4($a),0<(ka+1)%nb||(da=l[k-2],ra.copy(Y.positionScreen),N.copy(da.positionScreen),!0===d(ra,N)&&(ra.multiplyScalar(1/ra.w),N.multiplyScalar(1/N.w),t===I?(gb=new THREE.RenderableLine,A.push(gb),I++,t++,z=gb):z=A[t++],z.v1.positionScreen.copy(ra),
+z.v2.positionScreen.copy(N),z.z=Math.max(ra.z,N.z),z.material=oa.material,E.elements.push(z)))}g=0;for(m=E.sprites.length;g<m;g++)oa=E.sprites[g].object,Ca=oa.matrixWorld,oa instanceof THREE.Particle&&(B.set(Ca.elements[12],Ca.elements[13],Ca.elements[14],1),B.applyMatrix4(fa),B.z/=B.w,0<B.z&&1>B.z&&(x===J?(ta=new THREE.RenderableParticle,G.push(ta),J++,x++,C=ta):C=G[x++],C.object=oa,C.x=B.x/B.w,C.y=B.y/B.w,C.z=B.z,C.rotation=oa.rotation.z,C.scale.x=oa.scale.x*Math.abs(C.x-(B.x+h.projectionMatrix.elements[0])/
+(B.w+h.projectionMatrix.elements[12])),C.scale.y=oa.scale.y*Math.abs(C.y-(B.y+h.projectionMatrix.elements[5])/(B.w+h.projectionMatrix.elements[13])),C.material=oa.material,E.elements.push(C)));!0===Pa&&E.elements.sort(c);return E}};THREE.Face3=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=void 0!==f?f:0;this.centroid=new THREE.Vector3};
+THREE.Face3.prototype={constructor:THREE.Face3,clone:function(){var a=new THREE.Face3(this.a,this.b,this.c);a.normal.copy(this.normal);a.color.copy(this.color);a.centroid.copy(this.centroid);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;b<c;b++)a.vertexNormals[b]=this.vertexNormals[b].clone();b=0;for(c=this.vertexColors.length;b<c;b++)a.vertexColors[b]=this.vertexColors[b].clone();b=0;for(c=this.vertexTangents.length;b<c;b++)a.vertexTangents[b]=this.vertexTangents[b].clone();
+return a}};THREE.Face4=function(a,b,c,d,e,f,g){this.a=a;this.b=b;this.c=c;this.d=d;this.normal=e instanceof THREE.Vector3?e:new THREE.Vector3;this.vertexNormals=e instanceof Array?e:[];this.color=f instanceof THREE.Color?f:new THREE.Color;this.vertexColors=f instanceof Array?f:[];this.vertexTangents=[];this.materialIndex=void 0!==g?g:0;this.centroid=new THREE.Vector3};
+THREE.Face4.prototype={constructor:THREE.Face4,clone:function(){var a=new THREE.Face4(this.a,this.b,this.c,this.d);a.normal.copy(this.normal);a.color.copy(this.color);a.centroid.copy(this.centroid);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;b<c;b++)a.vertexNormals[b]=this.vertexNormals[b].clone();b=0;for(c=this.vertexColors.length;b<c;b++)a.vertexColors[b]=this.vertexColors[b].clone();b=0;for(c=this.vertexTangents.length;b<c;b++)a.vertexTangents[b]=this.vertexTangents[b].clone();
+return a}};THREE.Geometry=function(){THREE.EventDispatcher.call(this);this.id=THREE.GeometryIdCount++;this.name="";this.vertices=[];this.colors=[];this.normals=[];this.faces=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.hasTangents=!1;this.dynamic=!0;this.buffersNeedUpdate=this.lineDistancesNeedUpdate=this.colorsNeedUpdate=this.tangentsNeedUpdate=
+this.normalsNeedUpdate=this.uvsNeedUpdate=this.elementsNeedUpdate=this.verticesNeedUpdate=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,applyMatrix:function(a){for(var b=(new THREE.Matrix3).getInverse(a).transpose(),c=0,d=this.vertices.length;c<d;c++)this.vertices[c].applyMatrix4(a);c=0;for(d=this.faces.length;c<d;c++){var e=this.faces[c];e.normal.applyMatrix3(b).normalize();for(var f=0,g=e.vertexNormals.length;f<g;f++)e.vertexNormals[f].applyMatrix3(b).normalize();e.centroid.applyMatrix4(a)}},computeCentroids:function(){var a,b,c;a=0;for(b=this.faces.length;a<b;a++)c=this.faces[a],
+c.centroid.set(0,0,0),c instanceof THREE.Face3?(c.centroid.add(this.vertices[c.a]),c.centroid.add(this.vertices[c.b]),c.centroid.add(this.vertices[c.c]),c.centroid.divideScalar(3)):c instanceof THREE.Face4&&(c.centroid.add(this.vertices[c.a]),c.centroid.add(this.vertices[c.b]),c.centroid.add(this.vertices[c.c]),c.centroid.add(this.vertices[c.d]),c.centroid.divideScalar(4))},computeFaceNormals:function(){for(var a=new THREE.Vector3,b=new THREE.Vector3,c=0,d=this.faces.length;c<d;c++){var e=this.faces[c],
+f=this.vertices[e.a],g=this.vertices[e.b];a.subVectors(this.vertices[e.c],g);b.subVectors(f,g);a.cross(b);a.normalize();e.normal.copy(a)}},computeVertexNormals:function(a){var b,c,d,e;if(void 0===this.__tmpVertices){e=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)e[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)d=this.faces[b],d instanceof THREE.Face3?d.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]:d instanceof THREE.Face4&&
+(d.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3])}else{e=this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)e[b].set(0,0,0)}if(a){var f,g,h,i=new THREE.Vector3,k=new THREE.Vector3,l=new THREE.Vector3,m=new THREE.Vector3,n=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)d=this.faces[b],d instanceof THREE.Face3?(a=this.vertices[d.a],f=this.vertices[d.b],g=this.vertices[d.c],i.subVectors(g,f),k.subVectors(a,f),i.cross(k),e[d.a].add(i),e[d.b].add(i),
+e[d.c].add(i)):d instanceof THREE.Face4&&(a=this.vertices[d.a],f=this.vertices[d.b],g=this.vertices[d.c],h=this.vertices[d.d],l.subVectors(h,f),k.subVectors(a,f),l.cross(k),e[d.a].add(l),e[d.b].add(l),e[d.d].add(l),m.subVectors(h,g),n.subVectors(f,g),m.cross(n),e[d.b].add(m),e[d.c].add(m),e[d.d].add(m))}else{b=0;for(c=this.faces.length;b<c;b++)d=this.faces[b],d instanceof THREE.Face3?(e[d.a].add(d.normal),e[d.b].add(d.normal),e[d.c].add(d.normal)):d instanceof THREE.Face4&&(e[d.a].add(d.normal),e[d.b].add(d.normal),
+e[d.c].add(d.normal),e[d.d].add(d.normal))}b=0;for(c=this.vertices.length;b<c;b++)e[b].normalize();b=0;for(c=this.faces.length;b<c;b++)d=this.faces[b],d instanceof THREE.Face3?(d.vertexNormals[0].copy(e[d.a]),d.vertexNormals[1].copy(e[d.b]),d.vertexNormals[2].copy(e[d.c])):d instanceof THREE.Face4&&(d.vertexNormals[0].copy(e[d.a]),d.vertexNormals[1].copy(e[d.b]),d.vertexNormals[2].copy(e[d.c]),d.vertexNormals[3].copy(e[d.d]))},computeMorphNormals:function(){var a,b,c,d,e;c=0;for(d=this.faces.length;c<
+d;c++){e=this.faces[c];e.__originalFaceNormal?e.__originalFaceNormal.copy(e.normal):e.__originalFaceNormal=e.normal.clone();e.__originalVertexNormals||(e.__originalVertexNormals=[]);a=0;for(b=e.vertexNormals.length;a<b;a++)e.__originalVertexNormals[a]?e.__originalVertexNormals[a].copy(e.vertexNormals[a]):e.__originalVertexNormals[a]=e.vertexNormals[a].clone()}var f=new THREE.Geometry;f.faces=this.faces;a=0;for(b=this.morphTargets.length;a<b;a++){if(!this.morphNormals[a]){this.morphNormals[a]={};this.morphNormals[a].faceNormals=
+[];this.morphNormals[a].vertexNormals=[];var g=this.morphNormals[a].faceNormals,h=this.morphNormals[a].vertexNormals,i,k;c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],i=new THREE.Vector3,k=e instanceof THREE.Face3?{a:new THREE.Vector3,b:new THREE.Vector3,c:new THREE.Vector3}:{a:new THREE.Vector3,b:new THREE.Vector3,c:new THREE.Vector3,d:new THREE.Vector3},g.push(i),h.push(k)}g=this.morphNormals[a];f.vertices=this.morphTargets[a].vertices;f.computeFaceNormals();f.computeVertexNormals();c=0;for(d=
+this.faces.length;c<d;c++)e=this.faces[c],i=g.faceNormals[c],k=g.vertexNormals[c],i.copy(e.normal),e instanceof THREE.Face3?(k.a.copy(e.vertexNormals[0]),k.b.copy(e.vertexNormals[1]),k.c.copy(e.vertexNormals[2])):(k.a.copy(e.vertexNormals[0]),k.b.copy(e.vertexNormals[1]),k.c.copy(e.vertexNormals[2]),k.d.copy(e.vertexNormals[3]))}c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],e.normal=e.__originalFaceNormal,e.vertexNormals=e.__originalVertexNormals},computeTangents:function(){function a(a,b,c,
+d,e,f,x){h=a.vertices[b];i=a.vertices[c];k=a.vertices[d];l=g[e];m=g[f];n=g[x];s=i.x-h.x;r=k.x-h.x;p=i.y-h.y;q=k.y-h.y;y=i.z-h.z;v=k.z-h.z;z=m.x-l.x;t=n.x-l.x;A=m.y-l.y;I=n.y-l.y;C=1/(z*I-t*A);E.set((I*s-A*r)*C,(I*p-A*q)*C,(I*y-A*v)*C);H.set((z*r-t*s)*C,(z*q-t*p)*C,(z*v-t*y)*C);G[b].add(E);G[c].add(E);G[d].add(E);J[b].add(H);J[c].add(H);J[d].add(H)}var b,c,d,e,f,g,h,i,k,l,m,n,s,r,p,q,y,v,z,t,A,I,C,x,G=[],J=[],E=new THREE.Vector3,H=new THREE.Vector3,B=new THREE.Vector3,W=new THREE.Vector3,F=new THREE.Vector3;
+b=0;for(c=this.vertices.length;b<c;b++)G[b]=new THREE.Vector3,J[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)f=this.faces[b],g=this.faceVertexUvs[0][b],f instanceof THREE.Face3?a(this,f.a,f.b,f.c,0,1,2):f instanceof THREE.Face4&&(a(this,f.a,f.b,f.d,0,1,3),a(this,f.b,f.c,f.d,1,2,3));var K=["a","b","c","d"];b=0;for(c=this.faces.length;b<c;b++){f=this.faces[b];for(d=0;d<f.vertexNormals.length;d++)F.copy(f.vertexNormals[d]),e=f[K[d]],x=G[e],B.copy(x),B.sub(F.multiplyScalar(F.dot(x))).normalize(),
+W.crossVectors(f.vertexNormals[d],x),e=W.dot(J[e]),e=0>e?-1:1,f.vertexTangents[d]=new THREE.Vector4(B.x,B.y,B.z,e)}this.hasTangents=!0},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;c<d;c++)0<c&&(a+=b[c].distanceTo(b[c-1])),this.lineDistances[c]=a},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new THREE.Box3);this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new THREE.Sphere);
+this.boundingSphere.setFromCenterAndPoints(this.boundingSphere.center,this.vertices)},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g,h,i,k;this.__tmpVertices=void 0;f=0;for(g=this.vertices.length;f<g;f++)d=this.vertices[f],d=[Math.round(d.x*e),Math.round(d.y*e),Math.round(d.z*e)].join("_"),void 0===a[d]?(a[d]=f,b.push(this.vertices[f]),c[f]=b.length-1):c[f]=c[a[d]];e=[];f=0;for(g=this.faces.length;f<g;f++)if(a=this.faces[f],a instanceof THREE.Face3){a.a=c[a.a];a.b=c[a.b];a.c=c[a.c];
+h=[a.a,a.b,a.c];d=-1;for(i=0;3>i;i++)if(h[i]==h[(i+1)%3]){e.push(f);break}}else if(a instanceof THREE.Face4){a.a=c[a.a];a.b=c[a.b];a.c=c[a.c];a.d=c[a.d];h=[a.a,a.b,a.c,a.d];d=-1;for(i=0;4>i;i++)h[i]==h[(i+1)%4]&&(0<=d&&e.push(f),d=i);if(0<=d){h.splice(d,1);var l=new THREE.Face3(h[0],h[1],h[2],a.normal,a.color,a.materialIndex);h=0;for(i=this.faceVertexUvs.length;h<i;h++)(k=this.faceVertexUvs[h][f])&&k.splice(d,1);a.vertexNormals&&0<a.vertexNormals.length&&(l.vertexNormals=a.vertexNormals,l.vertexNormals.splice(d,
+1));a.vertexColors&&0<a.vertexColors.length&&(l.vertexColors=a.vertexColors,l.vertexColors.splice(d,1));this.faces[f]=l}}for(f=e.length-1;0<=f;f--){this.faces.splice(f,1);h=0;for(i=this.faceVertexUvs.length;h<i;h++)this.faceVertexUvs[h].splice(f,1)}c=this.vertices.length-b.length;this.vertices=b;return c},clone:function(){for(var a=new THREE.Geometry,b=this.vertices,c=0,d=b.length;c<d;c++)a.vertices.push(b[c].clone());b=this.faces;c=0;for(d=b.length;c<d;c++)a.faces.push(b[c].clone());b=this.faceVertexUvs[0];
+c=0;for(d=b.length;c<d;c++){for(var e=b[c],f=[],g=0,h=e.length;g<h;g++)f.push(new THREE.Vector2(e[g].x,e[g].y));a.faceVertexUvs[0].push(f)}return a},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.GeometryIdCount=0;THREE.BufferGeometry=function(){THREE.EventDispatcher.call(this);this.id=THREE.GeometryIdCount++;this.attributes={};this.dynamic=!1;this.offsets=[];this.boundingSphere=this.boundingBox=null;this.hasTangents=!1;this.morphTargets=[]};
+THREE.BufferGeometry.prototype={constructor:THREE.BufferGeometry,applyMatrix:function(a){var b,c;this.attributes.position&&(b=this.attributes.position.array);this.attributes.normal&&(c=this.attributes.normal.array);void 0!==b&&(a.multiplyVector3Array(b),this.verticesNeedUpdate=!0);void 0!==c&&(b=new THREE.Matrix3,b.getInverse(a).transpose(),b.multiplyVector3Array(c),this.normalizeNormals(),this.normalsNeedUpdate=!0)},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new THREE.Box3);
+var a=this.attributes.position.array;if(a){var b=this.boundingBox,c,d,e;3<=a.length&&(b.min.x=b.max.x=a[0],b.min.y=b.max.y=a[1],b.min.z=b.max.z=a[2]);for(var f=3,g=a.length;f<g;f+=3)c=a[f],d=a[f+1],e=a[f+2],c<b.min.x?b.min.x=c:c>b.max.x&&(b.max.x=c),d<b.min.y?b.min.y=d:d>b.max.y&&(b.max.y=d),e<b.min.z?b.min.z=e:e>b.max.z&&(b.max.z=e)}if(void 0===a||0===a.length)this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=
+new THREE.Sphere);var a=this.attributes.position.array;if(a){for(var b,c=0,d,e,f=0,g=a.length;f<g;f+=3)b=a[f],d=a[f+1],e=a[f+2],b=b*b+d*d+e*e,b>c&&(c=b);this.boundingSphere.radius=Math.sqrt(c)}},computeVertexNormals:function(){if(this.attributes.position){var a,b,c,d;a=this.attributes.position.array.length;if(void 0===this.attributes.normal)this.attributes.normal={itemSize:3,array:new Float32Array(a),numItems:a};else{a=0;for(b=this.attributes.normal.array.length;a<b;a++)this.attributes.normal.array[a]=
+0}var e=this.attributes.position.array,f=this.attributes.normal.array,g,h,i,k,l,m,n=new THREE.Vector3,s=new THREE.Vector3,r=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Vector3;if(this.attributes.index){var y=this.attributes.index.array,v=this.offsets;c=0;for(d=v.length;c<d;++c){b=v[c].start;g=v[c].count;var z=v[c].index;a=b;for(b+=g;a<b;a+=3)g=z+y[a],h=z+y[a+1],i=z+y[a+2],k=e[3*g],l=e[3*g+1],m=e[3*g+2],n.set(k,l,m),k=e[3*h],l=e[3*h+1],m=e[3*h+2],s.set(k,l,m),k=e[3*i],l=e[3*i+1],m=e[3*i+2],r.set(k,
+l,m),p.subVectors(r,s),q.subVectors(n,s),p.cross(q),f[3*g]+=p.x,f[3*g+1]+=p.y,f[3*g+2]+=p.z,f[3*h]+=p.x,f[3*h+1]+=p.y,f[3*h+2]+=p.z,f[3*i]+=p.x,f[3*i+1]+=p.y,f[3*i+2]+=p.z}}else{a=0;for(b=e.length;a<b;a+=9)k=e[a],l=e[a+1],m=e[a+2],n.set(k,l,m),k=e[a+3],l=e[a+4],m=e[a+5],s.set(k,l,m),k=e[a+6],l=e[a+7],m=e[a+8],r.set(k,l,m),p.subVectors(r,s),q.subVectors(n,s),p.cross(q),f[a]=p.x,f[a+1]=p.y,f[a+2]=p.z,f[a+3]=p.x,f[a+4]=p.y,f[a+5]=p.z,f[a+6]=p.x,f[a+7]=p.y,f[a+8]=p.z}this.normalizeNormals();this.normalsNeedUpdate=
+!0}},normalizeNormals:function(){for(var a=this.attributes.normal.array,b,c,d,e=0,f=a.length;e<f;e+=3)b=a[e],c=a[e+1],d=a[e+2],b=1/Math.sqrt(b*b+c*c+d*d),a[e]*=b,a[e+1]*=b,a[e+2]*=b},computeTangents:function(){function a(a){Ca.x=d[3*a];Ca.y=d[3*a+1];Ca.z=d[3*a+2];$a.copy(Ca);ca=i[a];U.copy(ca);U.sub(Ca.multiplyScalar(Ca.dot(ca))).normalize();fa.crossVectors($a,ca);qa=fa.dot(k[a]);M=0>qa?-1:1;h[4*a]=U.x;h[4*a+1]=U.y;h[4*a+2]=U.z;h[4*a+3]=M}if(void 0===this.attributes.index||void 0===this.attributes.position||
+void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{var b=this.attributes.index.array,c=this.attributes.position.array,d=this.attributes.normal.array,e=this.attributes.uv.array,f=c.length/3;if(void 0===this.attributes.tangent){var g=4*f;this.attributes.tangent={itemSize:4,array:new Float32Array(g),numItems:g}}for(var h=this.attributes.tangent.array,i=[],k=[],g=0;g<f;g++)i[g]=
+new THREE.Vector3,k[g]=new THREE.Vector3;var l,m,n,s,r,p,q,y,v,z,t,A,I,C,x,f=new THREE.Vector3,g=new THREE.Vector3,G,J,E,H,B,W,F,K=this.offsets;E=0;for(H=K.length;E<H;++E){J=K[E].start;B=K[E].count;var L=K[E].index;G=J;for(J+=B;G<J;G+=3)B=L+b[G],W=L+b[G+1],F=L+b[G+2],l=c[3*B],m=c[3*B+1],n=c[3*B+2],s=c[3*W],r=c[3*W+1],p=c[3*W+2],q=c[3*F],y=c[3*F+1],v=c[3*F+2],z=e[2*B],t=e[2*B+1],A=e[2*W],I=e[2*W+1],C=e[2*F],x=e[2*F+1],s-=l,l=q-l,r-=m,m=y-m,p-=n,n=v-n,A-=z,z=C-z,I-=t,t=x-t,x=1/(A*t-z*I),f.set((t*s-
+I*l)*x,(t*r-I*m)*x,(t*p-I*n)*x),g.set((A*l-z*s)*x,(A*m-z*r)*x,(A*n-z*p)*x),i[B].add(f),i[W].add(f),i[F].add(f),k[B].add(g),k[W].add(g),k[F].add(g)}var U=new THREE.Vector3,fa=new THREE.Vector3,Ca=new THREE.Vector3,$a=new THREE.Vector3,M,ca,qa;E=0;for(H=K.length;E<H;++E){J=K[E].start;B=K[E].count;L=K[E].index;G=J;for(J+=B;G<J;G+=3)B=L+b[G],W=L+b[G+1],F=L+b[G+2],a(B),a(W),a(F)}this.tangentsNeedUpdate=this.hasTangents=!0}},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.Camera=function(){THREE.Object3D.call(this);this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=new THREE.Matrix4;this.projectionMatrixInverse=new THREE.Matrix4};THREE.Camera.prototype=Object.create(THREE.Object3D.prototype);THREE.Camera.prototype.lookAt=function(a){this.matrix.lookAt(this.position,a,this.up);!0===this.rotationAutoUpdate&&(!1===this.useQuaternion?this.rotation.setEulerFromRotationMatrix(this.matrix,this.eulerOrder):this.quaternion.copy(this.matrix.decompose()[1]))};THREE.OrthographicCamera=function(a,b,c,d,e,f){THREE.Camera.call(this);this.left=a;this.right=b;this.top=c;this.bottom=d;this.near=void 0!==e?e:0.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()};THREE.OrthographicCamera.prototype=Object.create(THREE.Camera.prototype);THREE.OrthographicCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix.makeOrthographic(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.PerspectiveCamera=function(a,b,c,d){THREE.Camera.call(this);this.fov=void 0!==a?a:50;this.aspect=void 0!==b?b:1;this.near=void 0!==c?c:0.1;this.far=void 0!==d?d:2E3;this.updateProjectionMatrix()};THREE.PerspectiveCamera.prototype=Object.create(THREE.Camera.prototype);THREE.PerspectiveCamera.prototype.setLens=function(a,b){void 0===b&&(b=24);this.fov=2*THREE.Math.radToDeg(Math.atan(b/(2*a)));this.updateProjectionMatrix()};
+THREE.PerspectiveCamera.prototype.setViewOffset=function(a,b,c,d,e,f){this.fullWidth=a;this.fullHeight=b;this.x=c;this.y=d;this.width=e;this.height=f;this.updateProjectionMatrix()};
+THREE.PerspectiveCamera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var a=this.fullWidth/this.fullHeight,b=Math.tan(THREE.Math.degToRad(0.5*this.fov))*this.near,c=-b,d=a*c,a=Math.abs(a*b-d),c=Math.abs(b-c);this.projectionMatrix.makeFrustum(d+this.x*a/this.fullWidth,d+(this.x+this.width)*a/this.fullWidth,b-(this.y+this.height)*c/this.fullHeight,b-this.y*c/this.fullHeight,this.near,this.far)}else this.projectionMatrix.makePerspective(this.fov,this.aspect,this.near,this.far)};THREE.Light=function(a){THREE.Object3D.call(this);this.color=new THREE.Color(a)};THREE.Light.prototype=Object.create(THREE.Object3D.prototype);THREE.AmbientLight=function(a){THREE.Light.call(this,a)};THREE.AmbientLight.prototype=Object.create(THREE.Light.prototype);THREE.AreaLight=function(a,b){THREE.Light.call(this,a);this.normal=new THREE.Vector3(0,-1,0);this.right=new THREE.Vector3(1,0,0);this.intensity=void 0!==b?b:1;this.height=this.width=1;this.constantAttenuation=1.5;this.linearAttenuation=0.5;this.quadraticAttenuation=0.1};THREE.AreaLight.prototype=Object.create(THREE.Light.prototype);THREE.DirectionalLight=function(a,b){THREE.Light.call(this,a);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=void 0!==b?b:1;this.onlyShadow=this.castShadow=!1;this.shadowCameraNear=50;this.shadowCameraFar=5E3;this.shadowCameraLeft=-500;this.shadowCameraTop=this.shadowCameraRight=500;this.shadowCameraBottom=-500;this.shadowCameraVisible=!1;this.shadowBias=0;this.shadowDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCascade=!1;this.shadowCascadeOffset=
+new THREE.Vector3(0,0,-1E3);this.shadowCascadeCount=2;this.shadowCascadeBias=[0,0,0];this.shadowCascadeWidth=[512,512,512];this.shadowCascadeHeight=[512,512,512];this.shadowCascadeNearZ=[-1,0.99,0.998];this.shadowCascadeFarZ=[0.99,0.998,1];this.shadowCascadeArray=[];this.shadowMatrix=this.shadowCamera=this.shadowMapSize=this.shadowMap=null};THREE.DirectionalLight.prototype=Object.create(THREE.Light.prototype);THREE.HemisphereLight=function(a,b,c){THREE.Light.call(this,a);this.groundColor=new THREE.Color(b);this.position=new THREE.Vector3(0,100,0);this.intensity=void 0!==c?c:1};THREE.HemisphereLight.prototype=Object.create(THREE.Light.prototype);THREE.PointLight=function(a,b,c){THREE.Light.call(this,a);this.position=new THREE.Vector3(0,0,0);this.intensity=void 0!==b?b:1;this.distance=void 0!==c?c:0};THREE.PointLight.prototype=Object.create(THREE.Light.prototype);THREE.SpotLight=function(a,b,c,d,e){THREE.Light.call(this,a);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=void 0!==b?b:1;this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/2;this.exponent=void 0!==e?e:10;this.onlyShadow=this.castShadow=!1;this.shadowCameraNear=50;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowCameraVisible=!1;this.shadowBias=0;this.shadowDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowMatrix=this.shadowCamera=
+this.shadowMapSize=this.shadowMap=null};THREE.SpotLight.prototype=Object.create(THREE.Light.prototype);THREE.Loader=function(a){this.statusDomElement=(this.showStatus=a)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={constructor:THREE.Loader,crossOrigin:"anonymous",addStatusElement:function(){var a=document.createElement("div");a.style.position="absolute";a.style.right="0px";a.style.top="0px";a.style.fontSize="0.8em";a.style.textAlign="left";a.style.background="rgba(0,0,0,0.25)";a.style.color="#fff";a.style.width="120px";a.style.padding="0.5em 0.5em 0.5em 0.5em";a.style.zIndex=1E3;a.innerHTML="Loading ...";return a},updateProgress:function(a){var b="Loaded ",b=a.total?b+((100*a.loaded/
+a.total).toFixed(0)+"%"):b+((a.loaded/1E3).toFixed(2)+" KB");this.statusDomElement.innerHTML=b},extractUrlBase:function(a){a=a.split("/");a.pop();return(1>a.length?".":a.join("/"))+"/"},initMaterials:function(a,b){for(var c=[],d=0;d<a.length;++d)c[d]=THREE.Loader.prototype.createMaterial(a[d],b);return c},needsTangents:function(a){for(var b=0,c=a.length;b<c;b++)if(a[b]instanceof THREE.ShaderMaterial)return!0;return!1},createMaterial:function(a,b){function c(a){a=Math.log(a)/Math.LN2;return Math.floor(a)==
+a}function d(a){a=Math.log(a)/Math.LN2;return Math.pow(2,Math.round(a))}function e(a,e,f,h,i,k,q){var y=/\.dds$/i.test(f),v=b+"/"+f;if(y){var z=THREE.ImageUtils.loadCompressedTexture(v);a[e]=z}else z=document.createElement("canvas"),a[e]=new THREE.Texture(z);a[e].sourceFile=f;h&&(a[e].repeat.set(h[0],h[1]),1!==h[0]&&(a[e].wrapS=THREE.RepeatWrapping),1!==h[1]&&(a[e].wrapT=THREE.RepeatWrapping));i&&a[e].offset.set(i[0],i[1]);k&&(f={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping},void 0!==
+f[k[0]]&&(a[e].wrapS=f[k[0]]),void 0!==f[k[1]]&&(a[e].wrapT=f[k[1]]));q&&(a[e].anisotropy=q);if(!y){var t=a[e],a=new Image;a.onload=function(){if(!c(this.width)||!c(this.height)){var a=d(this.width),b=d(this.height);t.image.width=a;t.image.height=b;t.image.getContext("2d").drawImage(this,0,0,a,b)}else t.image=this;t.needsUpdate=!0};a.crossOrigin=g.crossOrigin;a.src=v}}function f(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]}var g=this,h="MeshLambertMaterial",i={color:15658734,opacity:1,map:null,
+lightMap:null,normalMap:null,bumpMap:null,wireframe:!1};if(a.shading){var k=a.shading.toLowerCase();"phong"===k?h="MeshPhongMaterial":"basic"===k&&(h="MeshBasicMaterial")}void 0!==a.blending&&void 0!==THREE[a.blending]&&(i.blending=THREE[a.blending]);if(void 0!==a.transparent||1>a.opacity)i.transparent=a.transparent;void 0!==a.depthTest&&(i.depthTest=a.depthTest);void 0!==a.depthWrite&&(i.depthWrite=a.depthWrite);void 0!==a.visible&&(i.visible=a.visible);void 0!==a.flipSided&&(i.side=THREE.BackSide);
+void 0!==a.doubleSided&&(i.side=THREE.DoubleSide);void 0!==a.wireframe&&(i.wireframe=a.wireframe);void 0!==a.vertexColors&&("face"===a.vertexColors?i.vertexColors=THREE.FaceColors:a.vertexColors&&(i.vertexColors=THREE.VertexColors));a.colorDiffuse?i.color=f(a.colorDiffuse):a.DbgColor&&(i.color=a.DbgColor);a.colorSpecular&&(i.specular=f(a.colorSpecular));a.colorAmbient&&(i.ambient=f(a.colorAmbient));a.transparency&&(i.opacity=a.transparency);a.specularCoef&&(i.shininess=a.specularCoef);a.mapDiffuse&&
+b&&e(i,"map",a.mapDiffuse,a.mapDiffuseRepeat,a.mapDiffuseOffset,a.mapDiffuseWrap,a.mapDiffuseAnisotropy);a.mapLight&&b&&e(i,"lightMap",a.mapLight,a.mapLightRepeat,a.mapLightOffset,a.mapLightWrap,a.mapLightAnisotropy);a.mapBump&&b&&e(i,"bumpMap",a.mapBump,a.mapBumpRepeat,a.mapBumpOffset,a.mapBumpWrap,a.mapBumpAnisotropy);a.mapNormal&&b&&e(i,"normalMap",a.mapNormal,a.mapNormalRepeat,a.mapNormalOffset,a.mapNormalWrap,a.mapNormalAnisotropy);a.mapSpecular&&b&&e(i,"specularMap",a.mapSpecular,a.mapSpecularRepeat,
+a.mapSpecularOffset,a.mapSpecularWrap,a.mapSpecularAnisotropy);a.mapBumpScale&&(i.bumpScale=a.mapBumpScale);a.mapNormal?(h=THREE.ShaderLib.normalmap,k=THREE.UniformsUtils.clone(h.uniforms),k.tNormal.value=i.normalMap,a.mapNormalFactor&&k.uNormalScale.value.set(a.mapNormalFactor,a.mapNormalFactor),i.map&&(k.tDiffuse.value=i.map,k.enableDiffuse.value=!0),i.specularMap&&(k.tSpecular.value=i.specularMap,k.enableSpecular.value=!0),i.lightMap&&(k.tAO.value=i.lightMap,k.enableAO.value=!0),k.uDiffuseColor.value.setHex(i.color),
+k.uSpecularColor.value.setHex(i.specular),k.uAmbientColor.value.setHex(i.ambient),k.uShininess.value=i.shininess,void 0!==i.opacity&&(k.uOpacity.value=i.opacity),h=new THREE.ShaderMaterial({fragmentShader:h.fragmentShader,vertexShader:h.vertexShader,uniforms:k,lights:!0,fog:!0}),i.transparent&&(h.transparent=!0)):h=new THREE[h](i);void 0!==a.DbgName&&(h.name=a.DbgName);return h}};THREE.ImageLoader=function(){THREE.EventDispatcher.call(this);this.crossOrigin=null};THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,load:function(a,b){var c=this;void 0===b&&(b=new Image);b.addEventListener("load",function(){c.dispatchEvent({type:"load",content:b})},!1);b.addEventListener("error",function(){c.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},!1);c.crossOrigin&&(b.crossOrigin=c.crossOrigin);b.src=a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a);this.withCredentials=!1};THREE.JSONLoader.prototype=Object.create(THREE.Loader.prototype);THREE.JSONLoader.prototype.load=function(a,b,c){c=c&&"string"===typeof c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)};
+THREE.JSONLoader.prototype.loadAjaxJSON=function(a,b,c,d,e){var f=new XMLHttpRequest,g=0;f.onreadystatechange=function(){if(f.readyState===f.DONE)if(200===f.status||0===f.status){if(f.responseText){var h=JSON.parse(f.responseText);a.createModel(h,c,d)}else console.warn("THREE.JSONLoader: ["+b+"] seems to be unreachable or file there is empty");a.onLoadComplete()}else console.error("THREE.JSONLoader: Couldn't load ["+b+"] ["+f.status+"]");else f.readyState===f.LOADING?e&&(0===g&&(g=f.getResponseHeader("Content-Length")),
+e({total:g,loaded:f.responseText.length})):f.readyState===f.HEADERS_RECEIVED&&(g=f.getResponseHeader("Content-Length"))};f.open("GET",b,!0);f.withCredentials=this.withCredentials;f.send(null)};
+THREE.JSONLoader.prototype.createModel=function(a,b,c){var d=new THREE.Geometry,e=void 0!==a.scale?1/a.scale:1,f,g,h,i,k,l,m,n,s,r,p,q,y,v,z,t=a.faces;r=a.vertices;var A=a.normals,I=a.colors,C=0;for(f=0;f<a.uvs.length;f++)a.uvs[f].length&&C++;for(f=0;f<C;f++)d.faceUvs[f]=[],d.faceVertexUvs[f]=[];i=0;for(k=r.length;i<k;)l=new THREE.Vector3,l.x=r[i++]*e,l.y=r[i++]*e,l.z=r[i++]*e,d.vertices.push(l);i=0;for(k=t.length;i<k;){r=t[i++];l=r&1;h=r&2;f=r&4;g=r&8;n=r&16;m=r&32;p=r&64;r&=128;l?(q=new THREE.Face4,
+q.a=t[i++],q.b=t[i++],q.c=t[i++],q.d=t[i++],l=4):(q=new THREE.Face3,q.a=t[i++],q.b=t[i++],q.c=t[i++],l=3);h&&(h=t[i++],q.materialIndex=h);h=d.faces.length;if(f)for(f=0;f<C;f++)y=a.uvs[f],s=t[i++],z=y[2*s],s=y[2*s+1],d.faceUvs[f][h]=new THREE.Vector2(z,s);if(g)for(f=0;f<C;f++){y=a.uvs[f];v=[];for(g=0;g<l;g++)s=t[i++],z=y[2*s],s=y[2*s+1],v[g]=new THREE.Vector2(z,s);d.faceVertexUvs[f][h]=v}n&&(n=3*t[i++],g=new THREE.Vector3,g.x=A[n++],g.y=A[n++],g.z=A[n],q.normal=g);if(m)for(f=0;f<l;f++)n=3*t[i++],g=
+new THREE.Vector3,g.x=A[n++],g.y=A[n++],g.z=A[n],q.vertexNormals.push(g);p&&(m=t[i++],m=new THREE.Color(I[m]),q.color=m);if(r)for(f=0;f<l;f++)m=t[i++],m=new THREE.Color(I[m]),q.vertexColors.push(m);d.faces.push(q)}if(a.skinWeights){i=0;for(k=a.skinWeights.length;i<k;i+=2)t=a.skinWeights[i],A=a.skinWeights[i+1],d.skinWeights.push(new THREE.Vector4(t,A,0,0))}if(a.skinIndices){i=0;for(k=a.skinIndices.length;i<k;i+=2)t=a.skinIndices[i],A=a.skinIndices[i+1],d.skinIndices.push(new THREE.Vector4(t,A,0,0))}d.bones=
+a.bones;d.animation=a.animation;if(void 0!==a.morphTargets){i=0;for(k=a.morphTargets.length;i<k;i++){d.morphTargets[i]={};d.morphTargets[i].name=a.morphTargets[i].name;d.morphTargets[i].vertices=[];I=d.morphTargets[i].vertices;C=a.morphTargets[i].vertices;t=0;for(A=C.length;t<A;t+=3)r=new THREE.Vector3,r.x=C[t]*e,r.y=C[t+1]*e,r.z=C[t+2]*e,I.push(r)}}if(void 0!==a.morphColors){i=0;for(k=a.morphColors.length;i<k;i++){d.morphColors[i]={};d.morphColors[i].name=a.morphColors[i].name;d.morphColors[i].colors=
+[];A=d.morphColors[i].colors;I=a.morphColors[i].colors;e=0;for(t=I.length;e<t;e+=3)C=new THREE.Color(16755200),C.setRGB(I[e],I[e+1],I[e+2]),A.push(C)}}d.computeCentroids();d.computeFaceNormals();a=this.initMaterials(a.materials,c);this.needsTangents(a)&&d.computeTangents();b(d,a)};THREE.LoadingMonitor=function(){THREE.EventDispatcher.call(this);var a=this,b=0,c=0,d=function(){b++;a.dispatchEvent({type:"progress",loaded:b,total:c});b===c&&a.dispatchEvent({type:"load"})};this.add=function(a){c++;a.addEventListener("load",d,!1)}};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){};this.geometryHandlerMap={};this.hierarchyHandlerMap={};this.addGeometryHandler("ascii",THREE.JSONLoader)};THREE.SceneLoader.prototype.constructor=THREE.SceneLoader;
+THREE.SceneLoader.prototype.load=function(a,b){var c=this,d=new XMLHttpRequest;d.onreadystatechange=function(){if(4===d.readyState)if(200===d.status||0===d.status){var e=JSON.parse(d.responseText);c.parse(e,b,a)}else console.error("THREE.SceneLoader: Couldn't load ["+a+"] ["+d.status+"]")};d.open("GET",a,!0);d.send(null)};THREE.SceneLoader.prototype.addGeometryHandler=function(a,b){this.geometryHandlerMap[a]={loaderClass:b}};
+THREE.SceneLoader.prototype.addHierarchyHandler=function(a,b){this.hierarchyHandlerMap[a]={loaderClass:b}};
+THREE.SceneLoader.prototype.parse=function(a,b,c){function d(a,b){return"relativeToHTML"==b?a:m+"/"+a}function e(){f(x.scene,J.objects)}function f(a,b){var c,e,g,i,k,m,p;for(p in b)if(void 0===x.objects[p]){var q=b[p],t=null;if(q.type&&q.type in l.hierarchyHandlerMap){if(void 0===q.loading){e={type:1,url:1,material:1,position:1,rotation:1,scale:1,visible:1,children:1,properties:1,skin:1,morph:1,mirroredLoop:1,duration:1};g={};for(var B in q)B in e||(g[B]=q[B]);s=x.materials[q.material];q.loading=
+!0;e=l.hierarchyHandlerMap[q.type].loaderObject;e.options?e.load(d(q.url,J.urlBaseType),h(p,a,s,q)):e.load(d(q.url,J.urlBaseType),h(p,a,s,q),g)}}else if(void 0!==q.geometry){if(n=x.geometries[q.geometry]){t=!1;s=x.materials[q.material];t=s instanceof THREE.ShaderMaterial;g=q.position;i=q.rotation;k=q.scale;c=q.matrix;m=q.quaternion;q.material||(s=new THREE.MeshFaceMaterial(x.face_materials[q.geometry]));s instanceof THREE.MeshFaceMaterial&&0===s.materials.length&&(s=new THREE.MeshFaceMaterial(x.face_materials[q.geometry]));
+if(s instanceof THREE.MeshFaceMaterial)for(e=0;e<s.materials.length;e++)t=t||s.materials[e]instanceof THREE.ShaderMaterial;t&&n.computeTangents();q.skin?t=new THREE.SkinnedMesh(n,s):q.morph?(t=new THREE.MorphAnimMesh(n,s),void 0!==q.duration&&(t.duration=q.duration),void 0!==q.time&&(t.time=q.time),void 0!==q.mirroredLoop&&(t.mirroredLoop=q.mirroredLoop),s.morphNormals&&n.computeMorphNormals()):t=new THREE.Mesh(n,s);t.name=p;c?(t.matrixAutoUpdate=!1,t.matrix.set(c[0],c[1],c[2],c[3],c[4],c[5],c[6],
+c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15])):(t.position.set(g[0],g[1],g[2]),m?(t.quaternion.set(m[0],m[1],m[2],m[3]),t.useQuaternion=!0):t.rotation.set(i[0],i[1],i[2]),t.scale.set(k[0],k[1],k[2]));t.visible=q.visible;t.castShadow=q.castShadow;t.receiveShadow=q.receiveShadow;a.add(t);x.objects[p]=t}}else"DirectionalLight"===q.type||"PointLight"===q.type||"AmbientLight"===q.type?(v=void 0!==q.color?q.color:16777215,z=void 0!==q.intensity?q.intensity:1,"DirectionalLight"===q.type?(g=q.direction,
+y=new THREE.DirectionalLight(v,z),y.position.set(g[0],g[1],g[2]),q.target&&(G.push({object:y,targetName:q.target}),y.target=null)):"PointLight"===q.type?(g=q.position,e=q.distance,y=new THREE.PointLight(v,z,e),y.position.set(g[0],g[1],g[2])):"AmbientLight"===q.type&&(y=new THREE.AmbientLight(v)),a.add(y),y.name=p,x.lights[p]=y,x.objects[p]=y):"PerspectiveCamera"===q.type||"OrthographicCamera"===q.type?("PerspectiveCamera"===q.type?r=new THREE.PerspectiveCamera(q.fov,q.aspect,q.near,q.far):"OrthographicCamera"===
+q.type&&(r=new THREE.OrthographicCamera(q.left,q.right,q.top,q.bottom,q.near,q.far)),g=q.position,r.position.set(g[0],g[1],g[2]),a.add(r),r.name=p,x.cameras[p]=r,x.objects[p]=r):(g=q.position,i=q.rotation,k=q.scale,m=q.quaternion,t=new THREE.Object3D,t.name=p,t.position.set(g[0],g[1],g[2]),m?(t.quaternion.set(m[0],m[1],m[2],m[3]),t.useQuaternion=!0):t.rotation.set(i[0],i[1],i[2]),t.scale.set(k[0],k[1],k[2]),t.visible=void 0!==q.visible?q.visible:!1,a.add(t),x.objects[p]=t,x.empties[p]=t);if(t){if(void 0!==
+q.properties)for(var C in q.properties)t.properties[C]=q.properties[C];if(void 0!==q.groups)for(e=0;e<q.groups.length;e++)g=q.groups[e],void 0===x.groups[g]&&(x.groups[g]=[]),x.groups[g].push(p);void 0!==q.children&&f(t,q.children)}}}function g(a){return function(b,c){x.geometries[a]=b;x.face_materials[a]=c;e();t-=1;l.onLoadComplete();k()}}function h(a,b,c,d){return function(f){var f=f.content?f.content:f.dae?f.scene:f,g=d.position,h=d.rotation,i=d.quaternion,n=d.scale;f.position.set(g[0],g[1],g[2]);
+i?(f.quaternion.set(i[0],i[1],i[2],i[3]),f.useQuaternion=!0):f.rotation.set(h[0],h[1],h[2]);f.scale.set(n[0],n[1],n[2]);c&&f.traverse(function(a){a.material=c});var m=void 0!==d.visible?d.visible:!0;f.traverse(function(a){a.visible=m});b.add(f);f.name=a;x.objects[a]=f;e();t-=1;l.onLoadComplete();k()}}function i(a){return function(b,c){x.geometries[a]=b;x.face_materials[a]=c}}function k(){l.callbackProgress({totalModels:I,totalTextures:C,loadedModels:I-t,loadedTextures:C-A},x);l.onLoadProgress();if(0===
+t&&0===A){for(var a=0;a<G.length;a++){var c=G[a],d=x.objects[c.targetName];d?c.object.target=d:(c.object.target=new THREE.Object3D,x.scene.add(c.object.target));c.object.target.properties.targetInverse=c.object}b(x)}}var l=this,m=THREE.Loader.prototype.extractUrlBase(c),n,s,r,p,q,y,v,z,t,A,I,C,x,G=[],J=a,E;for(E in this.geometryHandlerMap)a=this.geometryHandlerMap[E].loaderClass,this.geometryHandlerMap[E].loaderObject=new a;for(E in this.hierarchyHandlerMap)a=this.hierarchyHandlerMap[E].loaderClass,
+this.hierarchyHandlerMap[E].loaderObject=new a;A=t=0;x={scene:new THREE.Scene,geometries:{},face_materials:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},empties:{},groups:{}};if(J.transform&&(E=J.transform.position,a=J.transform.rotation,c=J.transform.scale,E&&x.scene.position.set(E[0],E[1],E[2]),a&&x.scene.rotation.set(a[0],a[1],a[2]),c&&x.scene.scale.set(c[0],c[1],c[2]),E||a||c))x.scene.updateMatrix(),x.scene.updateMatrixWorld();E=function(a){return function(){A-=a;k();l.onLoadComplete()}};
+for(var H in J.fogs)a=J.fogs[H],"linear"===a.type?p=new THREE.Fog(0,a.near,a.far):"exp2"===a.type&&(p=new THREE.FogExp2(0,a.density)),a=a.color,p.color.setRGB(a[0],a[1],a[2]),x.fogs[H]=p;for(var B in J.geometries)p=J.geometries[B],p.type in this.geometryHandlerMap&&(t+=1,l.onLoadStart());for(var W in J.objects)p=J.objects[W],p.type&&p.type in this.hierarchyHandlerMap&&(t+=1,l.onLoadStart());I=t;for(B in J.geometries)if(p=J.geometries[B],"cube"===p.type)n=new THREE.CubeGeometry(p.width,p.height,p.depth,
+p.widthSegments,p.heightSegments,p.depthSegments),x.geometries[B]=n;else if("plane"===p.type)n=new THREE.PlaneGeometry(p.width,p.height,p.widthSegments,p.heightSegments),x.geometries[B]=n;else if("sphere"===p.type)n=new THREE.SphereGeometry(p.radius,p.widthSegments,p.heightSegments),x.geometries[B]=n;else if("cylinder"===p.type)n=new THREE.CylinderGeometry(p.topRad,p.botRad,p.height,p.radSegs,p.heightSegs),x.geometries[B]=n;else if("torus"===p.type)n=new THREE.TorusGeometry(p.radius,p.tube,p.segmentsR,
+p.segmentsT),x.geometries[B]=n;else if("icosahedron"===p.type)n=new THREE.IcosahedronGeometry(p.radius,p.subdivisions),x.geometries[B]=n;else if(p.type in this.geometryHandlerMap){W={};for(q in p)"type"!==q&&"url"!==q&&(W[q]=p[q]);this.geometryHandlerMap[p.type].loaderObject.load(d(p.url,J.urlBaseType),g(B),W)}else"embedded"===p.type&&(W=J.embeds[p.id],W.metadata=J.metadata,W&&this.geometryHandlerMap.ascii.loaderObject.createModel(W,i(B),""));for(var F in J.textures)if(B=J.textures[F],B.url instanceof
+Array){A+=B.url.length;for(q=0;q<B.url.length;q++)l.onLoadStart()}else A+=1,l.onLoadStart();C=A;for(F in J.textures){B=J.textures[F];void 0!==B.mapping&&void 0!==THREE[B.mapping]&&(B.mapping=new THREE[B.mapping]);if(B.url instanceof Array){W=B.url.length;p=[];for(q=0;q<W;q++)p[q]=d(B.url[q],J.urlBaseType);q=(q=/\.dds$/i.test(p[0]))?THREE.ImageUtils.loadCompressedTextureCube(p,B.mapping,E(W)):THREE.ImageUtils.loadTextureCube(p,B.mapping,E(W))}else q=/\.dds$/i.test(B.url),W=d(B.url,J.urlBaseType),p=
+E(1),q=q?THREE.ImageUtils.loadCompressedTexture(W,B.mapping,p):THREE.ImageUtils.loadTexture(W,B.mapping,p),void 0!==THREE[B.minFilter]&&(q.minFilter=THREE[B.minFilter]),void 0!==THREE[B.magFilter]&&(q.magFilter=THREE[B.magFilter]),B.anisotropy&&(q.anisotropy=B.anisotropy),B.repeat&&(q.repeat.set(B.repeat[0],B.repeat[1]),1!==B.repeat[0]&&(q.wrapS=THREE.RepeatWrapping),1!==B.repeat[1]&&(q.wrapT=THREE.RepeatWrapping)),B.offset&&q.offset.set(B.offset[0],B.offset[1]),B.wrap&&(W={repeat:THREE.RepeatWrapping,
+mirror:THREE.MirroredRepeatWrapping},void 0!==W[B.wrap[0]]&&(q.wrapS=W[B.wrap[0]]),void 0!==W[B.wrap[1]]&&(q.wrapT=W[B.wrap[1]]));x.textures[F]=q}var K,L;for(K in J.materials){F=J.materials[K];for(L in F.parameters)"envMap"===L||"map"===L||"lightMap"===L||"bumpMap"===L?F.parameters[L]=x.textures[F.parameters[L]]:"shading"===L?F.parameters[L]="flat"===F.parameters[L]?THREE.FlatShading:THREE.SmoothShading:"side"===L?F.parameters[L]="double"==F.parameters[L]?THREE.DoubleSide:"back"==F.parameters[L]?
+THREE.BackSide:THREE.FrontSide:"blending"===L?F.parameters[L]=F.parameters[L]in THREE?THREE[F.parameters[L]]:THREE.NormalBlending:"combine"===L?F.parameters[L]=F.parameters[L]in THREE?THREE[F.parameters[L]]:THREE.MultiplyOperation:"vertexColors"===L?"face"==F.parameters[L]?F.parameters[L]=THREE.FaceColors:F.parameters[L]&&(F.parameters[L]=THREE.VertexColors):"wrapRGB"===L&&(E=F.parameters[L],F.parameters[L]=new THREE.Vector3(E[0],E[1],E[2]));void 0!==F.parameters.opacity&&1>F.parameters.opacity&&
+(F.parameters.transparent=!0);F.parameters.normalMap?(E=THREE.ShaderLib.normalmap,B=THREE.UniformsUtils.clone(E.uniforms),q=F.parameters.color,W=F.parameters.specular,p=F.parameters.ambient,H=F.parameters.shininess,B.tNormal.value=x.textures[F.parameters.normalMap],F.parameters.normalScale&&B.uNormalScale.value.set(F.parameters.normalScale[0],F.parameters.normalScale[1]),F.parameters.map&&(B.tDiffuse.value=F.parameters.map,B.enableDiffuse.value=!0),F.parameters.envMap&&(B.tCube.value=F.parameters.envMap,
+B.enableReflection.value=!0,B.uReflectivity.value=F.parameters.reflectivity),F.parameters.lightMap&&(B.tAO.value=F.parameters.lightMap,B.enableAO.value=!0),F.parameters.specularMap&&(B.tSpecular.value=x.textures[F.parameters.specularMap],B.enableSpecular.value=!0),F.parameters.displacementMap&&(B.tDisplacement.value=x.textures[F.parameters.displacementMap],B.enableDisplacement.value=!0,B.uDisplacementBias.value=F.parameters.displacementBias,B.uDisplacementScale.value=F.parameters.displacementScale),
+B.uDiffuseColor.value.setHex(q),B.uSpecularColor.value.setHex(W),B.uAmbientColor.value.setHex(p),B.uShininess.value=H,F.parameters.opacity&&(B.uOpacity.value=F.parameters.opacity),s=new THREE.ShaderMaterial({fragmentShader:E.fragmentShader,vertexShader:E.vertexShader,uniforms:B,lights:!0,fog:!0})):s=new THREE[F.type](F.parameters);x.materials[K]=s}for(K in J.materials)if(F=J.materials[K],F.parameters.materials){L=[];for(q=0;q<F.parameters.materials.length;q++)L.push(x.materials[F.parameters.materials[q]]);
+x.materials[K].materials=L}e();x.cameras&&J.defaults.camera&&(x.currentCamera=x.cameras[J.defaults.camera]);x.fogs&&J.defaults.fog&&(x.scene.fog=x.fogs[J.defaults.fog]);l.callbackSync(x);k()};THREE.TextureLoader=function(){THREE.EventDispatcher.call(this);this.crossOrigin=null};THREE.TextureLoader.prototype={constructor:THREE.TextureLoader,load:function(a){var b=this,c=new Image;c.addEventListener("load",function(){var a=new THREE.Texture(c);a.needsUpdate=!0;b.dispatchEvent({type:"load",content:a})},!1);c.addEventListener("error",function(){b.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},!1);b.crossOrigin&&(c.crossOrigin=b.crossOrigin);c.src=a}};THREE.Material=function(){THREE.EventDispatcher.call(this);this.id=THREE.MaterialIdCount++;this.name="";this.side=THREE.FrontSide;this.opacity=1;this.transparent=!1;this.blending=THREE.NormalBlending;this.blendSrc=THREE.SrcAlphaFactor;this.blendDst=THREE.OneMinusSrcAlphaFactor;this.blendEquation=THREE.AddEquation;this.depthWrite=this.depthTest=!0;this.polygonOffset=!1;this.alphaTest=this.polygonOffsetUnits=this.polygonOffsetFactor=0;this.overdraw=!1;this.needsUpdate=this.visible=!0};
+THREE.Material.prototype.setValues=function(a){if(void 0!==a)for(var b in a){var c=a[b];if(void 0===c)console.warn("THREE.Material: '"+b+"' parameter is undefined.");else if(b in this){var d=this[b];d instanceof THREE.Color&&c instanceof THREE.Color?d.copy(c):d instanceof THREE.Color?d.set(c):d instanceof THREE.Vector3&&c instanceof THREE.Vector3?d.copy(c):this[b]=c}}};
+THREE.Material.prototype.clone=function(a){void 0===a&&(a=new THREE.Material);a.name=this.name;a.side=this.side;a.opacity=this.opacity;a.transparent=this.transparent;a.blending=this.blending;a.blendSrc=this.blendSrc;a.blendDst=this.blendDst;a.blendEquation=this.blendEquation;a.depthTest=this.depthTest;a.depthWrite=this.depthWrite;a.polygonOffset=this.polygonOffset;a.polygonOffsetFactor=this.polygonOffsetFactor;a.polygonOffsetUnits=this.polygonOffsetUnits;a.alphaTest=this.alphaTest;a.overdraw=this.overdraw;
+a.visible=this.visible;return a};THREE.Material.prototype.dispose=function(){this.dispatchEvent({type:"dispose"})};THREE.MaterialIdCount=0;THREE.LineBasicMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.vertexColors=!1;this.fog=!0;this.setValues(a)};THREE.LineBasicMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.LineBasicMaterial.prototype.clone=function(){var a=new THREE.LineBasicMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.linewidth=this.linewidth;a.linecap=this.linecap;a.linejoin=this.linejoin;a.vertexColors=this.vertexColors;a.fog=this.fog;return a};THREE.LineDashedMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.scale=this.linewidth=1;this.dashSize=3;this.gapSize=1;this.vertexColors=!1;this.fog=!0;this.setValues(a)};THREE.LineDashedMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.LineDashedMaterial.prototype.clone=function(){var a=new THREE.LineDashedMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.linewidth=this.linewidth;a.scale=this.scale;a.dashSize=this.dashSize;a.gapSize=this.gapSize;a.vertexColors=this.vertexColors;a.fog=this.fog;return a};THREE.MeshBasicMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.envMap=this.specularMap=this.lightMap=this.map=null;this.combine=THREE.MultiplyOperation;this.reflectivity=1;this.refractionRatio=0.98;this.fog=!0;this.shading=THREE.SmoothShading;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.vertexColors=THREE.NoColors;this.morphTargets=this.skinning=!1;this.setValues(a)};
+THREE.MeshBasicMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.MeshBasicMaterial.prototype.clone=function(){var a=new THREE.MeshBasicMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.map=this.map;a.lightMap=this.lightMap;a.specularMap=this.specularMap;a.envMap=this.envMap;a.combine=this.combine;a.reflectivity=this.reflectivity;a.refractionRatio=this.refractionRatio;a.fog=this.fog;a.shading=this.shading;a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;a.wireframeLinecap=this.wireframeLinecap;a.wireframeLinejoin=
+this.wireframeLinejoin;a.vertexColors=this.vertexColors;a.skinning=this.skinning;a.morphTargets=this.morphTargets;return a};THREE.MeshLambertMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.ambient=new THREE.Color(16777215);this.emissive=new THREE.Color(0);this.wrapAround=!1;this.wrapRGB=new THREE.Vector3(1,1,1);this.envMap=this.specularMap=this.lightMap=this.map=null;this.combine=THREE.MultiplyOperation;this.reflectivity=1;this.refractionRatio=0.98;this.fog=!0;this.shading=THREE.SmoothShading;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap=
+"round";this.vertexColors=THREE.NoColors;this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)};THREE.MeshLambertMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.MeshLambertMaterial.prototype.clone=function(){var a=new THREE.MeshLambertMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.ambient.copy(this.ambient);a.emissive.copy(this.emissive);a.wrapAround=this.wrapAround;a.wrapRGB.copy(this.wrapRGB);a.map=this.map;a.lightMap=this.lightMap;a.specularMap=this.specularMap;a.envMap=this.envMap;a.combine=this.combine;a.reflectivity=this.reflectivity;a.refractionRatio=this.refractionRatio;a.fog=this.fog;a.shading=this.shading;
+a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;a.wireframeLinecap=this.wireframeLinecap;a.wireframeLinejoin=this.wireframeLinejoin;a.vertexColors=this.vertexColors;a.skinning=this.skinning;a.morphTargets=this.morphTargets;a.morphNormals=this.morphNormals;return a};THREE.MeshPhongMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.ambient=new THREE.Color(16777215);this.emissive=new THREE.Color(0);this.specular=new THREE.Color(1118481);this.shininess=30;this.metal=!1;this.perPixel=!0;this.wrapAround=!1;this.wrapRGB=new THREE.Vector3(1,1,1);this.bumpMap=this.lightMap=this.map=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new THREE.Vector2(1,1);this.envMap=this.specularMap=null;this.combine=THREE.MultiplyOperation;
+this.reflectivity=1;this.refractionRatio=0.98;this.fog=!0;this.shading=THREE.SmoothShading;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.vertexColors=THREE.NoColors;this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)};THREE.MeshPhongMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.MeshPhongMaterial.prototype.clone=function(){var a=new THREE.MeshPhongMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.ambient.copy(this.ambient);a.emissive.copy(this.emissive);a.specular.copy(this.specular);a.shininess=this.shininess;a.metal=this.metal;a.perPixel=this.perPixel;a.wrapAround=this.wrapAround;a.wrapRGB.copy(this.wrapRGB);a.map=this.map;a.lightMap=this.lightMap;a.bumpMap=this.bumpMap;a.bumpScale=this.bumpScale;a.normalMap=this.normalMap;a.normalScale.copy(this.normalScale);
+a.specularMap=this.specularMap;a.envMap=this.envMap;a.combine=this.combine;a.reflectivity=this.reflectivity;a.refractionRatio=this.refractionRatio;a.fog=this.fog;a.shading=this.shading;a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;a.wireframeLinecap=this.wireframeLinecap;a.wireframeLinejoin=this.wireframeLinejoin;a.vertexColors=this.vertexColors;a.skinning=this.skinning;a.morphTargets=this.morphTargets;a.morphNormals=this.morphNormals;return a};THREE.MeshDepthMaterial=function(a){THREE.Material.call(this);this.wireframe=!1;this.wireframeLinewidth=1;this.setValues(a)};THREE.MeshDepthMaterial.prototype=Object.create(THREE.Material.prototype);THREE.MeshDepthMaterial.prototype.clone=function(){var a=new THREE.LineBasicMaterial;THREE.Material.prototype.clone.call(this,a);a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;return a};THREE.MeshNormalMaterial=function(a){THREE.Material.call(this,a);this.shading=THREE.FlatShading;this.wireframe=!1;this.wireframeLinewidth=1;this.setValues(a)};THREE.MeshNormalMaterial.prototype=Object.create(THREE.Material.prototype);THREE.MeshNormalMaterial.prototype.clone=function(){var a=new THREE.MeshNormalMaterial;THREE.Material.prototype.clone.call(this,a);a.shading=this.shading;a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;return a};THREE.MeshFaceMaterial=function(a){this.materials=a instanceof Array?a:[]};THREE.MeshFaceMaterial.prototype.clone=function(){return new THREE.MeshFaceMaterial(this.materials.slice(0))};THREE.ParticleBasicMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.vertexColors=!1;this.fog=!0;this.setValues(a)};THREE.ParticleBasicMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.ParticleBasicMaterial.prototype.clone=function(){var a=new THREE.ParticleBasicMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.map=this.map;a.size=this.size;a.sizeAttenuation=this.sizeAttenuation;a.vertexColors=this.vertexColors;a.fog=this.fog;return a};THREE.ParticleCanvasMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.program=function(){};this.setValues(a)};THREE.ParticleCanvasMaterial.prototype=Object.create(THREE.Material.prototype);THREE.ParticleCanvasMaterial.prototype.clone=function(){var a=new THREE.ParticleCanvasMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.program=this.program;return a};THREE.ShaderMaterial=function(a){THREE.Material.call(this);this.vertexShader=this.fragmentShader="void main() {}";this.uniforms={};this.defines={};this.attributes=null;this.shading=THREE.SmoothShading;this.wireframe=!1;this.wireframeLinewidth=1;this.lights=this.fog=!1;this.vertexColors=THREE.NoColors;this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)};THREE.ShaderMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.ShaderMaterial.prototype.clone=function(){var a=new THREE.ShaderMaterial;THREE.Material.prototype.clone.call(this,a);a.fragmentShader=this.fragmentShader;a.vertexShader=this.vertexShader;a.uniforms=THREE.UniformsUtils.clone(this.uniforms);a.attributes=this.attributes;a.defines=this.defines;a.shading=this.shading;a.wireframe=this.wireframe;a.wireframeLinewidth=this.wireframeLinewidth;a.fog=this.fog;a.lights=this.lights;a.vertexColors=this.vertexColors;a.skinning=this.skinning;a.morphTargets=
+this.morphTargets;a.morphNormals=this.morphNormals;return a};THREE.SpriteMaterial=function(a){THREE.Material.call(this);this.color=new THREE.Color(16777215);this.map=new THREE.Texture;this.useScreenCoordinates=!0;this.depthTest=!this.useScreenCoordinates;this.sizeAttenuation=!this.useScreenCoordinates;this.scaleByViewport=!this.sizeAttenuation;this.alignment=THREE.SpriteAlignment.center.clone();this.fog=!1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1);this.setValues(a);a=a||{};void 0===a.depthTest&&(this.depthTest=!this.useScreenCoordinates);
+void 0===a.sizeAttenuation&&(this.sizeAttenuation=!this.useScreenCoordinates);void 0===a.scaleByViewport&&(this.scaleByViewport=!this.sizeAttenuation)};THREE.SpriteMaterial.prototype=Object.create(THREE.Material.prototype);
+THREE.SpriteMaterial.prototype.clone=function(){var a=new THREE.SpriteMaterial;THREE.Material.prototype.clone.call(this,a);a.color.copy(this.color);a.map=this.map;a.useScreenCoordinates=this.useScreenCoordinates;a.sizeAttenuation=this.sizeAttenuation;a.scaleByViewport=this.scaleByViewport;a.alignment.copy(this.alignment);a.uvOffset.copy(this.uvOffset);a.uvScale.copy(this.uvScale);a.fog=this.fog;return a};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);THREE.Texture=function(a,b,c,d,e,f,g,h,i){THREE.EventDispatcher.call(this);this.id=THREE.TextureIdCount++;this.name="";this.image=a;this.mipmaps=[];this.mapping=void 0!==b?b:new THREE.UVMapping;this.wrapS=void 0!==c?c:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==d?d:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==e?e:THREE.LinearFilter;this.minFilter=void 0!==f?f:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==i?i:1;this.format=void 0!==g?g:THREE.RGBAFormat;this.type=void 0!==h?h:THREE.UnsignedByteType;
+this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.needsUpdate=!1;this.onUpdate=null};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(a){void 0===a&&(a=new THREE.Texture);a.image=this.image;a.mipmaps=this.mipmaps.slice(0);a.mapping=this.mapping;a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.format=this.format;a.type=this.type;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.generateMipmaps=this.generateMipmaps;a.premultiplyAlpha=this.premultiplyAlpha;a.flipY=this.flipY;a.unpackAlignment=
+this.unpackAlignment;return a},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.TextureIdCount=0;THREE.CompressedTexture=function(a,b,c,d,e,f,g,h,i,k,l){THREE.Texture.call(this,null,f,g,h,i,k,d,e,l);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=!1};THREE.CompressedTexture.prototype=Object.create(THREE.Texture.prototype);THREE.CompressedTexture.prototype.clone=function(){var a=new THREE.CompressedTexture;THREE.Texture.prototype.clone.call(this,a);return a};THREE.DataTexture=function(a,b,c,d,e,f,g,h,i,k,l){THREE.Texture.call(this,null,f,g,h,i,k,d,e,l);this.image={data:a,width:b,height:c}};THREE.DataTexture.prototype=Object.create(THREE.Texture.prototype);THREE.DataTexture.prototype.clone=function(){var a=new THREE.DataTexture;THREE.Texture.prototype.clone.call(this,a);return a};THREE.Particle=function(a){THREE.Object3D.call(this);this.material=a};THREE.Particle.prototype=Object.create(THREE.Object3D.prototype);THREE.Particle.prototype.clone=function(a){void 0===a&&(a=new THREE.Particle(this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.ParticleSystem=function(a,b){THREE.Object3D.call(this);this.geometry=a;this.material=void 0!==b?b:new THREE.ParticleBasicMaterial({color:16777215*Math.random()});this.sortParticles=!1;this.geometry&&null===this.geometry.boundingSphere&&this.geometry.computeBoundingSphere();this.frustumCulled=!1};THREE.ParticleSystem.prototype=Object.create(THREE.Object3D.prototype);
+THREE.ParticleSystem.prototype.clone=function(a){void 0===a&&(a=new THREE.ParticleSystem(this.geometry,this.material));a.sortParticles=this.sortParticles;THREE.Object3D.prototype.clone.call(this,a);return a};THREE.Line=function(a,b,c){THREE.Object3D.call(this);this.geometry=a;this.material=void 0!==b?b:new THREE.LineBasicMaterial({color:16777215*Math.random()});this.type=void 0!==c?c:THREE.LineStrip;this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere())};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=Object.create(THREE.Object3D.prototype);
+THREE.Line.prototype.clone=function(a){void 0===a&&(a=new THREE.Line(this.geometry,this.material,this.type));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.Mesh=function(a,b){THREE.Object3D.call(this);this.geometry=a;this.material=void 0!==b?b:new THREE.MeshBasicMaterial({color:16777215*Math.random(),wireframe:!0});void 0!==this.geometry&&(null===this.geometry.boundingSphere&&this.geometry.computeBoundingSphere(),this.updateMorphTargets())};THREE.Mesh.prototype=Object.create(THREE.Object3D.prototype);
+THREE.Mesh.prototype.updateMorphTargets=function(){if(0<this.geometry.morphTargets.length){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var a=0,b=this.geometry.morphTargets.length;a<b;a++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[a].name]=a}};
+THREE.Mesh.prototype.getMorphTargetIndexByName=function(a){if(void 0!==this.morphTargetDictionary[a])return this.morphTargetDictionary[a];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+a+" does not exist. Returning 0.");return 0};THREE.Mesh.prototype.clone=function(a){void 0===a&&(a=new THREE.Mesh(this.geometry,this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.Bone=function(a){THREE.Object3D.call(this);this.skin=a;this.skinMatrix=new THREE.Matrix4};THREE.Bone.prototype=Object.create(THREE.Object3D.prototype);THREE.Bone.prototype.update=function(a,b){this.matrixAutoUpdate&&(b|=this.updateMatrix());if(b||this.matrixWorldNeedsUpdate)a?this.skinMatrix.multiplyMatrices(a,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,b=!0;var c,d=this.children.length;for(c=0;c<d;c++)this.children[c].update(this.skinMatrix,b)};THREE.SkinnedMesh=function(a,b,c){THREE.Mesh.call(this,a,b);this.useVertexTexture=void 0!==c?c:!0;this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var d,e,f;if(this.geometry&&void 0!==this.geometry.bones){for(a=0;a<this.geometry.bones.length;a++)c=this.geometry.bones[a],d=c.pos,e=c.rotq,f=c.scl,b=this.addBone(),b.name=c.name,b.position.set(d[0],d[1],d[2]),b.quaternion.set(e[0],e[1],e[2],e[3]),b.useQuaternion=!0,void 0!==f?b.scale.set(f[0],f[1],f[2]):b.scale.set(1,1,1);for(a=
+0;a<this.bones.length;a++)c=this.geometry.bones[a],b=this.bones[a],-1===c.parent?this.add(b):this.bones[c.parent].add(b);a=this.bones.length;this.useVertexTexture?(this.boneTextureHeight=this.boneTextureWidth=a=256<a?64:64<a?32:16<a?16:8,this.boneMatrices=new Float32Array(4*this.boneTextureWidth*this.boneTextureHeight),this.boneTexture=new THREE.DataTexture(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,THREE.RGBAFormat,THREE.FloatType),this.boneTexture.minFilter=THREE.NearestFilter,
+this.boneTexture.magFilter=THREE.NearestFilter,this.boneTexture.generateMipmaps=!1,this.boneTexture.flipY=!1):this.boneMatrices=new Float32Array(16*a);this.pose()}};THREE.SkinnedMesh.prototype=Object.create(THREE.Mesh.prototype);THREE.SkinnedMesh.prototype.addBone=function(a){void 0===a&&(a=new THREE.Bone(this));this.bones.push(a);return a};
+THREE.SkinnedMesh.prototype.updateMatrixWorld=function(a){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||a)this.parent?this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1;for(var a=0,b=this.children.length;a<b;a++){var c=this.children[a];c instanceof THREE.Bone?c.update(this.identityMatrix,!1):c.updateMatrixWorld(!0)}if(void 0==this.boneInverses){this.boneInverses=[];a=0;for(b=this.bones.length;a<
+b;a++)c=new THREE.Matrix4,c.getInverse(this.bones[a].skinMatrix),this.boneInverses.push(c)}a=0;for(b=this.bones.length;a<b;a++)THREE.SkinnedMesh.offsetMatrix.multiplyMatrices(this.bones[a].skinMatrix,this.boneInverses[a]),THREE.SkinnedMesh.offsetMatrix.flattenToArrayOffset(this.boneMatrices,16*a);this.useVertexTexture&&(this.boneTexture.needsUpdate=!0)};
+THREE.SkinnedMesh.prototype.pose=function(){this.updateMatrixWorld(!0);for(var a=0;a<this.geometry.skinIndices.length;a++){var b=this.geometry.skinWeights[a],c=1/b.lengthManhattan();Infinity!==c?b.multiplyScalar(c):b.set(1)}};THREE.SkinnedMesh.prototype.clone=function(a){void 0===a&&(a=new THREE.SkinnedMesh(this.geometry,this.material,this.useVertexTexture));THREE.Mesh.prototype.clone.call(this,a);return a};THREE.SkinnedMesh.offsetMatrix=new THREE.Matrix4;THREE.MorphAnimMesh=function(a,b){THREE.Mesh.call(this,a,b);this.duration=1E3;this.mirroredLoop=!1;this.currentKeyframe=this.lastKeyframe=this.time=0;this.direction=1;this.directionBackwards=!1;this.setFrameRange(0,this.geometry.morphTargets.length-1)};THREE.MorphAnimMesh.prototype=Object.create(THREE.Mesh.prototype);THREE.MorphAnimMesh.prototype.setFrameRange=function(a,b){this.startKeyframe=a;this.endKeyframe=b;this.length=this.endKeyframe-this.startKeyframe+1};
+THREE.MorphAnimMesh.prototype.setDirectionForward=function(){this.direction=1;this.directionBackwards=!1};THREE.MorphAnimMesh.prototype.setDirectionBackward=function(){this.direction=-1;this.directionBackwards=!0};
+THREE.MorphAnimMesh.prototype.parseAnimations=function(){var a=this.geometry;a.animations||(a.animations={});for(var b,c=a.animations,d=/([a-z]+)(\d+)/,e=0,f=a.morphTargets.length;e<f;e++){var g=a.morphTargets[e].name.match(d);if(g&&1<g.length){g=g[1];c[g]||(c[g]={start:Infinity,end:-Infinity});var h=c[g];e<h.start&&(h.start=e);e>h.end&&(h.end=e);b||(b=g)}}a.firstAnimation=b};
+THREE.MorphAnimMesh.prototype.setAnimationLabel=function(a,b,c){this.geometry.animations||(this.geometry.animations={});this.geometry.animations[a]={start:b,end:c}};THREE.MorphAnimMesh.prototype.playAnimation=function(a,b){var c=this.geometry.animations[a];c?(this.setFrameRange(c.start,c.end),this.duration=1E3*((c.end-c.start)/b),this.time=0):console.warn("animation["+a+"] undefined")};
+THREE.MorphAnimMesh.prototype.updateAnimation=function(a){var b=this.duration/this.length;this.time+=this.direction*a;if(this.mirroredLoop){if(this.time>this.duration||0>this.time)this.direction*=-1,this.time>this.duration&&(this.time=this.duration,this.directionBackwards=!0),0>this.time&&(this.time=0,this.directionBackwards=!1)}else this.time%=this.duration,0>this.time&&(this.time+=this.duration);a=this.startKeyframe+THREE.Math.clamp(Math.floor(this.time/b),0,this.length-1);a!==this.currentKeyframe&&
+(this.morphTargetInfluences[this.lastKeyframe]=0,this.morphTargetInfluences[this.currentKeyframe]=1,this.morphTargetInfluences[a]=0,this.lastKeyframe=this.currentKeyframe,this.currentKeyframe=a);b=this.time%b/b;this.directionBackwards&&(b=1-b);this.morphTargetInfluences[this.currentKeyframe]=b;this.morphTargetInfluences[this.lastKeyframe]=1-b};
+THREE.MorphAnimMesh.prototype.clone=function(a){void 0===a&&(a=new THREE.MorphAnimMesh(this.geometry,this.material));a.duration=this.duration;a.mirroredLoop=this.mirroredLoop;a.time=this.time;a.lastKeyframe=this.lastKeyframe;a.currentKeyframe=this.currentKeyframe;a.direction=this.direction;a.directionBackwards=this.directionBackwards;THREE.Mesh.prototype.clone.call(this,a);return a};THREE.Ribbon=function(a,b){THREE.Object3D.call(this);this.geometry=a;this.material=b};THREE.Ribbon.prototype=Object.create(THREE.Object3D.prototype);THREE.Ribbon.prototype.clone=function(a){void 0===a&&(a=new THREE.Ribbon(this.geometry,this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD.prototype.addLevel=function(a,b){void 0===b&&(b=0);for(var b=Math.abs(b),c=0;c<this.LODs.length&&!(b<this.LODs[c].visibleAtDistance);c++);this.LODs.splice(c,0,{visibleAtDistance:b,object3D:a});this.add(a)};
+THREE.LOD.prototype.update=function(a){if(1<this.LODs.length){a.matrixWorldInverse.getInverse(a.matrixWorld);a=a.matrixWorldInverse;a=-(a.elements[2]*this.matrixWorld.elements[12]+a.elements[6]*this.matrixWorld.elements[13]+a.elements[10]*this.matrixWorld.elements[14]+a.elements[14]);this.LODs[0].object3D.visible=!0;for(var b=1;b<this.LODs.length;b++)if(a>=this.LODs[b].visibleAtDistance)this.LODs[b-1].object3D.visible=!1,this.LODs[b].object3D.visible=!0;else break;for(;b<this.LODs.length;b++)this.LODs[b].object3D.visible=
+!1}};THREE.LOD.prototype.clone=function(){};THREE.Sprite=function(a){THREE.Object3D.call(this);this.material=void 0!==a?a:new THREE.SpriteMaterial;this.rotation3d=this.rotation;this.rotation=0};THREE.Sprite.prototype=Object.create(THREE.Object3D.prototype);THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);(1!==this.scale.x||1!==this.scale.y)&&this.matrix.scale(this.scale);this.matrixWorldNeedsUpdate=!0};
+THREE.Sprite.prototype.clone=function(a){void 0===a&&(a=new THREE.Sprite(this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.Scene=function(){THREE.Object3D.call(this);this.overrideMaterial=this.fog=null;this.matrixAutoUpdate=!1;this.__objects=[];this.__lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=Object.create(THREE.Object3D.prototype);
+THREE.Scene.prototype.__addObject=function(a){if(a instanceof THREE.Light)-1===this.__lights.indexOf(a)&&this.__lights.push(a),a.target&&void 0===a.target.parent&&this.add(a.target);else if(!(a instanceof THREE.Camera||a instanceof THREE.Bone)&&-1===this.__objects.indexOf(a)){this.__objects.push(a);this.__objectsAdded.push(a);var b=this.__objectsRemoved.indexOf(a);-1!==b&&this.__objectsRemoved.splice(b,1)}for(b=0;b<a.children.length;b++)this.__addObject(a.children[b])};
+THREE.Scene.prototype.__removeObject=function(a){if(a instanceof THREE.Light){var b=this.__lights.indexOf(a);-1!==b&&this.__lights.splice(b,1)}else a instanceof THREE.Camera||(b=this.__objects.indexOf(a),-1!==b&&(this.__objects.splice(b,1),this.__objectsRemoved.push(a),b=this.__objectsAdded.indexOf(a),-1!==b&&this.__objectsAdded.splice(b,1)));for(b=0;b<a.children.length;b++)this.__removeObject(a.children[b])};THREE.Fog=function(a,b,c){this.name="";this.color=new THREE.Color(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3};THREE.Fog.prototype.clone=function(){return new THREE.Fog(this.color.getHex(),this.near,this.far)};THREE.FogExp2=function(a,b){this.name="";this.color=new THREE.Color(a);this.density=void 0!==b?b:2.5E-4};THREE.FogExp2.prototype.clone=function(){return new THREE.FogExp2(this.color.getHex(),this.density)};THREE.CanvasRenderer=function(a){function b(a){C!==a&&(C=t.globalAlpha=a)}function c(a){x!==a&&(a===THREE.NormalBlending?t.globalCompositeOperation="source-over":a===THREE.AdditiveBlending?t.globalCompositeOperation="lighter":a===THREE.SubtractiveBlending&&(t.globalCompositeOperation="darker"),x=a)}function d(a){E!==a&&(E=t.lineWidth=a)}function e(a){H!==a&&(H=t.lineCap=a)}function f(a){B!==a&&(B=t.lineJoin=a)}function g(a){G!==a&&(G=t.strokeStyle=a)}function h(a){J!==a&&(J=t.fillStyle=a)}function i(a,
+b){if(W!==a||F!==b)t.setLineDash([a,b]),W=a,F=b}console.log("THREE.CanvasRenderer",THREE.REVISION);var k=THREE.Math.smoothstep,a=a||{},l=this,m,n,s,r=new THREE.Projector,p=void 0!==a.canvas?a.canvas:document.createElement("canvas"),q,y,v,z,t=p.getContext("2d"),A=new THREE.Color(0),I=0,C=1,x=0,G=null,J=null,E=null,H=null,B=null,W=null,F=0,K,L,U,fa,Ca=new THREE.RenderableVertex,$a=new THREE.RenderableVertex,M,ca,qa,ha,ra,N,Ma,Na,mb,Pa,ta,ka,aa=new THREE.Color,pa=new THREE.Color,Y=new THREE.Color,da=
+new THREE.Color,la=new THREE.Color,Z=new THREE.Color,oa=new THREE.Color,gb=new THREE.Color,nb={},ia={},Wa,ab,Fa,Xa,ub,Ib,Jb,fc,Ab,mc,pb=new THREE.Box2,Ka=new THREE.Box2,Va=new THREE.Box2,gc=!1,vb=new THREE.Color,Qa=new THREE.Color,La=new THREE.Color,bb=new THREE.Vector3,xb,j,yb,Ra,cb,Sa,zb=16;xb=document.createElement("canvas");xb.width=xb.height=2;j=xb.getContext("2d");j.fillStyle="rgba(0,0,0,1)";j.fillRect(0,0,2,2);yb=j.getImageData(0,0,2,2);Ra=yb.data;cb=document.createElement("canvas");cb.width=
+cb.height=zb;Sa=cb.getContext("2d");Sa.translate(-zb/2,-zb/2);Sa.scale(zb,zb);zb--;void 0===t.setLineDash&&(t.setLineDash=void 0!==t.mozDash?function(a){t.mozDash=null!==a[0]?a:null}:function(){});this.domElement=p;this.devicePixelRatio=void 0!==a.devicePixelRatio?a.devicePixelRatio:void 0!==window.devicePixelRatio?window.devicePixelRatio:1;this.sortElements=this.sortObjects=this.autoClear=!0;this.info={render:{vertices:0,faces:0}};this.supportsVertexTextures=function(){};this.setFaceCulling=function(){};
+this.setSize=function(a,b){q=a*this.devicePixelRatio;y=b*this.devicePixelRatio;v=Math.floor(q/2);z=Math.floor(y/2);p.width=q;p.height=y;p.style.width=a+"px";p.style.height=b+"px";pb.set(new THREE.Vector2(-v,-z),new THREE.Vector2(v,z));Ka.set(new THREE.Vector2(-v,-z),new THREE.Vector2(v,z));C=1;x=0;B=H=E=J=G=null};this.setClearColor=function(a,b){A.copy(a);I=void 0!==b?b:1;Ka.set(new THREE.Vector2(-v,-z),new THREE.Vector2(v,z))};this.setClearColorHex=function(a,b){A.setHex(a);I=void 0!==b?b:1;Ka.set(new THREE.Vector2(-v,
+-z),new THREE.Vector2(v,z))};this.getMaxAnisotropy=function(){return 0};this.clear=function(){t.setTransform(1,0,0,-1,v,z);!1===Ka.empty()&&(Ka.intersect(pb),Ka.expandByScalar(2),1>I&&t.clearRect(Ka.min.x|0,Ka.min.y|0,Ka.max.x-Ka.min.x|0,Ka.max.y-Ka.min.y|0),0<I&&(c(THREE.NormalBlending),b(1),h("rgba("+Math.floor(255*A.r)+","+Math.floor(255*A.g)+","+Math.floor(255*A.b)+","+I+")"),t.fillRect(Ka.min.x|0,Ka.min.y|0,Ka.max.x-Ka.min.x|0,Ka.max.y-Ka.min.y|0)),Ka.makeEmpty())};this.render=function(a,p){function q(a,
+b,c){for(var d=0,e=s.length;d<e;d++){var f=s[d];gb.copy(f.color);if(f instanceof THREE.DirectionalLight){var g=bb.getPositionFromMatrix(f.matrixWorld).normalize(),j=b.dot(g);0>=j||(j*=f.intensity,c.add(gb.multiplyScalar(j)))}else f instanceof THREE.PointLight&&(g=bb.getPositionFromMatrix(f.matrixWorld),j=b.dot(bb.subVectors(g,a).normalize()),0>=j||(j*=0==f.distance?1:1-Math.min(a.distanceTo(g)/f.distance,1),0!=j&&(j*=f.intensity,c.add(gb.multiplyScalar(j)))))}}function x(a,d,e,f,g,j,h,i){l.info.render.vertices+=
+3;l.info.render.faces++;b(i.opacity);c(i.blending);M=a.positionScreen.x;ca=a.positionScreen.y;qa=d.positionScreen.x;ha=d.positionScreen.y;ra=e.positionScreen.x;N=e.positionScreen.y;y(M,ca,qa,ha,ra,N);(i instanceof THREE.MeshLambertMaterial||i instanceof THREE.MeshPhongMaterial)&&null===i.map?(Z.copy(i.color),oa.copy(i.emissive),i.vertexColors===THREE.FaceColors&&Z.multiply(h.color),!0===gc?!1===i.wireframe&&i.shading==THREE.SmoothShading&&3==h.vertexNormalsLength?(pa.copy(vb),Y.copy(vb),da.copy(vb),
+q(h.v1.positionWorld,h.vertexNormalsModel[0],pa),q(h.v2.positionWorld,h.vertexNormalsModel[1],Y),q(h.v3.positionWorld,h.vertexNormalsModel[2],da),pa.multiply(Z).add(oa),Y.multiply(Z).add(oa),da.multiply(Z).add(oa),la.addColors(Y,da).multiplyScalar(0.5),Fa=E(pa,Y,da,la),G(M,ca,qa,ha,ra,N,0,0,1,0,0,1,Fa)):(aa.copy(vb),q(h.centroidModel,h.normalModel,aa),aa.multiply(Z).add(oa),!0===i.wireframe?C(aa,i.wireframeLinewidth,i.wireframeLinecap,i.wireframeLinejoin):A(aa)):!0===i.wireframe?C(i.color,i.wireframeLinewidth,
+i.wireframeLinecap,i.wireframeLinejoin):A(i.color)):i instanceof THREE.MeshBasicMaterial||i instanceof THREE.MeshLambertMaterial||i instanceof THREE.MeshPhongMaterial?null!==i.map?i.map.mapping instanceof THREE.UVMapping&&(Xa=h.uvs[0],F(M,ca,qa,ha,ra,N,Xa[f].x,Xa[f].y,Xa[g].x,Xa[g].y,Xa[j].x,Xa[j].y,i.map)):null!==i.envMap?i.envMap.mapping instanceof THREE.SphericalReflectionMapping&&(bb.copy(h.vertexNormalsModelView[f]),ub=0.5*bb.x+0.5,Ib=0.5*bb.y+0.5,bb.copy(h.vertexNormalsModelView[g]),Jb=0.5*
+bb.x+0.5,fc=0.5*bb.y+0.5,bb.copy(h.vertexNormalsModelView[j]),Ab=0.5*bb.x+0.5,mc=0.5*bb.y+0.5,F(M,ca,qa,ha,ra,N,ub,Ib,Jb,fc,Ab,mc,i.envMap)):(aa.copy(i.color),i.vertexColors===THREE.FaceColors&&aa.multiply(h.color),!0===i.wireframe?C(aa,i.wireframeLinewidth,i.wireframeLinecap,i.wireframeLinejoin):A(aa)):i instanceof THREE.MeshDepthMaterial?(Wa=p.near,ab=p.far,pa.r=pa.g=pa.b=1-k(a.positionScreen.z*a.positionScreen.w,Wa,ab),Y.r=Y.g=Y.b=1-k(d.positionScreen.z*d.positionScreen.w,Wa,ab),da.r=da.g=da.b=
+1-k(e.positionScreen.z*e.positionScreen.w,Wa,ab),la.addColors(Y,da).multiplyScalar(0.5),Fa=E(pa,Y,da,la),G(M,ca,qa,ha,ra,N,0,0,1,0,0,1,Fa)):i instanceof THREE.MeshNormalMaterial&&(i.shading==THREE.FlatShading?(a=h.normalModelView,aa.setRGB(a.x,a.y,a.z).multiplyScalar(0.5).addScalar(0.5),!0===i.wireframe?C(aa,i.wireframeLinewidth,i.wireframeLinecap,i.wireframeLinejoin):A(aa)):i.shading==THREE.SmoothShading&&(a=h.vertexNormalsModelView[f],pa.setRGB(a.x,a.y,a.z).multiplyScalar(0.5).addScalar(0.5),a=
+h.vertexNormalsModelView[g],Y.setRGB(a.x,a.y,a.z).multiplyScalar(0.5).addScalar(0.5),a=h.vertexNormalsModelView[j],da.setRGB(a.x,a.y,a.z).multiplyScalar(0.5).addScalar(0.5),la.addColors(Y,da).multiplyScalar(0.5),Fa=E(pa,Y,da,la),G(M,ca,qa,ha,ra,N,0,0,1,0,0,1,Fa)))}function y(a,b,c,d,e,f){t.beginPath();t.moveTo(a,b);t.lineTo(c,d);t.lineTo(e,f);t.closePath()}function B(a,b,c,d,e,f,g,j){t.beginPath();t.moveTo(a,b);t.lineTo(c,d);t.lineTo(e,f);t.lineTo(g,j);t.closePath()}function C(a,b,c,j){d(b);e(c);
+f(j);g(a.getStyle());t.stroke();Va.expandByScalar(2*b)}function A(a){h(a.getStyle());t.fill()}function F(a,b,c,d,e,f,g,j,i,wa,k,l,n){if(!(n instanceof THREE.DataTexture||void 0===n.image||0==n.image.width)){if(!0===n.needsUpdate){var m=n.wrapS==THREE.RepeatWrapping,hb=n.wrapT==THREE.RepeatWrapping;nb[n.id]=t.createPattern(n.image,!0===m&&!0===hb?"repeat":!0===m&&!1===hb?"repeat-x":!1===m&&!0===hb?"repeat-y":"no-repeat");n.needsUpdate=!1}void 0===nb[n.id]?h("rgba(0,0,0,1)"):h(nb[n.id]);var m=n.offset.x/
+n.repeat.x,hb=n.offset.y/n.repeat.y,p=n.image.width*n.repeat.x,q=n.image.height*n.repeat.y,g=(g+m)*p,j=(1-j+hb)*q,c=c-a,d=d-b,e=e-a,f=f-b,i=(i+m)*p-g,wa=(1-wa+hb)*q-j,k=(k+m)*p-g,l=(1-l+hb)*q-j,m=i*l-k*wa;0===m?(void 0===ia[n.id]&&(b=document.createElement("canvas"),b.width=n.image.width,b.height=n.image.height,b=b.getContext("2d"),b.drawImage(n.image,0,0),ia[n.id]=b.getImageData(0,0,n.image.width,n.image.height).data),b=ia[n.id],g=4*(Math.floor(g)+Math.floor(j)*n.image.width),aa.setRGB(b[g]/255,
+b[g+1]/255,b[g+2]/255),A(aa)):(m=1/m,n=(l*c-wa*e)*m,wa=(l*d-wa*f)*m,c=(i*e-k*c)*m,d=(i*f-k*d)*m,a=a-n*g-c*j,g=b-wa*g-d*j,t.save(),t.transform(n,wa,c,d,a,g),t.fill(),t.restore())}}function G(a,b,c,d,e,f,g,j,i,h,wa,k,n){var l,m;l=n.width-1;m=n.height-1;g*=l;j*=m;c-=a;d-=b;e-=a;f-=b;i=i*l-g;h=h*m-j;wa=wa*l-g;k=k*m-j;m=1/(i*k-wa*h);l=(k*c-h*e)*m;h=(k*d-h*f)*m;c=(i*e-wa*c)*m;d=(i*f-wa*d)*m;a=a-l*g-c*j;b=b-h*g-d*j;t.save();t.transform(l,h,c,d,a,b);t.clip();t.drawImage(n,0,0);t.restore()}function E(a,b,
+c,d){Ra[0]=255*a.r|0;Ra[1]=255*a.g|0;Ra[2]=255*a.b|0;Ra[4]=255*b.r|0;Ra[5]=255*b.g|0;Ra[6]=255*b.b|0;Ra[8]=255*c.r|0;Ra[9]=255*c.g|0;Ra[10]=255*c.b|0;Ra[12]=255*d.r|0;Ra[13]=255*d.g|0;Ra[14]=255*d.b|0;j.putImageData(yb,0,0);Sa.drawImage(xb,0,0);return cb}function I(a,b){var c=b.x-a.x,d=b.y-a.y,e=c*c+d*d;0!==e&&(e=1/Math.sqrt(e),c*=e,d*=e,b.x+=c,b.y+=d,a.x-=c,a.y-=d)}if(!1===p instanceof THREE.Camera)console.error("THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.");else{!0===
+this.autoClear&&this.clear();t.setTransform(1,0,0,-1,v,z);l.info.render.vertices=0;l.info.render.faces=0;m=r.projectScene(a,p,this.sortObjects,this.sortElements);n=m.elements;s=m.lights;gc=0<s.length;if(!0===gc){vb.setRGB(0,0,0);Qa.setRGB(0,0,0);La.setRGB(0,0,0);for(var J=0,W=s.length;J<W;J++){var P=s[J],X=P.color;P instanceof THREE.AmbientLight?vb.add(X):P instanceof THREE.DirectionalLight?Qa.add(X):P instanceof THREE.PointLight&&La.add(X)}}J=0;for(W=n.length;J<W;J++){var H=n[J],P=H.material;if(!(void 0===
+P||!1===P.visible)){Va.makeEmpty();if(H instanceof THREE.RenderableParticle){K=H;K.x*=v;K.y*=z;var X=K,wa=H;b(P.opacity);c(P.blending);var Bb=void 0,hb=void 0,Cb=void 0,Db=void 0,md=H=void 0,nd=void 0;P instanceof THREE.ParticleBasicMaterial?null===P.map?(Cb=wa.object.scale.x,Db=wa.object.scale.y,Cb*=wa.scale.x*v,Db*=wa.scale.y*z,Va.min.set(X.x-Cb,X.y-Db),Va.max.set(X.x+Cb,X.y+Db),!1!==pb.isIntersectionBox(Va)&&(h(P.color.getStyle()),t.save(),t.translate(X.x,X.y),t.rotate(-wa.rotation),t.scale(Cb,
+Db),t.fillRect(-1,-1,2,2),t.restore())):(H=P.map.image,md=H.width>>1,nd=H.height>>1,Cb=wa.scale.x*v,Db=wa.scale.y*z,Bb=Cb*md,hb=Db*nd,Va.min.set(X.x-Bb,X.y-hb),Va.max.set(X.x+Bb,X.y+hb),!1!==pb.isIntersectionBox(Va)&&(t.save(),t.translate(X.x,X.y),t.rotate(-wa.rotation),t.scale(Cb,-Db),t.translate(-md,-nd),t.drawImage(H,0,0),t.restore())):P instanceof THREE.ParticleCanvasMaterial&&(Bb=wa.scale.x*v,hb=wa.scale.y*z,Va.min.set(X.x-Bb,X.y-hb),Va.max.set(X.x+Bb,X.y+hb),!1!==pb.isIntersectionBox(Va)&&(g(P.color.getStyle()),
+h(P.color.getStyle()),t.save(),t.translate(X.x,X.y),t.rotate(-wa.rotation),t.scale(Bb,hb),P.program(t),t.restore()))}else if(H instanceof THREE.RenderableLine)K=H.v1,L=H.v2,K.positionScreen.x*=v,K.positionScreen.y*=z,L.positionScreen.x*=v,L.positionScreen.y*=z,Va.setFromPoints([K.positionScreen,L.positionScreen]),!0===pb.isIntersectionBox(Va)&&(X=K,wa=L,b(P.opacity),c(P.blending),t.beginPath(),t.moveTo(X.positionScreen.x,X.positionScreen.y),t.lineTo(wa.positionScreen.x,wa.positionScreen.y),P instanceof
+THREE.LineBasicMaterial?(d(P.linewidth),e(P.linecap),f(P.linejoin),g(P.color.getStyle()),i(null,null),t.stroke(),Va.expandByScalar(2*P.linewidth)):P instanceof THREE.LineDashedMaterial&&(d(P.linewidth),e(P.linecap),f(P.linejoin),g(P.color.getStyle()),i(P.dashSize,P.gapSize),t.stroke(),Va.expandByScalar(2*P.linewidth)));else if(H instanceof THREE.RenderableFace3){K=H.v1;L=H.v2;U=H.v3;if(-1>K.positionScreen.z||1<K.positionScreen.z)continue;if(-1>L.positionScreen.z||1<L.positionScreen.z)continue;if(-1>
+U.positionScreen.z||1<U.positionScreen.z)continue;K.positionScreen.x*=v;K.positionScreen.y*=z;L.positionScreen.x*=v;L.positionScreen.y*=z;U.positionScreen.x*=v;U.positionScreen.y*=z;!0===P.overdraw&&(I(K.positionScreen,L.positionScreen),I(L.positionScreen,U.positionScreen),I(U.positionScreen,K.positionScreen));Va.setFromPoints([K.positionScreen,L.positionScreen,U.positionScreen]);x(K,L,U,0,1,2,H,P)}else if(H instanceof THREE.RenderableFace4){K=H.v1;L=H.v2;U=H.v3;fa=H.v4;if(-1>K.positionScreen.z||
+1<K.positionScreen.z)continue;if(-1>L.positionScreen.z||1<L.positionScreen.z)continue;if(-1>U.positionScreen.z||1<U.positionScreen.z)continue;if(-1>fa.positionScreen.z||1<fa.positionScreen.z)continue;K.positionScreen.x*=v;K.positionScreen.y*=z;L.positionScreen.x*=v;L.positionScreen.y*=z;U.positionScreen.x*=v;U.positionScreen.y*=z;fa.positionScreen.x*=v;fa.positionScreen.y*=z;Ca.positionScreen.copy(L.positionScreen);$a.positionScreen.copy(fa.positionScreen);!0===P.overdraw&&(I(K.positionScreen,L.positionScreen),
+I(L.positionScreen,fa.positionScreen),I(fa.positionScreen,K.positionScreen),I(U.positionScreen,Ca.positionScreen),I(U.positionScreen,$a.positionScreen));Va.setFromPoints([K.positionScreen,L.positionScreen,U.positionScreen,fa.positionScreen]);X=K;wa=L;Bb=U;hb=fa;Cb=Ca;Db=$a;l.info.render.vertices+=4;l.info.render.faces++;b(P.opacity);c(P.blending);void 0!==P.map&&null!==P.map||void 0!==P.envMap&&null!==P.envMap?(x(X,wa,hb,0,1,3,H,P),x(Cb,Bb,Db,1,2,3,H,P)):(M=X.positionScreen.x,ca=X.positionScreen.y,
+qa=wa.positionScreen.x,ha=wa.positionScreen.y,ra=Bb.positionScreen.x,N=Bb.positionScreen.y,Ma=hb.positionScreen.x,Na=hb.positionScreen.y,mb=Cb.positionScreen.x,Pa=Cb.positionScreen.y,ta=Db.positionScreen.x,ka=Db.positionScreen.y,P instanceof THREE.MeshLambertMaterial||P instanceof THREE.MeshPhongMaterial?(Z.copy(P.color),oa.copy(P.emissive),P.vertexColors===THREE.FaceColors&&Z.multiply(H.color),!0===gc?!1===P.wireframe&&P.shading==THREE.SmoothShading&&4==H.vertexNormalsLength?(pa.copy(vb),Y.copy(vb),
+da.copy(vb),la.copy(vb),q(H.v1.positionWorld,H.vertexNormalsModel[0],pa),q(H.v2.positionWorld,H.vertexNormalsModel[1],Y),q(H.v4.positionWorld,H.vertexNormalsModel[3],da),q(H.v3.positionWorld,H.vertexNormalsModel[2],la),pa.multiply(Z).add(oa),Y.multiply(Z).add(oa),da.multiply(Z).add(oa),la.multiply(Z).add(oa),Fa=E(pa,Y,da,la),y(M,ca,qa,ha,Ma,Na),G(M,ca,qa,ha,Ma,Na,0,0,1,0,0,1,Fa),y(mb,Pa,ra,N,ta,ka),G(mb,Pa,ra,N,ta,ka,1,0,1,1,0,1,Fa)):(aa.copy(vb),q(H.centroidModel,H.normalModel,aa),aa.multiply(Z).add(oa),
+B(M,ca,qa,ha,ra,N,Ma,Na),!0===P.wireframe?C(aa,P.wireframeLinewidth,P.wireframeLinecap,P.wireframeLinejoin):A(aa)):(aa.addColors(Z,oa),B(M,ca,qa,ha,ra,N,Ma,Na),!0===P.wireframe?C(aa,P.wireframeLinewidth,P.wireframeLinecap,P.wireframeLinejoin):A(aa))):P instanceof THREE.MeshBasicMaterial?(aa.copy(P.color),P.vertexColors===THREE.FaceColors&&aa.multiply(H.color),B(M,ca,qa,ha,ra,N,Ma,Na),!0===P.wireframe?C(aa,P.wireframeLinewidth,P.wireframeLinecap,P.wireframeLinejoin):A(aa)):P instanceof THREE.MeshNormalMaterial?
+(X=void 0,P.shading==THREE.FlatShading?(X=H.normalModelView,aa.setRGB(X.x,X.y,X.z).multiplyScalar(0.5).addScalar(0.5),B(M,ca,qa,ha,ra,N,Ma,Na),!0===P.wireframe?C(aa,P.wireframeLinewidth,P.wireframeLinecap,P.wireframeLinejoin):A(aa)):P.shading==THREE.SmoothShading&&(X=H.vertexNormalsModelView[0],pa.setRGB(X.x,X.y,X.z).multiplyScalar(0.5).addScalar(0.5),X=H.vertexNormalsModelView[1],Y.setRGB(X.x,X.y,X.z).multiplyScalar(0.5).addScalar(0.5),X=H.vertexNormalsModelView[3],da.setRGB(X.x,X.y,X.z).multiplyScalar(0.5).addScalar(0.5),
+X=H.vertexNormalsModelView[2],la.setRGB(X.x,X.y,X.z).multiplyScalar(0.5).addScalar(0.5),Fa=E(pa,Y,da,la),y(M,ca,qa,ha,Ma,Na),G(M,ca,qa,ha,Ma,Na,0,0,1,0,0,1,Fa),y(mb,Pa,ra,N,ta,ka),G(mb,Pa,ra,N,ta,ka,1,0,1,1,0,1,Fa))):P instanceof THREE.MeshDepthMaterial&&(Wa=p.near,ab=p.far,pa.r=pa.g=pa.b=1-k(X.positionScreen.z*X.positionScreen.w,Wa,ab),Y.r=Y.g=Y.b=1-k(wa.positionScreen.z*wa.positionScreen.w,Wa,ab),da.r=da.g=da.b=1-k(hb.positionScreen.z*hb.positionScreen.w,Wa,ab),la.r=la.g=la.b=1-k(Bb.positionScreen.z*
+Bb.positionScreen.w,Wa,ab),Fa=E(pa,Y,da,la),y(M,ca,qa,ha,Ma,Na),G(M,ca,qa,ha,Ma,Na,0,0,1,0,0,1,Fa),y(mb,Pa,ra,N,ta,ka),G(mb,Pa,ra,N,ta,ka,1,0,1,1,0,1,Fa)))}Ka.union(Va)}}t.setTransform(1,0,0,1,0,0)}}};THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",
+envmap_pars_fragment:"#ifdef USE_ENVMAP\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform float flipEnvMap;\nuniform int combine;\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\nuniform bool useRefract;\nuniform float refractionRatio;\n#else\nvarying vec3 vReflect;\n#endif\n#endif",envmap_fragment:"#ifdef USE_ENVMAP\nvec3 reflectVec;\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\nif ( useRefract ) {\nreflectVec = refract( cameraToVertex, normal, refractionRatio );\n} else { \nreflectVec = reflect( cameraToVertex, normal );\n}\n#else\nreflectVec = vReflect;\n#endif\n#ifdef DOUBLE_SIDED\nfloat flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );\nvec4 cubeColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n#else\nvec4 cubeColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n#endif\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\nif ( combine == 1 ) {\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularStrength * reflectivity );\n} else if ( combine == 2 ) {\ngl_FragColor.xyz += cubeColor.xyz * specularStrength * reflectivity;\n} else {\ngl_FragColor.xyz = mix( gl_FragColor.xyz, gl_FragColor.xyz * cubeColor.xyz, specularStrength * reflectivity );\n}\n#endif",
+envmap_pars_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n#ifdef USE_SKINNING\nvec4 worldPosition = modelMatrix * skinned;\n#endif\n#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\nvec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );\n#endif\n#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n#endif\n#endif",
+envmap_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\nvec3 worldNormal = mat3( modelMatrix[ 0 ].xyz, modelMatrix[ 1 ].xyz, modelMatrix[ 2 ].xyz ) * objectNormal;\nworldNormal = normalize( worldNormal );\nvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\nif ( useRefract ) {\nvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n} else {\nvReflect = reflect( cameraToVertex, worldNormal );\n}\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",
+map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\n#endif",map_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\nuniform sampler2D map;\n#endif",
+map_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\nvec4 texelColor = texture2D( map, vUv );\n#ifdef GAMMA_INPUT\ntexelColor.xyz *= texelColor.xyz;\n#endif\ngl_FragColor = gl_FragColor * texelColor;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",
+lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\nuniform sampler2D bumpMap;\nuniform float bumpScale;\nvec2 dHdxy_fwd() {\nvec2 dSTdx = dFdx( vUv );\nvec2 dSTdy = dFdy( vUv );\nfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\nfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\nfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\nreturn vec2( dBx, dBy );\n}\nvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\nvec3 vSigmaX = dFdx( surf_pos );\nvec3 vSigmaY = dFdy( surf_pos );\nvec3 vN = surf_norm;\nvec3 R1 = cross( vSigmaY, vN );\nvec3 R2 = cross( vN, vSigmaX );\nfloat fDet = dot( vSigmaX, R1 );\nvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\nreturn normalize( abs( fDet ) * surf_norm - vGrad );\n}\n#endif",
+normalmap_pars_fragment:"#ifdef USE_NORMALMAP\nuniform sampler2D normalMap;\nuniform vec2 normalScale;\nvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\nvec3 q0 = dFdx( eye_pos.xyz );\nvec3 q1 = dFdy( eye_pos.xyz );\nvec2 st0 = dFdx( vUv.st );\nvec2 st1 = dFdy( vUv.st );\nvec3 S = normalize(  q0 * st1.t - q1 * st0.t );\nvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\nvec3 N = normalize( surf_norm );\nvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\nmapN.xy = normalScale * mapN.xy;\nmat3 tsn = mat3( S, T, N );\nreturn normalize( tsn * mapN );\n}\n#endif",
+specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\nuniform sampler2D specularMap;\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\nvec4 texelSpecular = texture2D( specularMap, vUv );\nspecularStrength = texelSpecular.r;\n#else\nspecularStrength = 1.0;\n#endif",lights_lambert_pars_vertex:"uniform vec3 ambient;\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif",
+lights_lambert_vertex:"vLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\nvLightBack = vec3( 0.0 );\n#endif\ntransformedNormal = normalize( transformedNormal );\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, dirVector );\nvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\ndirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\ndirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\n#ifdef DOUBLE_SIDED\nvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\n#endif\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\npointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\npointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef DOUBLE_SIDED\nvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\nspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\nspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\n#ifdef DOUBLE_SIDED\nvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nfloat hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;\nvLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n#ifdef DOUBLE_SIDED\nvLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );\n#endif\n}\n#endif\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\n#ifdef DOUBLE_SIDED\nvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\n#endif",
+lights_phong_pars_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif",
+lights_phong_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nvSpotLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvWorldPosition = worldPosition.xyz;\n#endif",
+lights_phong_pars_fragment:"uniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#else\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#else\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",
+lights_phong_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#ifdef DOUBLE_SIDED\nnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n#endif\n#ifdef USE_NORMALMAP\nnormal = perturbNormal2Arb( -viewPosition, normal );\n#elif defined( USE_BUMPMAP )\nnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse  = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vPointLight[ i ].xyz );\nfloat lDistance = vPointLight[ i ].w;\n#endif\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dotProduct, 0.0 );\n#endif\npointDiffuse  += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\nvec3 pointHalfVector = normalize( lVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\n#else\npointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse  = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vSpotLight[ i ].xyz );\nfloat lDistance = vSpotLight[ i ].w;\n#endif\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dotProduct, 0.0 );\n#endif\nspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\nvec3 spotHalfVector = normalize( lVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse  = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, dirVector );\n#ifdef WRAP_AROUND\nfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dotProduct, 0.0 );\n#endif\ndirDiffuse  += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse  = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += diffuse * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += specular * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n#endif",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n#ifdef GAMMA_INPUT\nvColor = color * color;\n#else\nvColor = color;\n#endif\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n#ifdef BONE_TEXTURE\nuniform sampler2D boneTexture;\nmat4 getBoneMatrix( const in float i ) {\nfloat j = i * 4.0;\nfloat x = mod( j, N_BONE_PIXEL_X );\nfloat y = floor( j / N_BONE_PIXEL_X );\nconst float dx = 1.0 / N_BONE_PIXEL_X;\nconst float dy = 1.0 / N_BONE_PIXEL_Y;\ny = dy * ( y + 0.5 );\nvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\nvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\nvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\nvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\nmat4 bone = mat4( v1, v2, v3, v4 );\nreturn bone;\n}\n#else\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\nmat4 getBoneMatrix( const in float i ) {\nmat4 bone = boneGlobalMatrices[ int(i) ];\nreturn bone;\n}\n#endif\n#endif",
+skinbase_vertex:"#ifdef USE_SKINNING\nmat4 boneMatX = getBoneMatrix( skinIndex.x );\nmat4 boneMatY = getBoneMatrix( skinIndex.y );\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n#ifdef USE_MORPHTARGETS\nvec4 skinVertex = vec4( morphed, 1.0 );\n#else\nvec4 skinVertex = vec4( position, 1.0 );\n#endif\nvec4 skinned  = boneMatX * skinVertex * skinWeight.x;\nskinned \t  += boneMatY * skinVertex * skinWeight.y;\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n#ifndef USE_MORPHNORMALS\nuniform float morphTargetInfluences[ 8 ];\n#else\nuniform float morphTargetInfluences[ 4 ];\n#endif\n#endif",
+morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n#ifndef USE_MORPHNORMALS\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n#endif\nmorphed += position;\n#endif",
+default_vertex:"vec4 mvPosition;\n#ifdef USE_SKINNING\nmvPosition = modelViewMatrix * skinned;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( morphed, 1.0 );\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( position, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\nvec3 morphedNormal = vec3( 0.0 );\nmorphedNormal +=  ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\nmorphedNormal +=  ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\nmorphedNormal +=  ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\nmorphedNormal +=  ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\nmorphedNormal += normal;\n#endif",
+skinnormal_vertex:"#ifdef USE_SKINNING\nmat4 skinMatrix = skinWeight.x * boneMatX;\nskinMatrix \t+= skinWeight.y * boneMatY;\n#ifdef USE_MORPHNORMALS\nvec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );\n#else\nvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\n#endif\n#endif",defaultnormal_vertex:"vec3 objectNormal;\n#ifdef USE_SKINNING\nobjectNormal = skinnedNormal.xyz;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )\nobjectNormal = morphedNormal;\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )\nobjectNormal = normal;\n#endif\n#ifdef FLIP_SIDED\nobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;",
+shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform vec2 shadowMapSize[ MAX_SHADOWS ];\nuniform float shadowDarkness[ MAX_SHADOWS ];\nuniform float shadowBias[ MAX_SHADOWS ];\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_DEBUG\nvec3 frustumColors[3];\nfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\nfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\nfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\n#endif\n#ifdef SHADOWMAP_CASCADE\nint inFrustumCount = 0;\n#endif\nfloat fDepth;\nvec3 shadowColor = vec3( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\nbool inFrustum = all( inFrustumVec );\n#ifdef SHADOWMAP_CASCADE\ninFrustumCount += int( inFrustum );\nbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\n#else\nbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n#endif\nbool frustumTest = all( frustumTestVec );\nif ( frustumTest ) {\nshadowCoord.z += shadowBias[ i ];\n#if defined( SHADOWMAP_TYPE_PCF )\nfloat shadow = 0.0;\nconst float shadowDelta = 1.0 / 9.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.25 * xPixelOffset;\nfloat dy0 = -1.25 * yPixelOffset;\nfloat dx1 = 1.25 * xPixelOffset;\nfloat dy1 = 1.25 * yPixelOffset;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\nfloat shadow = 0.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.0 * xPixelOffset;\nfloat dy0 = -1.0 * yPixelOffset;\nfloat dx1 = 1.0 * xPixelOffset;\nfloat dy1 = 1.0 * yPixelOffset;\nmat3 shadowKernel;\nmat3 depthKernel;\ndepthKernel[0][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\nif ( depthKernel[0][0] < shadowCoord.z ) shadowKernel[0][0] = 0.25;\nelse shadowKernel[0][0] = 0.0;\ndepthKernel[0][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\nif ( depthKernel[0][1] < shadowCoord.z ) shadowKernel[0][1] = 0.25;\nelse shadowKernel[0][1] = 0.0;\ndepthKernel[0][2] = unpackDepth( texture2D( shadowMap[ i], shadowCoord.xy + vec2( dx0, dy1 ) ) );\nif ( depthKernel[0][2] < shadowCoord.z ) shadowKernel[0][2] = 0.25;\nelse shadowKernel[0][2] = 0.0;\ndepthKernel[1][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\nif ( depthKernel[1][0] < shadowCoord.z ) shadowKernel[1][0] = 0.25;\nelse shadowKernel[1][0] = 0.0;\ndepthKernel[1][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\nif ( depthKernel[1][1] < shadowCoord.z ) shadowKernel[1][1] = 0.25;\nelse shadowKernel[1][1] = 0.0;\ndepthKernel[1][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\nif ( depthKernel[1][2] < shadowCoord.z ) shadowKernel[1][2] = 0.25;\nelse shadowKernel[1][2] = 0.0;\ndepthKernel[2][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\nif ( depthKernel[2][0] < shadowCoord.z ) shadowKernel[2][0] = 0.25;\nelse shadowKernel[2][0] = 0.0;\ndepthKernel[2][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\nif ( depthKernel[2][1] < shadowCoord.z ) shadowKernel[2][1] = 0.25;\nelse shadowKernel[2][1] = 0.0;\ndepthKernel[2][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nif ( depthKernel[2][2] < shadowCoord.z ) shadowKernel[2][2] = 0.25;\nelse shadowKernel[2][2] = 0.0;\nvec2 fractionalCoord = 1.0 - fract( shadowCoord.xy * shadowMapSize[i].xy );\nshadowKernel[0] = mix( shadowKernel[1], shadowKernel[0], fractionalCoord.x );\nshadowKernel[1] = mix( shadowKernel[2], shadowKernel[1], fractionalCoord.x );\nvec4 shadowValues;\nshadowValues.x = mix( shadowKernel[0][1], shadowKernel[0][0], fractionalCoord.y );\nshadowValues.y = mix( shadowKernel[0][2], shadowKernel[0][1], fractionalCoord.y );\nshadowValues.z = mix( shadowKernel[1][1], shadowKernel[1][0], fractionalCoord.y );\nshadowValues.w = mix( shadowKernel[1][2], shadowKernel[1][1], fractionalCoord.y );\nshadow = dot( shadowValues, vec4( 1.0 ) );\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < shadowCoord.z )\nshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\n#endif\n}\n#ifdef SHADOWMAP_DEBUG\n#ifdef SHADOWMAP_CASCADE\nif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\n#else\nif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\n#endif\n#endif\n}\n#ifdef GAMMA_OUTPUT\nshadowColor *= shadowColor;\n#endif\ngl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif",linear_to_gamma_fragment:"#ifdef GAMMA_OUTPUT\ngl_FragColor.xyz = sqrt( gl_FragColor.xyz );\n#endif"};
+THREE.UniformsUtils={merge:function(a){var b,c,d,e={};for(b=0;b<a.length;b++)for(c in d=this.clone(a[b]),d)e[c]=d[c];return e},clone:function(a){var b,c,d,e={};for(b in a)for(c in e[b]={},a[b])d=a[b][c],e[b][c]=d instanceof THREE.Color||d instanceof THREE.Vector2||d instanceof THREE.Vector3||d instanceof THREE.Vector4||d instanceof THREE.Matrix4||d instanceof THREE.Texture?d.clone():d instanceof Array?d.slice():d;return e}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:null},specularMap:{type:"t",value:null},envMap:{type:"t",value:null},flipEnvMap:{type:"f",value:-1},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},bump:{bumpMap:{type:"t",
+value:null},bumpScale:{type:"f",value:1}},normalmap:{normalMap:{type:"t",value:null},normalScale:{type:"v2",value:new THREE.Vector2(1,1)}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},hemisphereLightDirection:{type:"fv",value:[]},hemisphereLightSkyColor:{type:"fv",
+value:[]},hemisphereLightGroundColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]},spotLightColor:{type:"fv",value:[]},spotLightPosition:{type:"fv",value:[]},spotLightDirection:{type:"fv",value:[]},spotLightDistance:{type:"fv1",value:[]},spotLightAngleCos:{type:"fv1",value:[]},spotLightExponent:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",
+value:1},scale:{type:"f",value:1},map:{type:"t",value:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:[]},shadowMapSize:{type:"v2v",value:[]},shadowBias:{type:"fv1",value:[]},shadowDarkness:{type:"fv1",value:[]},shadowMatrix:{type:"m4v",value:[]}}};
+THREE.ShaderLib={basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.color_vertex,
+THREE.ShaderChunk.skinbase_vertex,"#ifdef USE_ENVMAP",THREE.ShaderChunk.morphnormal_vertex,THREE.ShaderChunk.skinnormal_vertex,THREE.ShaderChunk.defaultnormal_vertex,"#endif",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.worldpos_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n"),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.specularmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.specularmap_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,
+THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(16777215)},emissive:{type:"c",value:new THREE.Color(0)},wrapRGB:{type:"v3",value:new THREE.Vector3(1,1,1)}}]),vertexShader:["#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\nvarying vec3 vLightBack;\n#endif",
+THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_lambert_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.morphnormal_vertex,THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,
+THREE.ShaderChunk.defaultnormal_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.worldpos_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.lights_lambert_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n"),fragmentShader:["uniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\nvarying vec3 vLightBack;\n#endif",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,
+THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.specularmap_pars_fragment,"void main() {\ngl_FragColor = vec4( vec3 ( 1.0 ), opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.specularmap_fragment,"#ifdef DOUBLE_SIDED\nif ( gl_FrontFacing )\ngl_FragColor.xyz *= vLightFront;\nelse\ngl_FragColor.xyz *= vLightBack;\n#else\ngl_FragColor.xyz *= vLightFront;\n#endif",THREE.ShaderChunk.lightmap_fragment,
+THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.bump,THREE.UniformsLib.normalmap,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(16777215)},emissive:{type:"c",value:new THREE.Color(0)},specular:{type:"c",
+value:new THREE.Color(1118481)},shininess:{type:"f",value:30},wrapRGB:{type:"v3",value:new THREE.Vector3(1,1,1)}}]),vertexShader:["#define PHONG\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_phong_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,
+"void main() {",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.morphnormal_vertex,THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,THREE.ShaderChunk.defaultnormal_vertex,"vNormal = normalize( transformedNormal );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,"vViewPosition = -mvPosition.xyz;",THREE.ShaderChunk.worldpos_vertex,THREE.ShaderChunk.envmap_vertex,
+THREE.ShaderChunk.lights_phong_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n"),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_phong_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+THREE.ShaderChunk.bumpmap_pars_fragment,THREE.ShaderChunk.normalmap_pars_fragment,THREE.ShaderChunk.specularmap_pars_fragment,"void main() {\ngl_FragColor = vec4( vec3 ( 1.0 ), opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.specularmap_fragment,THREE.ShaderChunk.lights_phong_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,
+THREE.ShaderChunk.fog_fragment,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.worldpos_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n"),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,
+THREE.ShaderChunk.fog_fragment,"}"].join("\n")},dashed:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,{scale:{type:"f",value:1},dashSize:{type:"f",value:1},totalSize:{type:"f",value:2}}]),vertexShader:["uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;",THREE.ShaderChunk.color_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vLineDistance = scale * lineDistance;\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n}"].join("\n"),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,"void main() {\nif ( mod( vLineDistance, totalSize ) > dashSize ) {\ndiscard;\n}\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",
+value:1}},vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}"},normal:{uniforms:{opacity:{type:"f",value:1}},vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}",
+fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}"},normalmap:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},enableReflection:{type:"i",value:0},enableDisplacement:{type:"i",value:0},tDisplacement:{type:"t",value:null},tDiffuse:{type:"t",value:null},
+tCube:{type:"t",value:null},tNormal:{type:"t",value:null},tSpecular:{type:"t",value:null},tAO:{type:"t",value:null},uNormalScale:{type:"v2",value:new THREE.Vector2(1,1)},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",value:new THREE.Color(16777215)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(16777215)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1},useRefract:{type:"i",value:0},
+uRefractionRatio:{type:"f",value:0.98},uReflectivity:{type:"f",value:0.5},uOffset:{type:"v2",value:new THREE.Vector2(0,0)},uRepeat:{type:"v2",value:new THREE.Vector2(1,1)},wrapRGB:{type:"v3",value:new THREE.Vector3(1,1,1)}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform bool enableReflection;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform samplerCube tCube;\nuniform vec2 uNormalScale;\nuniform bool useRefract;\nuniform float uRefractionRatio;\nuniform float uReflectivity;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( vec3( 1.0 ), uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse ) {\n#ifdef GAMMA_INPUT\nvec4 texelColor = texture2D( tDiffuse, vUv );\ntexelColor.xyz *= texelColor.xyz;\ngl_FragColor = gl_FragColor * texelColor;\n#else\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\n#endif\n}\nif( enableAO ) {\n#ifdef GAMMA_INPUT\nvec4 aoColor = texture2D( tAO, vUv );\naoColor.xyz *= aoColor.xyz;\ngl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\n#endif\n}\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\nvec3 finalNormal = tsb * normalTex;\n#ifdef FLIP_SIDED\nfinalNormal = -finalNormal;\n#endif\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\nfloat pointDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\npointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\npointVector = normalize( pointVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\n#endif\npointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;\nvec3 pointHalfVector = normalize( pointVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\n#else\npointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\nfloat spotDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\nspotVector = normalize( spotVector );\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\n#endif\nspotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;\nvec3 spotHalfVector = normalize( spotVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\n#ifdef WRAP_AROUND\nfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\nfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\n#endif\ndirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse  = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += uDiffuseColor * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, uShininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlickSky = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += uSpecularColor * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor ) + totalSpecular;\n#endif\nif ( enableReflection ) {\nvec3 vReflect;\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\nif ( useRefract ) {\nvReflect = refract( cameraToVertex, normal, uRefractionRatio );\n} else {\nvReflect = reflect( cameraToVertex, normal );\n}\nvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );\n}",
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["attribute vec4 tangent;\nuniform vec2 uOffset;\nuniform vec2 uRepeat;\nuniform bool enableDisplacement;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,"#ifdef USE_SKINNING\nvNormal = normalize( normalMatrix * skinnedNormal.xyz );\nvec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );\nvTangent = normalize( normalMatrix * skinnedTangent.xyz );\n#else\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\n#endif\nvBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );\nvUv = uv * uRepeat + uOffset;\nvec3 displacedPosition;\n#ifdef VERTEX_TEXTURES\nif ( enableDisplacement ) {\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\ndisplacedPosition = position + normalize( normal ) * df;\n} else {\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned  = boneMatX * skinVertex * skinWeight.x;\nskinned \t  += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition  = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n}\n#else\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned  = boneMatX * skinVertex * skinWeight.x;\nskinned \t  += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition  = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n#endif\nvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\nvec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\nvWorldPosition = worldPosition.xyz;\nvViewPosition = -mvPosition.xyz;\n#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif\n}"].join("\n")},
+cube:{uniforms:{tCube:{type:"t",value:null},tFlip:{type:"f",value:-1}},vertexShader:"varying vec3 vWorldPosition;\nvoid main() {\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\nvWorldPosition = worldPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\nvoid main() {\ngl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n}"},
+depthRGBA:{uniforms:{},vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n"),fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask  = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}"}};THREE.WebGLRenderer=function(a){function b(a){if(a.__webglCustomAttributesList)for(var b in a.__webglCustomAttributesList)j.deleteBuffer(a.__webglCustomAttributesList[b].buffer)}function c(a,b){var c=a.vertices.length,d=b.material;if(d.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var e in d.attributes){var f=d.attributes[e];if(!f.__webglInitialized||f.createUniqueBuffers){f.__webglInitialized=!0;var g=1;"v2"===f.type?g=2:"v3"===f.type?g=3:"v4"===f.type?
+g=4:"c"===f.type&&(g=3);f.size=g;f.array=new Float32Array(c*g);f.buffer=j.createBuffer();f.buffer.belongsToAttribute=e;f.needsUpdate=!0}a.__webglCustomAttributesList.push(f)}}}function d(a,b){var c=b.geometry,d=a.faces3,h=a.faces4,i=3*d.length+4*h.length,k=1*d.length+2*h.length,h=3*d.length+4*h.length,d=e(b,a),n=g(d),l=f(d),m=d.vertexColors?d.vertexColors:!1;a.__vertexArray=new Float32Array(3*i);l&&(a.__normalArray=new Float32Array(3*i));c.hasTangents&&(a.__tangentArray=new Float32Array(4*i));m&&
+(a.__colorArray=new Float32Array(3*i));if(n){if(0<c.faceUvs.length||0<c.faceVertexUvs.length)a.__uvArray=new Float32Array(2*i);if(1<c.faceUvs.length||1<c.faceVertexUvs.length)a.__uv2Array=new Float32Array(2*i)}b.geometry.skinWeights.length&&b.geometry.skinIndices.length&&(a.__skinIndexArray=new Float32Array(4*i),a.__skinWeightArray=new Float32Array(4*i));a.__faceArray=new Uint16Array(3*k);a.__lineArray=new Uint16Array(2*h);if(a.numMorphTargets){a.__morphTargetsArrays=[];c=0;for(n=a.numMorphTargets;c<
+n;c++)a.__morphTargetsArrays.push(new Float32Array(3*i))}if(a.numMorphNormals){a.__morphNormalsArrays=[];c=0;for(n=a.numMorphNormals;c<n;c++)a.__morphNormalsArrays.push(new Float32Array(3*i))}a.__webglFaceCount=3*k;a.__webglLineCount=2*h;if(d.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var p in d.attributes){var k=d.attributes[p],c={},q;for(q in k)c[q]=k[q];if(!c.__webglInitialized||c.createUniqueBuffers)c.__webglInitialized=!0,h=1,"v2"===c.type?h=2:
+"v3"===c.type?h=3:"v4"===c.type?h=4:"c"===c.type&&(h=3),c.size=h,c.array=new Float32Array(i*h),c.buffer=j.createBuffer(),c.buffer.belongsToAttribute=p,k.needsUpdate=!0,c.__original=k;a.__webglCustomAttributesList.push(c)}}a.__inittedArrays=!0}function e(a,b){return a.material instanceof THREE.MeshFaceMaterial?a.material.materials[b.materialIndex]:a.material}function f(a){return a instanceof THREE.MeshBasicMaterial&&!a.envMap||a instanceof THREE.MeshDepthMaterial?!1:a&&void 0!==a.shading&&a.shading===
+THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading}function g(a){return a.map||a.lightMap||a.bumpMap||a.normalMap||a.specularMap||a instanceof THREE.ShaderMaterial?!0:!1}function h(a){var b,c,d;for(b in a.attributes)d="index"===b?j.ELEMENT_ARRAY_BUFFER:j.ARRAY_BUFFER,c=a.attributes[b],c.buffer=j.createBuffer(),j.bindBuffer(d,c.buffer),j.bufferData(d,c.array,j.STATIC_DRAW)}function i(a,b,c){var d=a.attributes,e=d.index,f=d.position,g=d.normal,h=d.uv,i=d.color,d=d.tangent;a.elementsNeedUpdate&&
+void 0!==e&&(j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,e.buffer),j.bufferData(j.ELEMENT_ARRAY_BUFFER,e.array,b));a.verticesNeedUpdate&&void 0!==f&&(j.bindBuffer(j.ARRAY_BUFFER,f.buffer),j.bufferData(j.ARRAY_BUFFER,f.array,b));a.normalsNeedUpdate&&void 0!==g&&(j.bindBuffer(j.ARRAY_BUFFER,g.buffer),j.bufferData(j.ARRAY_BUFFER,g.array,b));a.uvsNeedUpdate&&void 0!==h&&(j.bindBuffer(j.ARRAY_BUFFER,h.buffer),j.bufferData(j.ARRAY_BUFFER,h.array,b));a.colorsNeedUpdate&&void 0!==i&&(j.bindBuffer(j.ARRAY_BUFFER,
+i.buffer),j.bufferData(j.ARRAY_BUFFER,i.array,b));a.tangentsNeedUpdate&&void 0!==d&&(j.bindBuffer(j.ARRAY_BUFFER,d.buffer),j.bufferData(j.ARRAY_BUFFER,d.array,b));if(c)for(var k in a.attributes)delete a.attributes[k].array}function k(a){Ka[a]||(j.enableVertexAttribArray(a),Ka[a]=!0)}function l(){for(var a in Ka)Ka[a]&&(j.disableVertexAttribArray(a),Ka[a]=!1)}function m(a,b){return a.z!==b.z?b.z-a.z:b.id-a.id}function n(a,b){return b[0]-a[0]}function s(a,b,c){if(a.length)for(var d=0,e=a.length;d<e;d++)aa=
+mb=null,ta=ka=la=da=Wa=ia=Z=-1,bb=!0,a[d].render(b,c,mc,pb),aa=mb=null,ta=ka=la=da=Wa=ia=Z=-1,bb=!0}function r(a,b,c,d,e,f,g,j){var h,i,k,n;b?(i=a.length-1,n=b=-1):(i=0,b=a.length,n=1);for(var l=i;l!==b;l+=n)if(h=a[l],h.render){i=h.object;k=h.buffer;if(j)h=j;else{h=h[c];if(!h)continue;g&&N.setBlending(h.blending,h.blendEquation,h.blendSrc,h.blendDst);N.setDepthTest(h.depthTest);N.setDepthWrite(h.depthWrite);E(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}N.setMaterialFaces(h);k instanceof
+THREE.BufferGeometry?N.renderBufferDirect(d,e,f,h,k,i):N.renderBuffer(d,e,f,h,k,i)}}function p(a,b,c,d,e,f,g){for(var h,j,i=0,k=a.length;i<k;i++)if(h=a[i],j=h.object,j.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&N.setBlending(h.blending,h.blendEquation,h.blendSrc,h.blendDst);N.setDepthTest(h.depthTest);N.setDepthWrite(h.depthWrite);E(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}N.renderImmediateObject(c,d,e,h,j)}}function q(a,b,c){a.push({buffer:b,object:c,opaque:null,transparent:null})}
+function y(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;return!1}function v(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function z(a,b){for(var c=a.length-1;0<=c;c--)a[c].object===b&&a.splice(c,1)}function t(a,b){for(var c=a.length-1;0<=c;c--)a[c]===b&&a.splice(c,1)}function A(a,b,c,d,e){Y=0;d.needsUpdate&&(d.program&&Pc(d),N.initMaterial(d,b,c,e),d.needsUpdate=!1);d.morphTargets&&!e.__webglMorphTargetInfluences&&(e.__webglMorphTargetInfluences=new Float32Array(N.maxMorphTargets));
+var f=!1,g=d.program,h=g.uniforms,i=d.uniforms;g!==mb&&(j.useProgram(g),mb=g,f=!0);d.id!==ta&&(ta=d.id,f=!0);if(f||a!==aa)j.uniformMatrix4fv(h.projectionMatrix,!1,a.projectionMatrix.elements),a!==aa&&(aa=a);if(d.skinning)if(tc&&e.useVertexTexture){if(null!==h.boneTexture){var k=I();j.uniform1i(h.boneTexture,k);N.setTexture(e.boneTexture,k)}}else null!==h.boneGlobalMatrices&&j.uniformMatrix4fv(h.boneGlobalMatrices,!1,e.boneMatrices);if(f){c&&d.fog&&(i.fogColor.value=c.color,c instanceof THREE.Fog?
+(i.fogNear.value=c.near,i.fogFar.value=c.far):c instanceof THREE.FogExp2&&(i.fogDensity.value=c.density));if(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(bb){for(var n,l=k=0,m=0,p,q,s,r=xb,t=r.directional.colors,v=r.directional.positions,y=r.point.colors,z=r.point.positions,B=r.point.distances,C=r.spot.colors,A=r.spot.positions,F=r.spot.distances,E=r.spot.directions,J=r.spot.anglesCos,K=r.spot.exponents,H=r.hemi.skyColors,M=r.hemi.groundColors,P=r.hemi.positions,
+X=0,da=0,ka=0,fa=0,ca=0,pa=0,Ma=0,ha=0,O=n=0,c=s=O=0,f=b.length;c<f;c++)n=b[c],n.onlyShadow||(p=n.color,q=n.intensity,s=n.distance,n instanceof THREE.AmbientLight?n.visible&&(N.gammaInput?(k+=p.r*p.r,l+=p.g*p.g,m+=p.b*p.b):(k+=p.r,l+=p.g,m+=p.b)):n instanceof THREE.DirectionalLight?(ca+=1,n.visible&&(La.getPositionFromMatrix(n.matrixWorld),Qa.getPositionFromMatrix(n.target.matrixWorld),La.sub(Qa),La.normalize(),0===La.x&&0===La.y&&0===La.z||(n=3*X,v[n]=La.x,v[n+1]=La.y,v[n+2]=La.z,N.gammaInput?x(t,
+n,p,q*q):G(t,n,p,q),X+=1))):n instanceof THREE.PointLight?(pa+=1,n.visible&&(O=3*da,N.gammaInput?x(y,O,p,q*q):G(y,O,p,q),Qa.getPositionFromMatrix(n.matrixWorld),z[O]=Qa.x,z[O+1]=Qa.y,z[O+2]=Qa.z,B[da]=s,da+=1)):n instanceof THREE.SpotLight?(Ma+=1,n.visible&&(O=3*ka,N.gammaInput?x(C,O,p,q*q):G(C,O,p,q),Qa.getPositionFromMatrix(n.matrixWorld),A[O]=Qa.x,A[O+1]=Qa.y,A[O+2]=Qa.z,F[ka]=s,La.copy(Qa),Qa.getPositionFromMatrix(n.target.matrixWorld),La.sub(Qa),La.normalize(),E[O]=La.x,E[O+1]=La.y,E[O+2]=La.z,
+J[ka]=Math.cos(n.angle),K[ka]=n.exponent,ka+=1)):n instanceof THREE.HemisphereLight&&(ha+=1,n.visible&&(La.getPositionFromMatrix(n.matrixWorld),La.normalize(),0===La.x&&0===La.y&&0===La.z||(s=3*fa,P[s]=La.x,P[s+1]=La.y,P[s+2]=La.z,p=n.color,n=n.groundColor,N.gammaInput?(q*=q,x(H,s,p,q),x(M,s,n,q)):(G(H,s,p,q),G(M,s,n,q)),fa+=1))));c=3*X;for(f=Math.max(t.length,3*ca);c<f;c++)t[c]=0;c=3*da;for(f=Math.max(y.length,3*pa);c<f;c++)y[c]=0;c=3*ka;for(f=Math.max(C.length,3*Ma);c<f;c++)C[c]=0;c=3*fa;for(f=
+Math.max(H.length,3*ha);c<f;c++)H[c]=0;c=3*fa;for(f=Math.max(M.length,3*ha);c<f;c++)M[c]=0;r.directional.length=X;r.point.length=da;r.spot.length=ka;r.hemi.length=fa;r.ambient[0]=k;r.ambient[1]=l;r.ambient[2]=m;bb=!1}c=xb;i.ambientLightColor.value=c.ambient;i.directionalLightColor.value=c.directional.colors;i.directionalLightDirection.value=c.directional.positions;i.pointLightColor.value=c.point.colors;i.pointLightPosition.value=c.point.positions;i.pointLightDistance.value=c.point.distances;i.spotLightColor.value=
+c.spot.colors;i.spotLightPosition.value=c.spot.positions;i.spotLightDistance.value=c.spot.distances;i.spotLightDirection.value=c.spot.directions;i.spotLightAngleCos.value=c.spot.anglesCos;i.spotLightExponent.value=c.spot.exponents;i.hemisphereLightSkyColor.value=c.hemi.skyColors;i.hemisphereLightGroundColor.value=c.hemi.groundColors;i.hemisphereLightDirection.value=c.hemi.positions}if(d instanceof THREE.MeshBasicMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){i.opacity.value=
+d.opacity;N.gammaInput?i.diffuse.value.copyGammaToLinear(d.color):i.diffuse.value=d.color;i.map.value=d.map;i.lightMap.value=d.lightMap;i.specularMap.value=d.specularMap;d.bumpMap&&(i.bumpMap.value=d.bumpMap,i.bumpScale.value=d.bumpScale);d.normalMap&&(i.normalMap.value=d.normalMap,i.normalScale.value.copy(d.normalScale));var Z;d.map?Z=d.map:d.specularMap?Z=d.specularMap:d.normalMap?Z=d.normalMap:d.bumpMap&&(Z=d.bumpMap);void 0!==Z&&(c=Z.offset,Z=Z.repeat,i.offsetRepeat.value.set(c.x,c.y,Z.x,Z.y));
+i.envMap.value=d.envMap;i.flipEnvMap.value=d.envMap instanceof THREE.WebGLRenderTargetCube?1:-1;i.reflectivity.value=d.reflectivity;i.refractionRatio.value=d.refractionRatio;i.combine.value=d.combine;i.useRefract.value=d.envMap&&d.envMap.mapping instanceof THREE.CubeRefractionMapping}d instanceof THREE.LineBasicMaterial?(i.diffuse.value=d.color,i.opacity.value=d.opacity):d instanceof THREE.LineDashedMaterial?(i.diffuse.value=d.color,i.opacity.value=d.opacity,i.dashSize.value=d.dashSize,i.totalSize.value=
+d.dashSize+d.gapSize,i.scale.value=d.scale):d instanceof THREE.ParticleBasicMaterial?(i.psColor.value=d.color,i.opacity.value=d.opacity,i.size.value=d.size,i.scale.value=U.height/2,i.map.value=d.map):d instanceof THREE.MeshPhongMaterial?(i.shininess.value=d.shininess,N.gammaInput?(i.ambient.value.copyGammaToLinear(d.ambient),i.emissive.value.copyGammaToLinear(d.emissive),i.specular.value.copyGammaToLinear(d.specular)):(i.ambient.value=d.ambient,i.emissive.value=d.emissive,i.specular.value=d.specular),
+d.wrapAround&&i.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshLambertMaterial?(N.gammaInput?(i.ambient.value.copyGammaToLinear(d.ambient),i.emissive.value.copyGammaToLinear(d.emissive)):(i.ambient.value=d.ambient,i.emissive.value=d.emissive),d.wrapAround&&i.wrapRGB.value.copy(d.wrapRGB)):d instanceof THREE.MeshDepthMaterial?(i.mNear.value=a.near,i.mFar.value=a.far,i.opacity.value=d.opacity):d instanceof THREE.MeshNormalMaterial&&(i.opacity.value=d.opacity);if(e.receiveShadow&&!d._shadowPass&&
+i.shadowMatrix){c=Z=0;for(f=b.length;c<f;c++)if(k=b[c],k.castShadow&&(k instanceof THREE.SpotLight||k instanceof THREE.DirectionalLight&&!k.shadowCascade))i.shadowMap.value[Z]=k.shadowMap,i.shadowMapSize.value[Z]=k.shadowMapSize,i.shadowMatrix.value[Z]=k.shadowMatrix,i.shadowDarkness.value[Z]=k.shadowDarkness,i.shadowBias.value[Z]=k.shadowBias,Z++}b=d.uniformsList;i=0;for(Z=b.length;i<Z;i++)if(f=g.uniforms[b[i][1]])if(c=b[i][0],l=c.type,k=c.value,"i"===l)j.uniform1i(f,k);else if("f"===l)j.uniform1f(f,
+k);else if("v2"===l)j.uniform2f(f,k.x,k.y);else if("v3"===l)j.uniform3f(f,k.x,k.y,k.z);else if("v4"===l)j.uniform4f(f,k.x,k.y,k.z,k.w);else if("c"===l)j.uniform3f(f,k.r,k.g,k.b);else if("iv1"===l)j.uniform1iv(f,k);else if("iv"===l)j.uniform3iv(f,k);else if("fv1"===l)j.uniform1fv(f,k);else if("fv"===l)j.uniform3fv(f,k);else if("v2v"===l){void 0===c._array&&(c._array=new Float32Array(2*k.length));l=0;for(m=k.length;l<m;l++)r=2*l,c._array[r]=k[l].x,c._array[r+1]=k[l].y;j.uniform2fv(f,c._array)}else if("v3v"===
+l){void 0===c._array&&(c._array=new Float32Array(3*k.length));l=0;for(m=k.length;l<m;l++)r=3*l,c._array[r]=k[l].x,c._array[r+1]=k[l].y,c._array[r+2]=k[l].z;j.uniform3fv(f,c._array)}else if("v4v"===l){void 0===c._array&&(c._array=new Float32Array(4*k.length));l=0;for(m=k.length;l<m;l++)r=4*l,c._array[r]=k[l].x,c._array[r+1]=k[l].y,c._array[r+2]=k[l].z,c._array[r+3]=k[l].w;j.uniform4fv(f,c._array)}else if("m4"===l)void 0===c._array&&(c._array=new Float32Array(16)),k.flattenToArray(c._array),j.uniformMatrix4fv(f,
+!1,c._array);else if("m4v"===l){void 0===c._array&&(c._array=new Float32Array(16*k.length));l=0;for(m=k.length;l<m;l++)k[l].flattenToArrayOffset(c._array,16*l);j.uniformMatrix4fv(f,!1,c._array)}else if("t"===l){if(r=k,k=I(),j.uniform1i(f,k),r)if(r.image instanceof Array&&6===r.image.length){if(c=r,f=k,6===c.image.length)if(c.needsUpdate){c.image.__webglTextureCube||(c.image.__webglTextureCube=j.createTexture(),N.info.memory.textures++);j.activeTexture(j.TEXTURE0+f);j.bindTexture(j.TEXTURE_CUBE_MAP,
+c.image.__webglTextureCube);j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL,c.flipY);f=c instanceof THREE.CompressedTexture;k=[];for(l=0;6>l;l++)N.autoScaleCubemaps&&!f?(m=k,r=l,t=c.image[l],y=gd,t.width<=y&&t.height<=y||(z=Math.max(t.width,t.height),v=Math.floor(t.width*y/z),y=Math.floor(t.height*y/z),z=document.createElement("canvas"),z.width=v,z.height=y,z.getContext("2d").drawImage(t,0,0,t.width,t.height,0,0,v,y),t=z),m[r]=t):k[l]=c.image[l];l=k[0];m=0===(l.width&l.width-1)&&0===(l.height&l.height-1);r=L(c.format);
+t=L(c.type);W(j.TEXTURE_CUBE_MAP,c,m);for(l=0;6>l;l++)if(f){y=k[l].mipmaps;z=0;for(B=y.length;z<B;z++)v=y[z],j.compressedTexImage2D(j.TEXTURE_CUBE_MAP_POSITIVE_X+l,z,r,v.width,v.height,0,v.data)}else j.texImage2D(j.TEXTURE_CUBE_MAP_POSITIVE_X+l,0,r,r,t,k[l]);c.generateMipmaps&&m&&j.generateMipmap(j.TEXTURE_CUBE_MAP);c.needsUpdate=!1;if(c.onUpdate)c.onUpdate()}else j.activeTexture(j.TEXTURE0+f),j.bindTexture(j.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else r instanceof THREE.WebGLRenderTargetCube?
+(c=r,j.activeTexture(j.TEXTURE0+k),j.bindTexture(j.TEXTURE_CUBE_MAP,c.__webglTexture)):N.setTexture(r,k)}else if("tv"===l){void 0===c._array&&(c._array=[]);l=0;for(m=c.value.length;l<m;l++)c._array[l]=I();j.uniform1iv(f,c._array);l=0;for(m=c.value.length;l<m;l++)r=c.value[l],k=c._array[l],r&&N.setTexture(r,k)}if((d instanceof THREE.ShaderMaterial||d instanceof THREE.MeshPhongMaterial||d.envMap)&&null!==h.cameraPosition)Qa.getPositionFromMatrix(a.matrixWorld),j.uniform3f(h.cameraPosition,Qa.x,Qa.y,
+Qa.z);(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d instanceof THREE.ShaderMaterial||d.skinning)&&null!==h.viewMatrix&&j.uniformMatrix4fv(h.viewMatrix,!1,a.matrixWorldInverse.elements)}j.uniformMatrix4fv(h.modelViewMatrix,!1,e._modelViewMatrix.elements);h.normalMatrix&&j.uniformMatrix3fv(h.normalMatrix,!1,e._normalMatrix.elements);null!==h.modelMatrix&&j.uniformMatrix4fv(h.modelMatrix,!1,e.matrixWorld.elements);return g}function I(){var a=Y;a>=Mc&&console.warn("WebGLRenderer: trying to use "+
+a+" texture units while this GPU supports only "+Mc);Y+=1;return a}function C(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getInverse(a._modelViewMatrix);a._normalMatrix.transpose()}function x(a,b,c,d){a[b]=c.r*c.r*d;a[b+1]=c.g*c.g*d;a[b+2]=c.b*c.b*d}function G(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function J(a){a!==ub&&(j.lineWidth(a),ub=a)}function E(a,b,c){ab!==a&&(a?j.enable(j.POLYGON_OFFSET_FILL):j.disable(j.POLYGON_OFFSET_FILL),ab=a);if(a&&
+(Fa!==b||Xa!==c))j.polygonOffset(b,c),Fa=b,Xa=c}function H(a){for(var a=a.split("\n"),b=0,c=a.length;b<c;b++)a[b]=b+1+": "+a[b];return a.join("\n")}function B(a,b){var c;"fragment"===a?c=j.createShader(j.FRAGMENT_SHADER):"vertex"===a&&(c=j.createShader(j.VERTEX_SHADER));j.shaderSource(c,b);j.compileShader(c);return!j.getShaderParameter(c,j.COMPILE_STATUS)?(console.error(j.getShaderInfoLog(c)),console.error(H(b)),null):c}function W(a,b,c){c?(j.texParameteri(a,j.TEXTURE_WRAP_S,L(b.wrapS)),j.texParameteri(a,
+j.TEXTURE_WRAP_T,L(b.wrapT)),j.texParameteri(a,j.TEXTURE_MAG_FILTER,L(b.magFilter)),j.texParameteri(a,j.TEXTURE_MIN_FILTER,L(b.minFilter))):(j.texParameteri(a,j.TEXTURE_WRAP_S,j.CLAMP_TO_EDGE),j.texParameteri(a,j.TEXTURE_WRAP_T,j.CLAMP_TO_EDGE),j.texParameteri(a,j.TEXTURE_MAG_FILTER,K(b.magFilter)),j.texParameteri(a,j.TEXTURE_MIN_FILTER,K(b.minFilter)));if(cb&&b.type!==THREE.FloatType&&(1<b.anisotropy||b.__oldAnisotropy))j.texParameterf(a,cb.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,Cc)),b.__oldAnisotropy=
+b.anisotropy}function F(a,b){j.bindRenderbuffer(j.RENDERBUFFER,a);b.depthBuffer&&!b.stencilBuffer?(j.renderbufferStorage(j.RENDERBUFFER,j.DEPTH_COMPONENT16,b.width,b.height),j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_ATTACHMENT,j.RENDERBUFFER,a)):b.depthBuffer&&b.stencilBuffer?(j.renderbufferStorage(j.RENDERBUFFER,j.DEPTH_STENCIL,b.width,b.height),j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_STENCIL_ATTACHMENT,j.RENDERBUFFER,a)):j.renderbufferStorage(j.RENDERBUFFER,j.RGBA4,b.width,b.height)}
+function K(a){return a===THREE.NearestFilter||a===THREE.NearestMipMapNearestFilter||a===THREE.NearestMipMapLinearFilter?j.NEAREST:j.LINEAR}function L(a){if(a===THREE.RepeatWrapping)return j.REPEAT;if(a===THREE.ClampToEdgeWrapping)return j.CLAMP_TO_EDGE;if(a===THREE.MirroredRepeatWrapping)return j.MIRRORED_REPEAT;if(a===THREE.NearestFilter)return j.NEAREST;if(a===THREE.NearestMipMapNearestFilter)return j.NEAREST_MIPMAP_NEAREST;if(a===THREE.NearestMipMapLinearFilter)return j.NEAREST_MIPMAP_LINEAR;if(a===
+THREE.LinearFilter)return j.LINEAR;if(a===THREE.LinearMipMapNearestFilter)return j.LINEAR_MIPMAP_NEAREST;if(a===THREE.LinearMipMapLinearFilter)return j.LINEAR_MIPMAP_LINEAR;if(a===THREE.UnsignedByteType)return j.UNSIGNED_BYTE;if(a===THREE.UnsignedShort4444Type)return j.UNSIGNED_SHORT_4_4_4_4;if(a===THREE.UnsignedShort5551Type)return j.UNSIGNED_SHORT_5_5_5_1;if(a===THREE.UnsignedShort565Type)return j.UNSIGNED_SHORT_5_6_5;if(a===THREE.ByteType)return j.BYTE;if(a===THREE.ShortType)return j.SHORT;if(a===
+THREE.UnsignedShortType)return j.UNSIGNED_SHORT;if(a===THREE.IntType)return j.INT;if(a===THREE.UnsignedIntType)return j.UNSIGNED_INT;if(a===THREE.FloatType)return j.FLOAT;if(a===THREE.AlphaFormat)return j.ALPHA;if(a===THREE.RGBFormat)return j.RGB;if(a===THREE.RGBAFormat)return j.RGBA;if(a===THREE.LuminanceFormat)return j.LUMINANCE;if(a===THREE.LuminanceAlphaFormat)return j.LUMINANCE_ALPHA;if(a===THREE.AddEquation)return j.FUNC_ADD;if(a===THREE.SubtractEquation)return j.FUNC_SUBTRACT;if(a===THREE.ReverseSubtractEquation)return j.FUNC_REVERSE_SUBTRACT;
+if(a===THREE.ZeroFactor)return j.ZERO;if(a===THREE.OneFactor)return j.ONE;if(a===THREE.SrcColorFactor)return j.SRC_COLOR;if(a===THREE.OneMinusSrcColorFactor)return j.ONE_MINUS_SRC_COLOR;if(a===THREE.SrcAlphaFactor)return j.SRC_ALPHA;if(a===THREE.OneMinusSrcAlphaFactor)return j.ONE_MINUS_SRC_ALPHA;if(a===THREE.DstAlphaFactor)return j.DST_ALPHA;if(a===THREE.OneMinusDstAlphaFactor)return j.ONE_MINUS_DST_ALPHA;if(a===THREE.DstColorFactor)return j.DST_COLOR;if(a===THREE.OneMinusDstColorFactor)return j.ONE_MINUS_DST_COLOR;
+if(a===THREE.SrcAlphaSaturateFactor)return j.SRC_ALPHA_SATURATE;if(void 0!==Sa){if(a===THREE.RGB_S3TC_DXT1_Format)return Sa.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT1_Format)return Sa.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===THREE.RGBA_S3TC_DXT3_Format)return Sa.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===THREE.RGBA_S3TC_DXT5_Format)return Sa.COMPRESSED_RGBA_S3TC_DXT5_EXT}return 0}console.log("THREE.WebGLRenderer",THREE.REVISION);var a=a||{},U=void 0!==a.canvas?a.canvas:document.createElement("canvas"),
+fa=void 0!==a.precision?a.precision:"highp",Ca=void 0!==a.alpha?a.alpha:!0,$a=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,M=void 0!==a.antialias?a.antialias:!1,ca=void 0!==a.stencil?a.stencil:!0,qa=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,ha=void 0!==a.clearColor?new THREE.Color(a.clearColor):new THREE.Color(0),ra=void 0!==a.clearAlpha?a.clearAlpha:0;this.domElement=U;this.context=null;this.devicePixelRatio=void 0!==a.devicePixelRatio?a.devicePixelRatio:void 0!==window.devicePixelRatio?
+window.devicePixelRatio:1;this.autoUpdateScene=this.autoUpdateObjects=this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.shadowMapEnabled=this.physicallyBasedShading=this.gammaOutput=this.gammaInput=!1;this.shadowMapAutoUpdate=!0;this.shadowMapType=THREE.PCFShadowMap;this.shadowMapCullFace=THREE.CullFaceFront;this.shadowMapCascade=this.shadowMapDebug=!1;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=!0;this.renderPluginsPre=
+[];this.renderPluginsPost=[];this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var N=this,Ma=[],Na=0,mb=null,Pa=null,ta=-1,ka=null,aa=null,pa=0,Y=0,da=-1,la=-1,Z=-1,oa=-1,gb=-1,nb=-1,ia=-1,Wa=-1,ab=null,Fa=null,Xa=null,ub=null,Ib=0,Jb=0,fc=0,Ab=0,mc=0,pb=0,Ka={},Va=new THREE.Frustum,gc=new THREE.Matrix4,vb=new THREE.Matrix4,Qa=new THREE.Vector3,La=new THREE.Vector3,bb=!0,xb={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,
+colors:[],positions:[],distances:[]},spot:{length:0,colors:[],positions:[],distances:[],directions:[],anglesCos:[],exponents:[]},hemi:{length:0,skyColors:[],groundColors:[],positions:[]}},j,yb,Ra,cb,Sa;try{if(!(j=U.getContext("experimental-webgl",{alpha:Ca,premultipliedAlpha:$a,antialias:M,stencil:ca,preserveDrawingBuffer:qa})))throw"Error creating WebGL context.";}catch(zb){console.error(zb)}yb=j.getExtension("OES_texture_float");Ra=j.getExtension("OES_standard_derivatives");cb=j.getExtension("EXT_texture_filter_anisotropic")||
+j.getExtension("MOZ_EXT_texture_filter_anisotropic")||j.getExtension("WEBKIT_EXT_texture_filter_anisotropic");Sa=j.getExtension("WEBGL_compressed_texture_s3tc")||j.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||j.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");yb||console.log("THREE.WebGLRenderer: Float textures not supported.");Ra||console.log("THREE.WebGLRenderer: Standard derivatives not supported.");cb||console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");
+Sa||console.log("THREE.WebGLRenderer: S3TC compressed textures not supported.");void 0===j.getShaderPrecisionFormat&&(j.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});j.clearColor(0,0,0,1);j.clearDepth(1);j.clearStencil(0);j.enable(j.DEPTH_TEST);j.depthFunc(j.LEQUAL);j.frontFace(j.CCW);j.cullFace(j.BACK);j.enable(j.CULL_FACE);j.enable(j.BLEND);j.blendEquation(j.FUNC_ADD);j.blendFunc(j.SRC_ALPHA,j.ONE_MINUS_SRC_ALPHA);j.clearColor(ha.r,ha.g,ha.b,ra);this.context=j;
+var Mc=j.getParameter(j.MAX_TEXTURE_IMAGE_UNITS),fd=j.getParameter(j.MAX_VERTEX_TEXTURE_IMAGE_UNITS);j.getParameter(j.MAX_TEXTURE_SIZE);var gd=j.getParameter(j.MAX_CUBE_MAP_TEXTURE_SIZE),Cc=cb?j.getParameter(cb.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,sc=0<fd,tc=sc&&yb;Sa&&j.getParameter(j.COMPRESSED_TEXTURE_FORMATS);var jd=j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.HIGH_FLOAT),kd=j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.MEDIUM_FLOAT);j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.LOW_FLOAT);var ld=
+j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,j.HIGH_FLOAT),id=j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,j.MEDIUM_FLOAT);j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,j.LOW_FLOAT);j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.HIGH_INT);j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.MEDIUM_INT);j.getShaderPrecisionFormat(j.VERTEX_SHADER,j.LOW_INT);j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,j.HIGH_INT);j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,j.MEDIUM_INT);j.getShaderPrecisionFormat(j.FRAGMENT_SHADER,
+j.LOW_INT);var hd=0<jd.precision&&0<ld.precision,Nc=0<kd.precision&&0<id.precision;"highp"===fa&&!hd&&(Nc?(fa="mediump",console.warn("WebGLRenderer: highp not supported, using mediump")):(fa="lowp",console.warn("WebGLRenderer: highp and mediump not supported, using lowp")));"mediump"===fa&&!Nc&&(fa="lowp",console.warn("WebGLRenderer: mediump not supported, using lowp"));this.getContext=function(){return j};this.supportsVertexTextures=function(){return sc};this.supportsFloatTextures=function(){return yb};
+this.supportsStandardDerivatives=function(){return Ra};this.supportsCompressedTextureS3TC=function(){return Sa};this.getMaxAnisotropy=function(){return Cc};this.getPrecision=function(){return fa};this.setSize=function(a,b){U.width=a*this.devicePixelRatio;U.height=b*this.devicePixelRatio;U.style.width=a+"px";U.style.height=b+"px";this.setViewport(0,0,U.width,U.height)};this.setViewport=function(a,b,c,d){Ib=void 0!==a?a:0;Jb=void 0!==b?b:0;fc=void 0!==c?c:U.width;Ab=void 0!==d?d:U.height;j.viewport(Ib,
+Jb,fc,Ab)};this.setScissor=function(a,b,c,d){j.scissor(a,b,c,d)};this.enableScissorTest=function(a){a?j.enable(j.SCISSOR_TEST):j.disable(j.SCISSOR_TEST)};this.setClearColorHex=function(a,b){ha.setHex(a);ra=b;j.clearColor(ha.r,ha.g,ha.b,ra)};this.setClearColor=function(a,b){ha.copy(a);ra=b;j.clearColor(ha.r,ha.g,ha.b,ra)};this.getClearColor=function(){return ha};this.getClearAlpha=function(){return ra};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=j.COLOR_BUFFER_BIT;if(void 0===b||b)d|=j.DEPTH_BUFFER_BIT;
+if(void 0===c||c)d|=j.STENCIL_BUFFER_BIT;j.clear(d)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.addPostPlugin=function(a){a.init(this);this.renderPluginsPost.push(a)};this.addPrePlugin=function(a){a.init(this);this.renderPluginsPre.push(a)};this.updateShadowMap=function(a,b){mb=null;ta=ka=Wa=ia=Z=-1;bb=!0;la=da=-1;this.shadowMapPlugin.update(a,b)};var wd=function(a){a=a.target;a.removeEventListener("dispose",wd);a.__webglInit=void 0;void 0!==a.__webglVertexBuffer&&
+j.deleteBuffer(a.__webglVertexBuffer);void 0!==a.__webglNormalBuffer&&j.deleteBuffer(a.__webglNormalBuffer);void 0!==a.__webglTangentBuffer&&j.deleteBuffer(a.__webglTangentBuffer);void 0!==a.__webglColorBuffer&&j.deleteBuffer(a.__webglColorBuffer);void 0!==a.__webglUVBuffer&&j.deleteBuffer(a.__webglUVBuffer);void 0!==a.__webglUV2Buffer&&j.deleteBuffer(a.__webglUV2Buffer);void 0!==a.__webglSkinIndicesBuffer&&j.deleteBuffer(a.__webglSkinIndicesBuffer);void 0!==a.__webglSkinWeightsBuffer&&j.deleteBuffer(a.__webglSkinWeightsBuffer);
+void 0!==a.__webglFaceBuffer&&j.deleteBuffer(a.__webglFaceBuffer);void 0!==a.__webglLineBuffer&&j.deleteBuffer(a.__webglLineBuffer);void 0!==a.__webglLineDistanceBuffer&&j.deleteBuffer(a.__webglLineDistanceBuffer);if(void 0!==a.geometryGroups)for(var c in a.geometryGroups){var d=a.geometryGroups[c];if(void 0!==d.numMorphTargets)for(var e=0,f=d.numMorphTargets;e<f;e++)j.deleteBuffer(d.__webglMorphTargetsBuffers[e]);if(void 0!==d.numMorphNormals){e=0;for(f=d.numMorphNormals;e<f;e++)j.deleteBuffer(d.__webglMorphNormalsBuffers[e])}b(d)}b(a);
+N.info.memory.geometries--},Oc=function(a){a=a.target;a.removeEventListener("dispose",Oc);a.image&&a.image.__webglTextureCube?j.deleteTexture(a.image.__webglTextureCube):a.__webglInit&&(a.__webglInit=!1,j.deleteTexture(a.__webglTexture));N.info.memory.textures--},P=function(a){a=a.target;a.removeEventListener("dispose",P);if(a&&a.__webglTexture)if(j.deleteTexture(a.__webglTexture),a instanceof THREE.WebGLRenderTargetCube)for(var b=0;6>b;b++)j.deleteFramebuffer(a.__webglFramebuffer[b]),j.deleteRenderbuffer(a.__webglRenderbuffer[b]);
+else j.deleteFramebuffer(a.__webglFramebuffer),j.deleteRenderbuffer(a.__webglRenderbuffer);N.info.memory.textures--},X=function(a){a=a.target;a.removeEventListener("dispose",X);Pc(a)},Pc=function(a){var b=a.program;if(void 0!==b){a.program=void 0;var c,d,e=!1,a=0;for(c=Ma.length;a<c;a++)if(d=Ma[a],d.program===b){d.usedTimes--;0===d.usedTimes&&(e=!0);break}if(!0===e){e=[];a=0;for(c=Ma.length;a<c;a++)d=Ma[a],d.program!==b&&e.push(d);Ma=e;j.deleteProgram(b);N.info.memory.programs--}}};this.renderBufferImmediate=
+function(a,b,c){a.hasPositions&&!a.__webglVertexBuffer&&(a.__webglVertexBuffer=j.createBuffer());a.hasNormals&&!a.__webglNormalBuffer&&(a.__webglNormalBuffer=j.createBuffer());a.hasUvs&&!a.__webglUvBuffer&&(a.__webglUvBuffer=j.createBuffer());a.hasColors&&!a.__webglColorBuffer&&(a.__webglColorBuffer=j.createBuffer());a.hasPositions&&(j.bindBuffer(j.ARRAY_BUFFER,a.__webglVertexBuffer),j.bufferData(j.ARRAY_BUFFER,a.positionArray,j.DYNAMIC_DRAW),j.enableVertexAttribArray(b.attributes.position),j.vertexAttribPointer(b.attributes.position,
+3,j.FLOAT,!1,0,0));if(a.hasNormals){j.bindBuffer(j.ARRAY_BUFFER,a.__webglNormalBuffer);if(c.shading===THREE.FlatShading){var d,e,f,g,i,h,k,l,n,m,p,q=3*a.count;for(p=0;p<q;p+=9)m=a.normalArray,d=m[p],e=m[p+1],f=m[p+2],g=m[p+3],h=m[p+4],l=m[p+5],i=m[p+6],k=m[p+7],n=m[p+8],d=(d+g+i)/3,e=(e+h+k)/3,f=(f+l+n)/3,m[p]=d,m[p+1]=e,m[p+2]=f,m[p+3]=d,m[p+4]=e,m[p+5]=f,m[p+6]=d,m[p+7]=e,m[p+8]=f}j.bufferData(j.ARRAY_BUFFER,a.normalArray,j.DYNAMIC_DRAW);j.enableVertexAttribArray(b.attributes.normal);j.vertexAttribPointer(b.attributes.normal,
+3,j.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(j.bindBuffer(j.ARRAY_BUFFER,a.__webglUvBuffer),j.bufferData(j.ARRAY_BUFFER,a.uvArray,j.DYNAMIC_DRAW),j.enableVertexAttribArray(b.attributes.uv),j.vertexAttribPointer(b.attributes.uv,2,j.FLOAT,!1,0,0));a.hasColors&&c.vertexColors!==THREE.NoColors&&(j.bindBuffer(j.ARRAY_BUFFER,a.__webglColorBuffer),j.bufferData(j.ARRAY_BUFFER,a.colorArray,j.DYNAMIC_DRAW),j.enableVertexAttribArray(b.attributes.color),j.vertexAttribPointer(b.attributes.color,3,j.FLOAT,!1,0,0));j.drawArrays(j.TRIANGLES,
+0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){if(!1!==d.visible)if(c=A(a,b,c,d,f),a=c.attributes,b=!1,c=16777215*e.id+2*c.id+(d.wireframe?1:0),c!==ka&&(ka=c,b=!0),b&&l(),f instanceof THREE.Mesh)if(d=e.attributes.index){f=e.offsets;1<f.length&&(b=!0);for(var c=0,g=f.length;c<g;c++){var i=f[c].index;if(b){var h=e.attributes.position,n=h.itemSize;j.bindBuffer(j.ARRAY_BUFFER,h.buffer);k(a.position);j.vertexAttribPointer(a.position,n,j.FLOAT,!1,0,4*i*n);n=e.attributes.normal;if(0<=
+a.normal&&n){var m=n.itemSize;j.bindBuffer(j.ARRAY_BUFFER,n.buffer);k(a.normal);j.vertexAttribPointer(a.normal,m,j.FLOAT,!1,0,4*i*m)}n=e.attributes.uv;0<=a.uv&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.uv),j.vertexAttribPointer(a.uv,m,j.FLOAT,!1,0,4*i*m));n=e.attributes.color;0<=a.color&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.color),j.vertexAttribPointer(a.color,m,j.FLOAT,!1,0,4*i*m));n=e.attributes.tangent;0<=a.tangent&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,
+n.buffer),k(a.tangent),j.vertexAttribPointer(a.tangent,m,j.FLOAT,!1,0,4*i*m));j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,d.buffer)}j.drawElements(j.TRIANGLES,f[c].count,j.UNSIGNED_SHORT,2*f[c].start);N.info.render.calls++;N.info.render.vertices+=f[c].count;N.info.render.faces+=f[c].count/3}}else b&&(h=e.attributes.position,n=h.itemSize,j.bindBuffer(j.ARRAY_BUFFER,h.buffer),k(a.position),j.vertexAttribPointer(a.position,n,j.FLOAT,!1,0,0),n=e.attributes.normal,0<=a.normal&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,
+n.buffer),k(a.normal),j.vertexAttribPointer(a.normal,m,j.FLOAT,!1,0,0)),n=e.attributes.uv,0<=a.uv&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.uv),j.vertexAttribPointer(a.uv,m,j.FLOAT,!1,0,0)),n=e.attributes.color,0<=a.color&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.color),j.vertexAttribPointer(a.color,m,j.FLOAT,!1,0,0)),n=e.attributes.tangent,0<=a.tangent&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.tangent),j.vertexAttribPointer(a.tangent,m,j.FLOAT,
+!1,0,0))),j.drawArrays(j.TRIANGLES,0,h.numItems/3),N.info.render.calls++,N.info.render.vertices+=h.numItems/3,N.info.render.faces+=h.numItems/3/3;else f instanceof THREE.ParticleSystem?b&&(h=e.attributes.position,n=h.itemSize,j.bindBuffer(j.ARRAY_BUFFER,h.buffer),k(a.position),j.vertexAttribPointer(a.position,n,j.FLOAT,!1,0,0),n=e.attributes.color,0<=a.color&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.color),j.vertexAttribPointer(a.color,m,j.FLOAT,!1,0,0)),j.drawArrays(j.POINTS,0,
+h.numItems/3),N.info.render.calls++,N.info.render.points+=h.numItems/3):f instanceof THREE.Line&&b&&(h=e.attributes.position,n=h.itemSize,j.bindBuffer(j.ARRAY_BUFFER,h.buffer),k(a.position),j.vertexAttribPointer(a.position,n,j.FLOAT,!1,0,0),n=e.attributes.color,0<=a.color&&n&&(m=n.itemSize,j.bindBuffer(j.ARRAY_BUFFER,n.buffer),k(a.color),j.vertexAttribPointer(a.color,m,j.FLOAT,!1,0,0)),J(d.linewidth),j.drawArrays(j.LINE_STRIP,0,h.numItems/3),N.info.render.calls++,N.info.render.points+=h.numItems)};
+this.renderBuffer=function(a,b,c,d,e,f){if(!1!==d.visible){var g,i,c=A(a,b,c,d,f),a=c.attributes,b=!1,c=16777215*e.id+2*c.id+(d.wireframe?1:0);c!==ka&&(ka=c,b=!0);b&&l();if(!d.morphTargets&&0<=a.position)b&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglVertexBuffer),k(a.position),j.vertexAttribPointer(a.position,3,j.FLOAT,!1,0,0));else if(f.morphTargetBase){c=d.program.attributes;-1!==f.morphTargetBase&&0<=c.position?(j.bindBuffer(j.ARRAY_BUFFER,e.__webglMorphTargetsBuffers[f.morphTargetBase]),k(c.position),
+j.vertexAttribPointer(c.position,3,j.FLOAT,!1,0,0)):0<=c.position&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglVertexBuffer),k(c.position),j.vertexAttribPointer(c.position,3,j.FLOAT,!1,0,0));if(f.morphTargetForcedOrder.length){var h=0;i=f.morphTargetForcedOrder;for(g=f.morphTargetInfluences;h<d.numSupportedMorphTargets&&h<i.length;)0<=c["morphTarget"+h]&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglMorphTargetsBuffers[i[h]]),k(c["morphTarget"+h]),j.vertexAttribPointer(c["morphTarget"+h],3,j.FLOAT,!1,0,0)),0<=
+c["morphNormal"+h]&&d.morphNormals&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglMorphNormalsBuffers[i[h]]),k(c["morphNormal"+h]),j.vertexAttribPointer(c["morphNormal"+h],3,j.FLOAT,!1,0,0)),f.__webglMorphTargetInfluences[h]=g[i[h]],h++}else{i=[];g=f.morphTargetInfluences;var m,p=g.length;for(m=0;m<p;m++)h=g[m],0<h&&i.push([h,m]);i.length>d.numSupportedMorphTargets?(i.sort(n),i.length=d.numSupportedMorphTargets):i.length>d.numSupportedMorphNormals?i.sort(n):0===i.length&&i.push([0,0]);for(h=0;h<d.numSupportedMorphTargets;)i[h]?
+(m=i[h][1],0<=c["morphTarget"+h]&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglMorphTargetsBuffers[m]),k(c["morphTarget"+h]),j.vertexAttribPointer(c["morphTarget"+h],3,j.FLOAT,!1,0,0)),0<=c["morphNormal"+h]&&d.morphNormals&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglMorphNormalsBuffers[m]),k(c["morphNormal"+h]),j.vertexAttribPointer(c["morphNormal"+h],3,j.FLOAT,!1,0,0)),f.__webglMorphTargetInfluences[h]=g[m]):f.__webglMorphTargetInfluences[h]=0,h++}null!==d.program.uniforms.morphTargetInfluences&&j.uniform1fv(d.program.uniforms.morphTargetInfluences,
+f.__webglMorphTargetInfluences)}if(b){if(e.__webglCustomAttributesList){g=0;for(i=e.__webglCustomAttributesList.length;g<i;g++)c=e.__webglCustomAttributesList[g],0<=a[c.buffer.belongsToAttribute]&&(j.bindBuffer(j.ARRAY_BUFFER,c.buffer),k(a[c.buffer.belongsToAttribute]),j.vertexAttribPointer(a[c.buffer.belongsToAttribute],c.size,j.FLOAT,!1,0,0))}0<=a.color&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglColorBuffer),k(a.color),j.vertexAttribPointer(a.color,3,j.FLOAT,!1,0,0));0<=a.normal&&(j.bindBuffer(j.ARRAY_BUFFER,
+e.__webglNormalBuffer),k(a.normal),j.vertexAttribPointer(a.normal,3,j.FLOAT,!1,0,0));0<=a.tangent&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglTangentBuffer),k(a.tangent),j.vertexAttribPointer(a.tangent,4,j.FLOAT,!1,0,0));0<=a.uv&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglUVBuffer),k(a.uv),j.vertexAttribPointer(a.uv,2,j.FLOAT,!1,0,0));0<=a.uv2&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglUV2Buffer),k(a.uv2),j.vertexAttribPointer(a.uv2,2,j.FLOAT,!1,0,0));d.skinning&&(0<=a.skinIndex&&0<=a.skinWeight)&&(j.bindBuffer(j.ARRAY_BUFFER,
+e.__webglSkinIndicesBuffer),k(a.skinIndex),j.vertexAttribPointer(a.skinIndex,4,j.FLOAT,!1,0,0),j.bindBuffer(j.ARRAY_BUFFER,e.__webglSkinWeightsBuffer),k(a.skinWeight),j.vertexAttribPointer(a.skinWeight,4,j.FLOAT,!1,0,0));0<=a.lineDistance&&(j.bindBuffer(j.ARRAY_BUFFER,e.__webglLineDistanceBuffer),k(a.lineDistance),j.vertexAttribPointer(a.lineDistance,1,j.FLOAT,!1,0,0))}f instanceof THREE.Mesh?(d.wireframe?(J(d.wireframeLinewidth),b&&j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,e.__webglLineBuffer),j.drawElements(j.LINES,
+e.__webglLineCount,j.UNSIGNED_SHORT,0)):(b&&j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,e.__webglFaceBuffer),j.drawElements(j.TRIANGLES,e.__webglFaceCount,j.UNSIGNED_SHORT,0)),N.info.render.calls++,N.info.render.vertices+=e.__webglFaceCount,N.info.render.faces+=e.__webglFaceCount/3):f instanceof THREE.Line?(f=f.type===THREE.LineStrip?j.LINE_STRIP:j.LINES,J(d.linewidth),j.drawArrays(f,0,e.__webglLineCount),N.info.render.calls++):f instanceof THREE.ParticleSystem?(j.drawArrays(j.POINTS,0,e.__webglParticleCount),
+N.info.render.calls++,N.info.render.points+=e.__webglParticleCount):f instanceof THREE.Ribbon&&(j.drawArrays(j.TRIANGLE_STRIP,0,e.__webglVertexCount),N.info.render.calls++)}};this.render=function(a,b,c,d){if(!1===b instanceof THREE.Camera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{var e,f,g,i,h=a.__lights,k=a.fog;ta=-1;bb=!0;this.autoUpdateScene&&a.updateMatrixWorld();void 0===b.parent&&b.updateMatrixWorld();b.matrixWorldInverse.getInverse(b.matrixWorld);
+gc.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);Va.setFromMatrix(gc);this.autoUpdateObjects&&this.initWebGLObjects(a);s(this.renderPluginsPre,a,b);N.info.render.calls=0;N.info.render.vertices=0;N.info.render.faces=0;N.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);i=a.__webglObjects;d=0;for(e=i.length;d<e;d++)if(f=i[d],g=f.object,f.render=!1,g.visible&&(!(g instanceof THREE.Mesh||g instanceof
+THREE.ParticleSystem)||!g.frustumCulled||Va.intersectsObject(g))){C(g,b);var n=f,l=n.buffer,q=void 0,t=q=void 0,t=n.object.material;if(t instanceof THREE.MeshFaceMaterial)q=l.materialIndex,q=t.materials[q],q.transparent?(n.transparent=q,n.opaque=null):(n.opaque=q,n.transparent=null);else if(q=t)q.transparent?(n.transparent=q,n.opaque=null):(n.opaque=q,n.transparent=null);f.render=!0;!0===this.sortObjects&&(null!==g.renderDepth?f.z=g.renderDepth:(Qa.getPositionFromMatrix(g.matrixWorld),Qa.applyProjection(gc),
+f.z=Qa.z),f.id=g.id)}this.sortObjects&&i.sort(m);i=a.__webglObjectsImmediate;d=0;for(e=i.length;d<e;d++)f=i[d],g=f.object,g.visible&&(C(g,b),g=f.object.material,g.transparent?(f.transparent=g,f.opaque=null):(f.opaque=g,f.transparent=null));a.overrideMaterial?(d=a.overrideMaterial,this.setBlending(d.blending,d.blendEquation,d.blendSrc,d.blendDst),this.setDepthTest(d.depthTest),this.setDepthWrite(d.depthWrite),E(d.polygonOffset,d.polygonOffsetFactor,d.polygonOffsetUnits),r(a.__webglObjects,!1,"",b,
+h,k,!0,d),p(a.__webglObjectsImmediate,"",b,h,k,!1,d)):(d=null,this.setBlending(THREE.NoBlending),r(a.__webglObjects,!0,"opaque",b,h,k,!1,d),p(a.__webglObjectsImmediate,"opaque",b,h,k,!1,d),r(a.__webglObjects,!1,"transparent",b,h,k,!0,d),p(a.__webglObjectsImmediate,"transparent",b,h,k,!0,d));s(this.renderPluginsPost,a,b);c&&(c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter)&&(c instanceof THREE.WebGLRenderTargetCube?(j.bindTexture(j.TEXTURE_CUBE_MAP,c.__webglTexture),
+j.generateMipmap(j.TEXTURE_CUBE_MAP),j.bindTexture(j.TEXTURE_CUBE_MAP,null)):(j.bindTexture(j.TEXTURE_2D,c.__webglTexture),j.generateMipmap(j.TEXTURE_2D),j.bindTexture(j.TEXTURE_2D,null)));this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,b,c,d,e){var f=A(a,b,c,d,e);ka=-1;N.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,j,Va):e.render(function(a){N.renderBufferImmediate(a,f,d)})};this.initWebGLObjects=function(a){a.__webglObjects||(a.__webglObjects=
+[],a.__webglObjectsImmediate=[],a.__webglSprites=[],a.__webglFlares=[]);for(;a.__objectsAdded.length;){var b=a.__objectsAdded[0],k=a,l=void 0,m=void 0,p=void 0,r=void 0;if(!b.__webglInit)if(b.__webglInit=!0,b._modelViewMatrix=new THREE.Matrix4,b._normalMatrix=new THREE.Matrix3,void 0!==b.geometry&&void 0===b.geometry.__webglInit&&(b.geometry.__webglInit=!0,b.geometry.addEventListener("dispose",wd)),b instanceof THREE.Mesh)if(m=b.geometry,p=b.material,m instanceof THREE.Geometry){if(void 0===m.geometryGroups){var s=
+m,x=void 0,C=void 0,B=void 0,A=void 0,F=void 0,E=void 0,G={},I=s.morphTargets.length,J=s.morphNormals.length,K=p instanceof THREE.MeshFaceMaterial;s.geometryGroups={};x=0;for(C=s.faces.length;x<C;x++)B=s.faces[x],A=K?B.materialIndex:0,void 0===G[A]&&(G[A]={hash:A,counter:0}),E=G[A].hash+"_"+G[A].counter,void 0===s.geometryGroups[E]&&(s.geometryGroups[E]={faces3:[],faces4:[],materialIndex:A,vertices:0,numMorphTargets:I,numMorphNormals:J}),F=B instanceof THREE.Face3?3:4,65535<s.geometryGroups[E].vertices+
+F&&(G[A].counter+=1,E=G[A].hash+"_"+G[A].counter,void 0===s.geometryGroups[E]&&(s.geometryGroups[E]={faces3:[],faces4:[],materialIndex:A,vertices:0,numMorphTargets:I,numMorphNormals:J})),B instanceof THREE.Face3?s.geometryGroups[E].faces3.push(x):s.geometryGroups[E].faces4.push(x),s.geometryGroups[E].vertices+=F;s.geometryGroupsList=[];var L=void 0;for(L in s.geometryGroups)s.geometryGroups[L].id=pa++,s.geometryGroupsList.push(s.geometryGroups[L])}for(l in m.geometryGroups)if(r=m.geometryGroups[l],
+!r.__webglVertexBuffer){var H=r;H.__webglVertexBuffer=j.createBuffer();H.__webglNormalBuffer=j.createBuffer();H.__webglTangentBuffer=j.createBuffer();H.__webglColorBuffer=j.createBuffer();H.__webglUVBuffer=j.createBuffer();H.__webglUV2Buffer=j.createBuffer();H.__webglSkinIndicesBuffer=j.createBuffer();H.__webglSkinWeightsBuffer=j.createBuffer();H.__webglFaceBuffer=j.createBuffer();H.__webglLineBuffer=j.createBuffer();var M=void 0,P=void 0;if(H.numMorphTargets){H.__webglMorphTargetsBuffers=[];M=0;
+for(P=H.numMorphTargets;M<P;M++)H.__webglMorphTargetsBuffers.push(j.createBuffer())}if(H.numMorphNormals){H.__webglMorphNormalsBuffers=[];M=0;for(P=H.numMorphNormals;M<P;M++)H.__webglMorphNormalsBuffers.push(j.createBuffer())}N.info.memory.geometries++;d(r,b);m.verticesNeedUpdate=!0;m.morphTargetsNeedUpdate=!0;m.elementsNeedUpdate=!0;m.uvsNeedUpdate=!0;m.normalsNeedUpdate=!0;m.tangentsNeedUpdate=!0;m.colorsNeedUpdate=!0}}else m instanceof THREE.BufferGeometry&&h(m);else if(b instanceof THREE.Ribbon){if(m=
+b.geometry,!m.__webglVertexBuffer){var U=m;U.__webglVertexBuffer=j.createBuffer();U.__webglColorBuffer=j.createBuffer();U.__webglNormalBuffer=j.createBuffer();N.info.memory.geometries++;var aa=m,W=b,Y=aa.vertices.length;aa.__vertexArray=new Float32Array(3*Y);aa.__colorArray=new Float32Array(3*Y);aa.__normalArray=new Float32Array(3*Y);aa.__webglVertexCount=Y;c(aa,W);m.verticesNeedUpdate=!0;m.colorsNeedUpdate=!0;m.normalsNeedUpdate=!0}}else if(b instanceof THREE.Line){if(m=b.geometry,!m.__webglVertexBuffer)if(m instanceof
+THREE.Geometry){var Z=m;Z.__webglVertexBuffer=j.createBuffer();Z.__webglColorBuffer=j.createBuffer();Z.__webglLineDistanceBuffer=j.createBuffer();N.info.memory.geometries++;var X=m,da=b,ka=X.vertices.length;X.__vertexArray=new Float32Array(3*ka);X.__colorArray=new Float32Array(3*ka);X.__lineDistanceArray=new Float32Array(1*ka);X.__webglLineCount=ka;c(X,da);m.verticesNeedUpdate=!0;m.colorsNeedUpdate=!0;m.lineDistancesNeedUpdate=!0}else m instanceof THREE.BufferGeometry&&h(m)}else if(b instanceof THREE.ParticleSystem&&
+(m=b.geometry,!m.__webglVertexBuffer))if(m instanceof THREE.Geometry){var fa=m;fa.__webglVertexBuffer=j.createBuffer();fa.__webglColorBuffer=j.createBuffer();N.info.memory.geometries++;var ca=m,Ma=b,ha=ca.vertices.length;ca.__vertexArray=new Float32Array(3*ha);ca.__colorArray=new Float32Array(3*ha);ca.__sortArray=[];ca.__webglParticleCount=ha;c(ca,Ma);m.verticesNeedUpdate=!0;m.colorsNeedUpdate=!0}else m instanceof THREE.BufferGeometry&&h(m);if(!b.__webglActive){if(b instanceof THREE.Mesh)if(m=b.geometry,
+m instanceof THREE.BufferGeometry)q(k.__webglObjects,m,b);else{if(m instanceof THREE.Geometry)for(l in m.geometryGroups)r=m.geometryGroups[l],q(k.__webglObjects,r,b)}else b instanceof THREE.Ribbon||b instanceof THREE.Line||b instanceof THREE.ParticleSystem?(m=b.geometry,q(k.__webglObjects,m,b)):b instanceof THREE.ImmediateRenderObject||b.immediateRenderCallback?k.__webglObjectsImmediate.push({object:b,opaque:null,transparent:null}):b instanceof THREE.Sprite?k.__webglSprites.push(b):b instanceof THREE.LensFlare&&
+k.__webglFlares.push(b);b.__webglActive=!0}a.__objectsAdded.splice(0,1)}for(;a.__objectsRemoved.length;){var Na=a.__objectsRemoved[0],la=a;Na instanceof THREE.Mesh||Na instanceof THREE.ParticleSystem||Na instanceof THREE.Ribbon||Na instanceof THREE.Line?z(la.__webglObjects,Na):Na instanceof THREE.Sprite?t(la.__webglSprites,Na):Na instanceof THREE.LensFlare?t(la.__webglFlares,Na):(Na instanceof THREE.ImmediateRenderObject||Na.immediateRenderCallback)&&z(la.__webglObjectsImmediate,Na);Na.__webglActive=
+!1;a.__objectsRemoved.splice(0,1)}for(var oa=0,ra=a.__webglObjects.length;oa<ra;oa++){var ta=a.__webglObjects[oa].object,O=ta.geometry,mb=void 0,qa=void 0,ia=void 0;if(ta instanceof THREE.Mesh)if(O instanceof THREE.BufferGeometry)(O.verticesNeedUpdate||O.elementsNeedUpdate||O.uvsNeedUpdate||O.normalsNeedUpdate||O.colorsNeedUpdate||O.tangentsNeedUpdate)&&i(O,j.DYNAMIC_DRAW,!O.dynamic),O.verticesNeedUpdate=!1,O.elementsNeedUpdate=!1,O.uvsNeedUpdate=!1,O.normalsNeedUpdate=!1,O.colorsNeedUpdate=!1,O.tangentsNeedUpdate=
+!1;else{for(var Ca=0,Ka=O.geometryGroupsList.length;Ca<Ka;Ca++)if(mb=O.geometryGroupsList[Ca],ia=e(ta,mb),O.buffersNeedUpdate&&d(mb,ta),qa=ia.attributes&&y(ia),O.verticesNeedUpdate||O.morphTargetsNeedUpdate||O.elementsNeedUpdate||O.uvsNeedUpdate||O.normalsNeedUpdate||O.colorsNeedUpdate||O.tangentsNeedUpdate||qa){var sa=mb,La=ta,Pa=j.DYNAMIC_DRAW,Va=!O.dynamic,Fa=ia;if(sa.__inittedArrays){var gb=f(Fa),Wa=Fa.vertexColors?Fa.vertexColors:!1,bb=g(Fa),$a=gb===THREE.SmoothShading,D=void 0,V=void 0,Ra=void 0,
+Q=void 0,ab=void 0,Xa=void 0,Sa=void 0,nb=void 0,cb=void 0,pb=void 0,ub=void 0,R=void 0,S=void 0,T=void 0,na=void 0,Mb=void 0,Nb=void 0,Ob=void 0,xb=void 0,Pb=void 0,Qb=void 0,Rb=void 0,yb=void 0,Sb=void 0,Tb=void 0,Ub=void 0,zb=void 0,Vb=void 0,Wb=void 0,Xb=void 0,Ib=void 0,Yb=void 0,Zb=void 0,$b=void 0,Jb=void 0,xa=void 0,fc=void 0,nc=void 0,Ab=void 0,yc=void 0,db=void 0,mc=void 0,Ya=void 0,Za=void 0,oc=void 0,hc=void 0,Oa=0,Ua=0,ic=0,jc=0,Eb=0,kb=0,Aa=0,ob=0,Ta=0,ba=0,ja=0,w=0,ya=void 0,eb=sa.__vertexArray,
+Dc=sa.__uvArray,Ec=sa.__uv2Array,Fb=sa.__normalArray,Ga=sa.__tangentArray,fb=sa.__colorArray,Ha=sa.__skinIndexArray,Ia=sa.__skinWeightArray,sc=sa.__morphTargetsArrays,tc=sa.__morphNormalsArrays,od=sa.__webglCustomAttributesList,u=void 0,ac=sa.__faceArray,wb=sa.__lineArray,qb=La.geometry,Mc=qb.elementsNeedUpdate,Cc=qb.uvsNeedUpdate,Nc=qb.normalsNeedUpdate,Oc=qb.tangentsNeedUpdate,Pc=qb.colorsNeedUpdate,fd=qb.morphTargetsNeedUpdate,uc=qb.vertices,ua=sa.faces3,va=sa.faces4,lb=qb.faces,pd=qb.faceVertexUvs[0],
+qd=qb.faceVertexUvs[1],vc=qb.skinIndices,pc=qb.skinWeights,qc=qb.morphTargets,Qc=qb.morphNormals;if(qb.verticesNeedUpdate){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],R=uc[Q.a],S=uc[Q.b],T=uc[Q.c],eb[Ua]=R.x,eb[Ua+1]=R.y,eb[Ua+2]=R.z,eb[Ua+3]=S.x,eb[Ua+4]=S.y,eb[Ua+5]=S.z,eb[Ua+6]=T.x,eb[Ua+7]=T.y,eb[Ua+8]=T.z,Ua+=9;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],R=uc[Q.a],S=uc[Q.b],T=uc[Q.c],na=uc[Q.d],eb[Ua]=R.x,eb[Ua+1]=R.y,eb[Ua+2]=R.z,eb[Ua+3]=S.x,eb[Ua+4]=S.y,eb[Ua+5]=S.z,eb[Ua+6]=T.x,eb[Ua+7]=T.y,eb[Ua+
+8]=T.z,eb[Ua+9]=na.x,eb[Ua+10]=na.y,eb[Ua+11]=na.z,Ua+=12;j.bindBuffer(j.ARRAY_BUFFER,sa.__webglVertexBuffer);j.bufferData(j.ARRAY_BUFFER,eb,Pa)}if(fd){db=0;for(mc=qc.length;db<mc;db++){D=ja=0;for(V=ua.length;D<V;D++)oc=ua[D],Q=lb[oc],R=qc[db].vertices[Q.a],S=qc[db].vertices[Q.b],T=qc[db].vertices[Q.c],Ya=sc[db],Ya[ja]=R.x,Ya[ja+1]=R.y,Ya[ja+2]=R.z,Ya[ja+3]=S.x,Ya[ja+4]=S.y,Ya[ja+5]=S.z,Ya[ja+6]=T.x,Ya[ja+7]=T.y,Ya[ja+8]=T.z,Fa.morphNormals&&($a?(hc=Qc[db].vertexNormals[oc],Pb=hc.a,Qb=hc.b,Rb=hc.c):
+Rb=Qb=Pb=Qc[db].faceNormals[oc],Za=tc[db],Za[ja]=Pb.x,Za[ja+1]=Pb.y,Za[ja+2]=Pb.z,Za[ja+3]=Qb.x,Za[ja+4]=Qb.y,Za[ja+5]=Qb.z,Za[ja+6]=Rb.x,Za[ja+7]=Rb.y,Za[ja+8]=Rb.z),ja+=9;D=0;for(V=va.length;D<V;D++)oc=va[D],Q=lb[oc],R=qc[db].vertices[Q.a],S=qc[db].vertices[Q.b],T=qc[db].vertices[Q.c],na=qc[db].vertices[Q.d],Ya=sc[db],Ya[ja]=R.x,Ya[ja+1]=R.y,Ya[ja+2]=R.z,Ya[ja+3]=S.x,Ya[ja+4]=S.y,Ya[ja+5]=S.z,Ya[ja+6]=T.x,Ya[ja+7]=T.y,Ya[ja+8]=T.z,Ya[ja+9]=na.x,Ya[ja+10]=na.y,Ya[ja+11]=na.z,Fa.morphNormals&&($a?
+(hc=Qc[db].vertexNormals[oc],Pb=hc.a,Qb=hc.b,Rb=hc.c,yb=hc.d):yb=Rb=Qb=Pb=Qc[db].faceNormals[oc],Za=tc[db],Za[ja]=Pb.x,Za[ja+1]=Pb.y,Za[ja+2]=Pb.z,Za[ja+3]=Qb.x,Za[ja+4]=Qb.y,Za[ja+5]=Qb.z,Za[ja+6]=Rb.x,Za[ja+7]=Rb.y,Za[ja+8]=Rb.z,Za[ja+9]=yb.x,Za[ja+10]=yb.y,Za[ja+11]=yb.z),ja+=12;j.bindBuffer(j.ARRAY_BUFFER,sa.__webglMorphTargetsBuffers[db]);j.bufferData(j.ARRAY_BUFFER,sc[db],Pa);Fa.morphNormals&&(j.bindBuffer(j.ARRAY_BUFFER,sa.__webglMorphNormalsBuffers[db]),j.bufferData(j.ARRAY_BUFFER,tc[db],
+Pa))}}if(pc.length){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],Vb=pc[Q.a],Wb=pc[Q.b],Xb=pc[Q.c],Ia[ba]=Vb.x,Ia[ba+1]=Vb.y,Ia[ba+2]=Vb.z,Ia[ba+3]=Vb.w,Ia[ba+4]=Wb.x,Ia[ba+5]=Wb.y,Ia[ba+6]=Wb.z,Ia[ba+7]=Wb.w,Ia[ba+8]=Xb.x,Ia[ba+9]=Xb.y,Ia[ba+10]=Xb.z,Ia[ba+11]=Xb.w,Yb=vc[Q.a],Zb=vc[Q.b],$b=vc[Q.c],Ha[ba]=Yb.x,Ha[ba+1]=Yb.y,Ha[ba+2]=Yb.z,Ha[ba+3]=Yb.w,Ha[ba+4]=Zb.x,Ha[ba+5]=Zb.y,Ha[ba+6]=Zb.z,Ha[ba+7]=Zb.w,Ha[ba+8]=$b.x,Ha[ba+9]=$b.y,Ha[ba+10]=$b.z,Ha[ba+11]=$b.w,ba+=12;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],
+Vb=pc[Q.a],Wb=pc[Q.b],Xb=pc[Q.c],Ib=pc[Q.d],Ia[ba]=Vb.x,Ia[ba+1]=Vb.y,Ia[ba+2]=Vb.z,Ia[ba+3]=Vb.w,Ia[ba+4]=Wb.x,Ia[ba+5]=Wb.y,Ia[ba+6]=Wb.z,Ia[ba+7]=Wb.w,Ia[ba+8]=Xb.x,Ia[ba+9]=Xb.y,Ia[ba+10]=Xb.z,Ia[ba+11]=Xb.w,Ia[ba+12]=Ib.x,Ia[ba+13]=Ib.y,Ia[ba+14]=Ib.z,Ia[ba+15]=Ib.w,Yb=vc[Q.a],Zb=vc[Q.b],$b=vc[Q.c],Jb=vc[Q.d],Ha[ba]=Yb.x,Ha[ba+1]=Yb.y,Ha[ba+2]=Yb.z,Ha[ba+3]=Yb.w,Ha[ba+4]=Zb.x,Ha[ba+5]=Zb.y,Ha[ba+6]=Zb.z,Ha[ba+7]=Zb.w,Ha[ba+8]=$b.x,Ha[ba+9]=$b.y,Ha[ba+10]=$b.z,Ha[ba+11]=$b.w,Ha[ba+12]=Jb.x,Ha[ba+
+13]=Jb.y,Ha[ba+14]=Jb.z,Ha[ba+15]=Jb.w,ba+=16;0<ba&&(j.bindBuffer(j.ARRAY_BUFFER,sa.__webglSkinIndicesBuffer),j.bufferData(j.ARRAY_BUFFER,Ha,Pa),j.bindBuffer(j.ARRAY_BUFFER,sa.__webglSkinWeightsBuffer),j.bufferData(j.ARRAY_BUFFER,Ia,Pa))}if(Pc&&Wa){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],Sa=Q.vertexColors,nb=Q.color,3===Sa.length&&Wa===THREE.VertexColors?(Sb=Sa[0],Tb=Sa[1],Ub=Sa[2]):Ub=Tb=Sb=nb,fb[Ta]=Sb.r,fb[Ta+1]=Sb.g,fb[Ta+2]=Sb.b,fb[Ta+3]=Tb.r,fb[Ta+4]=Tb.g,fb[Ta+5]=Tb.b,fb[Ta+6]=Ub.r,fb[Ta+7]=
+Ub.g,fb[Ta+8]=Ub.b,Ta+=9;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],Sa=Q.vertexColors,nb=Q.color,4===Sa.length&&Wa===THREE.VertexColors?(Sb=Sa[0],Tb=Sa[1],Ub=Sa[2],zb=Sa[3]):zb=Ub=Tb=Sb=nb,fb[Ta]=Sb.r,fb[Ta+1]=Sb.g,fb[Ta+2]=Sb.b,fb[Ta+3]=Tb.r,fb[Ta+4]=Tb.g,fb[Ta+5]=Tb.b,fb[Ta+6]=Ub.r,fb[Ta+7]=Ub.g,fb[Ta+8]=Ub.b,fb[Ta+9]=zb.r,fb[Ta+10]=zb.g,fb[Ta+11]=zb.b,Ta+=12;0<Ta&&(j.bindBuffer(j.ARRAY_BUFFER,sa.__webglColorBuffer),j.bufferData(j.ARRAY_BUFFER,fb,Pa))}if(Oc&&qb.hasTangents){D=0;for(V=ua.length;D<V;D++)Q=
+lb[ua[D]],cb=Q.vertexTangents,Mb=cb[0],Nb=cb[1],Ob=cb[2],Ga[Aa]=Mb.x,Ga[Aa+1]=Mb.y,Ga[Aa+2]=Mb.z,Ga[Aa+3]=Mb.w,Ga[Aa+4]=Nb.x,Ga[Aa+5]=Nb.y,Ga[Aa+6]=Nb.z,Ga[Aa+7]=Nb.w,Ga[Aa+8]=Ob.x,Ga[Aa+9]=Ob.y,Ga[Aa+10]=Ob.z,Ga[Aa+11]=Ob.w,Aa+=12;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],cb=Q.vertexTangents,Mb=cb[0],Nb=cb[1],Ob=cb[2],xb=cb[3],Ga[Aa]=Mb.x,Ga[Aa+1]=Mb.y,Ga[Aa+2]=Mb.z,Ga[Aa+3]=Mb.w,Ga[Aa+4]=Nb.x,Ga[Aa+5]=Nb.y,Ga[Aa+6]=Nb.z,Ga[Aa+7]=Nb.w,Ga[Aa+8]=Ob.x,Ga[Aa+9]=Ob.y,Ga[Aa+10]=Ob.z,Ga[Aa+11]=Ob.w,Ga[Aa+
+12]=xb.x,Ga[Aa+13]=xb.y,Ga[Aa+14]=xb.z,Ga[Aa+15]=xb.w,Aa+=16;j.bindBuffer(j.ARRAY_BUFFER,sa.__webglTangentBuffer);j.bufferData(j.ARRAY_BUFFER,Ga,Pa)}if(Nc&&gb){D=0;for(V=ua.length;D<V;D++)if(Q=lb[ua[D]],ab=Q.vertexNormals,Xa=Q.normal,3===ab.length&&$a)for(xa=0;3>xa;xa++)nc=ab[xa],Fb[kb]=nc.x,Fb[kb+1]=nc.y,Fb[kb+2]=nc.z,kb+=3;else for(xa=0;3>xa;xa++)Fb[kb]=Xa.x,Fb[kb+1]=Xa.y,Fb[kb+2]=Xa.z,kb+=3;D=0;for(V=va.length;D<V;D++)if(Q=lb[va[D]],ab=Q.vertexNormals,Xa=Q.normal,4===ab.length&&$a)for(xa=0;4>xa;xa++)nc=
+ab[xa],Fb[kb]=nc.x,Fb[kb+1]=nc.y,Fb[kb+2]=nc.z,kb+=3;else for(xa=0;4>xa;xa++)Fb[kb]=Xa.x,Fb[kb+1]=Xa.y,Fb[kb+2]=Xa.z,kb+=3;j.bindBuffer(j.ARRAY_BUFFER,sa.__webglNormalBuffer);j.bufferData(j.ARRAY_BUFFER,Fb,Pa)}if(Cc&&pd&&bb){D=0;for(V=ua.length;D<V;D++)if(Ra=ua[D],pb=pd[Ra],void 0!==pb)for(xa=0;3>xa;xa++)Ab=pb[xa],Dc[ic]=Ab.x,Dc[ic+1]=Ab.y,ic+=2;D=0;for(V=va.length;D<V;D++)if(Ra=va[D],pb=pd[Ra],void 0!==pb)for(xa=0;4>xa;xa++)Ab=pb[xa],Dc[ic]=Ab.x,Dc[ic+1]=Ab.y,ic+=2;0<ic&&(j.bindBuffer(j.ARRAY_BUFFER,
+sa.__webglUVBuffer),j.bufferData(j.ARRAY_BUFFER,Dc,Pa))}if(Cc&&qd&&bb){D=0;for(V=ua.length;D<V;D++)if(Ra=ua[D],ub=qd[Ra],void 0!==ub)for(xa=0;3>xa;xa++)yc=ub[xa],Ec[jc]=yc.x,Ec[jc+1]=yc.y,jc+=2;D=0;for(V=va.length;D<V;D++)if(Ra=va[D],ub=qd[Ra],void 0!==ub)for(xa=0;4>xa;xa++)yc=ub[xa],Ec[jc]=yc.x,Ec[jc+1]=yc.y,jc+=2;0<jc&&(j.bindBuffer(j.ARRAY_BUFFER,sa.__webglUV2Buffer),j.bufferData(j.ARRAY_BUFFER,Ec,Pa))}if(Mc){D=0;for(V=ua.length;D<V;D++)ac[Eb]=Oa,ac[Eb+1]=Oa+1,ac[Eb+2]=Oa+2,Eb+=3,wb[ob]=Oa,wb[ob+
+1]=Oa+1,wb[ob+2]=Oa,wb[ob+3]=Oa+2,wb[ob+4]=Oa+1,wb[ob+5]=Oa+2,ob+=6,Oa+=3;D=0;for(V=va.length;D<V;D++)ac[Eb]=Oa,ac[Eb+1]=Oa+1,ac[Eb+2]=Oa+3,ac[Eb+3]=Oa+1,ac[Eb+4]=Oa+2,ac[Eb+5]=Oa+3,Eb+=6,wb[ob]=Oa,wb[ob+1]=Oa+1,wb[ob+2]=Oa,wb[ob+3]=Oa+3,wb[ob+4]=Oa+1,wb[ob+5]=Oa+2,wb[ob+6]=Oa+2,wb[ob+7]=Oa+3,ob+=8,Oa+=4;j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,sa.__webglFaceBuffer);j.bufferData(j.ELEMENT_ARRAY_BUFFER,ac,Pa);j.bindBuffer(j.ELEMENT_ARRAY_BUFFER,sa.__webglLineBuffer);j.bufferData(j.ELEMENT_ARRAY_BUFFER,
+wb,Pa)}if(od){xa=0;for(fc=od.length;xa<fc;xa++)if(u=od[xa],u.__original.needsUpdate){w=0;if(1===u.size)if(void 0===u.boundTo||"vertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],u.array[w]=u.value[Q.a],u.array[w+1]=u.value[Q.b],u.array[w+2]=u.value[Q.c],w+=3;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],u.array[w]=u.value[Q.a],u.array[w+1]=u.value[Q.b],u.array[w+2]=u.value[Q.c],u.array[w+3]=u.value[Q.d],w+=4}else{if("faces"===u.boundTo){D=0;for(V=ua.length;D<V;D++)ya=u.value[ua[D]],u.array[w]=
+ya,u.array[w+1]=ya,u.array[w+2]=ya,w+=3;D=0;for(V=va.length;D<V;D++)ya=u.value[va[D]],u.array[w]=ya,u.array[w+1]=ya,u.array[w+2]=ya,u.array[w+3]=ya,w+=4}}else if(2===u.size)if(void 0===u.boundTo||"vertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=S.x,u.array[w+3]=S.y,u.array[w+4]=T.x,u.array[w+5]=T.y,w+=6;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],na=u.value[Q.d],
+u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=S.x,u.array[w+3]=S.y,u.array[w+4]=T.x,u.array[w+5]=T.y,u.array[w+6]=na.x,u.array[w+7]=na.y,w+=8}else{if("faces"===u.boundTo){D=0;for(V=ua.length;D<V;D++)T=S=R=ya=u.value[ua[D]],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=S.x,u.array[w+3]=S.y,u.array[w+4]=T.x,u.array[w+5]=T.y,w+=6;D=0;for(V=va.length;D<V;D++)na=T=S=R=ya=u.value[va[D]],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=S.x,u.array[w+3]=S.y,u.array[w+4]=T.x,u.array[w+5]=T.y,u.array[w+6]=na.x,u.array[w+
+7]=na.y,w+=8}}else if(3===u.size){var $;$="c"===u.type?["r","g","b"]:["x","y","z"];if(void 0===u.boundTo||"vertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],u.array[w+8]=T[$[2]],w+=9;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],na=u.value[Q.d],
+u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],u.array[w+8]=T[$[2]],u.array[w+9]=na[$[0]],u.array[w+10]=na[$[1]],u.array[w+11]=na[$[2]],w+=12}else if("faces"===u.boundTo){D=0;for(V=ua.length;D<V;D++)T=S=R=ya=u.value[ua[D]],u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],
+u.array[w+8]=T[$[2]],w+=9;D=0;for(V=va.length;D<V;D++)na=T=S=R=ya=u.value[va[D]],u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],u.array[w+8]=T[$[2]],u.array[w+9]=na[$[0]],u.array[w+10]=na[$[1]],u.array[w+11]=na[$[2]],w+=12}else if("faceVertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)ya=u.value[ua[D]],R=ya[0],S=ya[1],T=ya[2],u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=
+R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],u.array[w+8]=T[$[2]],w+=9;D=0;for(V=va.length;D<V;D++)ya=u.value[va[D]],R=ya[0],S=ya[1],T=ya[2],na=ya[3],u.array[w]=R[$[0]],u.array[w+1]=R[$[1]],u.array[w+2]=R[$[2]],u.array[w+3]=S[$[0]],u.array[w+4]=S[$[1]],u.array[w+5]=S[$[2]],u.array[w+6]=T[$[0]],u.array[w+7]=T[$[1]],u.array[w+8]=T[$[2]],u.array[w+9]=na[$[0]],u.array[w+10]=na[$[1]],u.array[w+11]=na[$[2]],w+=12}}else if(4===u.size)if(void 0===
+u.boundTo||"vertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)Q=lb[ua[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+3]=R.w,u.array[w+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,w+=12;D=0;for(V=va.length;D<V;D++)Q=lb[va[D]],R=u.value[Q.a],S=u.value[Q.b],T=u.value[Q.c],na=u.value[Q.d],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+3]=R.w,u.array[w+
+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,u.array[w+12]=na.x,u.array[w+13]=na.y,u.array[w+14]=na.z,u.array[w+15]=na.w,w+=16}else if("faces"===u.boundTo){D=0;for(V=ua.length;D<V;D++)T=S=R=ya=u.value[ua[D]],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+3]=R.w,u.array[w+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,w+=12;
+D=0;for(V=va.length;D<V;D++)na=T=S=R=ya=u.value[va[D]],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+3]=R.w,u.array[w+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,u.array[w+12]=na.x,u.array[w+13]=na.y,u.array[w+14]=na.z,u.array[w+15]=na.w,w+=16}else if("faceVertices"===u.boundTo){D=0;for(V=ua.length;D<V;D++)ya=u.value[ua[D]],R=ya[0],S=ya[1],T=ya[2],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+
+3]=R.w,u.array[w+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,w+=12;D=0;for(V=va.length;D<V;D++)ya=u.value[va[D]],R=ya[0],S=ya[1],T=ya[2],na=ya[3],u.array[w]=R.x,u.array[w+1]=R.y,u.array[w+2]=R.z,u.array[w+3]=R.w,u.array[w+4]=S.x,u.array[w+5]=S.y,u.array[w+6]=S.z,u.array[w+7]=S.w,u.array[w+8]=T.x,u.array[w+9]=T.y,u.array[w+10]=T.z,u.array[w+11]=T.w,u.array[w+12]=na.x,u.array[w+13]=na.y,u.array[w+14]=na.z,u.array[w+
+15]=na.w,w+=16}j.bindBuffer(j.ARRAY_BUFFER,u.buffer);j.bufferData(j.ARRAY_BUFFER,u.array,Pa)}}Va&&(delete sa.__inittedArrays,delete sa.__colorArray,delete sa.__normalArray,delete sa.__tangentArray,delete sa.__uvArray,delete sa.__uv2Array,delete sa.__faceArray,delete sa.__vertexArray,delete sa.__lineArray,delete sa.__skinIndexArray,delete sa.__skinWeightArray)}}O.verticesNeedUpdate=!1;O.morphTargetsNeedUpdate=!1;O.elementsNeedUpdate=!1;O.uvsNeedUpdate=!1;O.normalsNeedUpdate=!1;O.colorsNeedUpdate=!1;
+O.tangentsNeedUpdate=!1;O.buffersNeedUpdate=!1;ia.attributes&&v(ia)}else if(ta instanceof THREE.Ribbon){ia=e(ta,O);qa=ia.attributes&&y(ia);if(O.verticesNeedUpdate||O.colorsNeedUpdate||O.normalsNeedUpdate||qa){var Gb=O,Rc=j.DYNAMIC_DRAW,Fc=void 0,Gc=void 0,Hc=void 0,Sc=void 0,za=void 0,Tc=void 0,Uc=void 0,Vc=void 0,xd=void 0,ib=void 0,zc=void 0,Da=void 0,rb=void 0,yd=Gb.vertices,zd=Gb.colors,Ad=Gb.normals,gd=yd.length,hd=zd.length,id=Ad.length,Wc=Gb.__vertexArray,Xc=Gb.__colorArray,Yc=Gb.__normalArray,
+jd=Gb.colorsNeedUpdate,kd=Gb.normalsNeedUpdate,rd=Gb.__webglCustomAttributesList;if(Gb.verticesNeedUpdate){for(Fc=0;Fc<gd;Fc++)Sc=yd[Fc],za=3*Fc,Wc[za]=Sc.x,Wc[za+1]=Sc.y,Wc[za+2]=Sc.z;j.bindBuffer(j.ARRAY_BUFFER,Gb.__webglVertexBuffer);j.bufferData(j.ARRAY_BUFFER,Wc,Rc)}if(jd){for(Gc=0;Gc<hd;Gc++)Tc=zd[Gc],za=3*Gc,Xc[za]=Tc.r,Xc[za+1]=Tc.g,Xc[za+2]=Tc.b;j.bindBuffer(j.ARRAY_BUFFER,Gb.__webglColorBuffer);j.bufferData(j.ARRAY_BUFFER,Xc,Rc)}if(kd){for(Hc=0;Hc<id;Hc++)Uc=Ad[Hc],za=3*Hc,Yc[za]=Uc.x,Yc[za+
+1]=Uc.y,Yc[za+2]=Uc.z;j.bindBuffer(j.ARRAY_BUFFER,Gb.__webglNormalBuffer);j.bufferData(j.ARRAY_BUFFER,Yc,Rc)}if(rd){Vc=0;for(xd=rd.length;Vc<xd;Vc++)if(Da=rd[Vc],Da.needsUpdate&&(void 0===Da.boundTo||"vertices"===Da.boundTo)){za=0;zc=Da.value.length;if(1===Da.size)for(ib=0;ib<zc;ib++)Da.array[ib]=Da.value[ib];else if(2===Da.size)for(ib=0;ib<zc;ib++)rb=Da.value[ib],Da.array[za]=rb.x,Da.array[za+1]=rb.y,za+=2;else if(3===Da.size)if("c"===Da.type)for(ib=0;ib<zc;ib++)rb=Da.value[ib],Da.array[za]=rb.r,
+Da.array[za+1]=rb.g,Da.array[za+2]=rb.b,za+=3;else for(ib=0;ib<zc;ib++)rb=Da.value[ib],Da.array[za]=rb.x,Da.array[za+1]=rb.y,Da.array[za+2]=rb.z,za+=3;else if(4===Da.size)for(ib=0;ib<zc;ib++)rb=Da.value[ib],Da.array[za]=rb.x,Da.array[za+1]=rb.y,Da.array[za+2]=rb.z,Da.array[za+3]=rb.w,za+=4;j.bindBuffer(j.ARRAY_BUFFER,Da.buffer);j.bufferData(j.ARRAY_BUFFER,Da.array,Rc)}}}O.verticesNeedUpdate=!1;O.colorsNeedUpdate=!1;O.normalsNeedUpdate=!1;ia.attributes&&v(ia)}else if(ta instanceof THREE.Line)if(O instanceof
+THREE.BufferGeometry)(O.verticesNeedUpdate||O.colorsNeedUpdate)&&i(O,j.DYNAMIC_DRAW,!O.dynamic),O.verticesNeedUpdate=!1,O.colorsNeedUpdate=!1;else{ia=e(ta,O);qa=ia.attributes&&y(ia);if(O.verticesNeedUpdate||O.colorsNeedUpdate||O.lineDistancesNeedUpdate||qa){var Hb=O,Zc=j.DYNAMIC_DRAW,Ic=void 0,Jc=void 0,Kc=void 0,$c=void 0,Ja=void 0,ad=void 0,Bd=Hb.vertices,Cd=Hb.colors,Dd=Hb.lineDistances,ld=Bd.length,Jd=Cd.length,Kd=Dd.length,bd=Hb.__vertexArray,cd=Hb.__colorArray,Ed=Hb.__lineDistanceArray,Ld=Hb.colorsNeedUpdate,
+Md=Hb.lineDistancesNeedUpdate,sd=Hb.__webglCustomAttributesList,dd=void 0,Fd=void 0,jb=void 0,Ac=void 0,sb=void 0,Ea=void 0;if(Hb.verticesNeedUpdate){for(Ic=0;Ic<ld;Ic++)$c=Bd[Ic],Ja=3*Ic,bd[Ja]=$c.x,bd[Ja+1]=$c.y,bd[Ja+2]=$c.z;j.bindBuffer(j.ARRAY_BUFFER,Hb.__webglVertexBuffer);j.bufferData(j.ARRAY_BUFFER,bd,Zc)}if(Ld){for(Jc=0;Jc<Jd;Jc++)ad=Cd[Jc],Ja=3*Jc,cd[Ja]=ad.r,cd[Ja+1]=ad.g,cd[Ja+2]=ad.b;j.bindBuffer(j.ARRAY_BUFFER,Hb.__webglColorBuffer);j.bufferData(j.ARRAY_BUFFER,cd,Zc)}if(Md){for(Kc=0;Kc<
+Kd;Kc++)Ed[Kc]=Dd[Kc];j.bindBuffer(j.ARRAY_BUFFER,Hb.__webglLineDistanceBuffer);j.bufferData(j.ARRAY_BUFFER,Ed,Zc)}if(sd){dd=0;for(Fd=sd.length;dd<Fd;dd++)if(Ea=sd[dd],Ea.needsUpdate&&(void 0===Ea.boundTo||"vertices"===Ea.boundTo)){Ja=0;Ac=Ea.value.length;if(1===Ea.size)for(jb=0;jb<Ac;jb++)Ea.array[jb]=Ea.value[jb];else if(2===Ea.size)for(jb=0;jb<Ac;jb++)sb=Ea.value[jb],Ea.array[Ja]=sb.x,Ea.array[Ja+1]=sb.y,Ja+=2;else if(3===Ea.size)if("c"===Ea.type)for(jb=0;jb<Ac;jb++)sb=Ea.value[jb],Ea.array[Ja]=
+sb.r,Ea.array[Ja+1]=sb.g,Ea.array[Ja+2]=sb.b,Ja+=3;else for(jb=0;jb<Ac;jb++)sb=Ea.value[jb],Ea.array[Ja]=sb.x,Ea.array[Ja+1]=sb.y,Ea.array[Ja+2]=sb.z,Ja+=3;else if(4===Ea.size)for(jb=0;jb<Ac;jb++)sb=Ea.value[jb],Ea.array[Ja]=sb.x,Ea.array[Ja+1]=sb.y,Ea.array[Ja+2]=sb.z,Ea.array[Ja+3]=sb.w,Ja+=4;j.bindBuffer(j.ARRAY_BUFFER,Ea.buffer);j.bufferData(j.ARRAY_BUFFER,Ea.array,Zc)}}}O.verticesNeedUpdate=!1;O.colorsNeedUpdate=!1;O.lineDistancesNeedUpdate=!1;ia.attributes&&v(ia)}else if(ta instanceof THREE.ParticleSystem)if(O instanceof
+THREE.BufferGeometry)(O.verticesNeedUpdate||O.colorsNeedUpdate)&&i(O,j.DYNAMIC_DRAW,!O.dynamic),O.verticesNeedUpdate=!1,O.colorsNeedUpdate=!1;else{ia=e(ta,O);qa=ia.attributes&&y(ia);if(O.verticesNeedUpdate||O.colorsNeedUpdate||ta.sortParticles||qa){var bc=O,td=j.DYNAMIC_DRAW,Lc=ta,tb=void 0,cc=void 0,dc=void 0,ga=void 0,ec=void 0,rc=void 0,ed=bc.vertices,ud=ed.length,vd=bc.colors,Gd=vd.length,wc=bc.__vertexArray,xc=bc.__colorArray,kc=bc.__sortArray,Hd=bc.verticesNeedUpdate,Id=bc.colorsNeedUpdate,
+lc=bc.__webglCustomAttributesList,Kb=void 0,Bc=void 0,ma=void 0,Lb=void 0,Ba=void 0,ea=void 0;if(Lc.sortParticles){vb.copy(gc);vb.multiply(Lc.matrixWorld);for(tb=0;tb<ud;tb++)dc=ed[tb],Qa.copy(dc),Qa.applyProjection(vb),kc[tb]=[Qa.z,tb];kc.sort(n);for(tb=0;tb<ud;tb++)dc=ed[kc[tb][1]],ga=3*tb,wc[ga]=dc.x,wc[ga+1]=dc.y,wc[ga+2]=dc.z;for(cc=0;cc<Gd;cc++)ga=3*cc,rc=vd[kc[cc][1]],xc[ga]=rc.r,xc[ga+1]=rc.g,xc[ga+2]=rc.b;if(lc){Kb=0;for(Bc=lc.length;Kb<Bc;Kb++)if(ea=lc[Kb],void 0===ea.boundTo||"vertices"===
+ea.boundTo)if(ga=0,Lb=ea.value.length,1===ea.size)for(ma=0;ma<Lb;ma++)ec=kc[ma][1],ea.array[ma]=ea.value[ec];else if(2===ea.size)for(ma=0;ma<Lb;ma++)ec=kc[ma][1],Ba=ea.value[ec],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ga+=2;else if(3===ea.size)if("c"===ea.type)for(ma=0;ma<Lb;ma++)ec=kc[ma][1],Ba=ea.value[ec],ea.array[ga]=Ba.r,ea.array[ga+1]=Ba.g,ea.array[ga+2]=Ba.b,ga+=3;else for(ma=0;ma<Lb;ma++)ec=kc[ma][1],Ba=ea.value[ec],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ea.array[ga+2]=Ba.z,ga+=3;else if(4===
+ea.size)for(ma=0;ma<Lb;ma++)ec=kc[ma][1],Ba=ea.value[ec],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ea.array[ga+2]=Ba.z,ea.array[ga+3]=Ba.w,ga+=4}}else{if(Hd)for(tb=0;tb<ud;tb++)dc=ed[tb],ga=3*tb,wc[ga]=dc.x,wc[ga+1]=dc.y,wc[ga+2]=dc.z;if(Id)for(cc=0;cc<Gd;cc++)rc=vd[cc],ga=3*cc,xc[ga]=rc.r,xc[ga+1]=rc.g,xc[ga+2]=rc.b;if(lc){Kb=0;for(Bc=lc.length;Kb<Bc;Kb++)if(ea=lc[Kb],ea.needsUpdate&&(void 0===ea.boundTo||"vertices"===ea.boundTo))if(Lb=ea.value.length,ga=0,1===ea.size)for(ma=0;ma<Lb;ma++)ea.array[ma]=
+ea.value[ma];else if(2===ea.size)for(ma=0;ma<Lb;ma++)Ba=ea.value[ma],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ga+=2;else if(3===ea.size)if("c"===ea.type)for(ma=0;ma<Lb;ma++)Ba=ea.value[ma],ea.array[ga]=Ba.r,ea.array[ga+1]=Ba.g,ea.array[ga+2]=Ba.b,ga+=3;else for(ma=0;ma<Lb;ma++)Ba=ea.value[ma],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ea.array[ga+2]=Ba.z,ga+=3;else if(4===ea.size)for(ma=0;ma<Lb;ma++)Ba=ea.value[ma],ea.array[ga]=Ba.x,ea.array[ga+1]=Ba.y,ea.array[ga+2]=Ba.z,ea.array[ga+3]=Ba.w,ga+=4}}if(Hd||
+Lc.sortParticles)j.bindBuffer(j.ARRAY_BUFFER,bc.__webglVertexBuffer),j.bufferData(j.ARRAY_BUFFER,wc,td);if(Id||Lc.sortParticles)j.bindBuffer(j.ARRAY_BUFFER,bc.__webglColorBuffer),j.bufferData(j.ARRAY_BUFFER,xc,td);if(lc){Kb=0;for(Bc=lc.length;Kb<Bc;Kb++)if(ea=lc[Kb],ea.needsUpdate||Lc.sortParticles)j.bindBuffer(j.ARRAY_BUFFER,ea.buffer),j.bufferData(j.ARRAY_BUFFER,ea.array,td)}}O.verticesNeedUpdate=!1;O.colorsNeedUpdate=!1;ia.attributes&&v(ia)}}};this.initMaterial=function(a,b,c,d){var e,f,g,i;a.addEventListener("dispose",
+X);var h,k,m,n,l;a instanceof THREE.MeshDepthMaterial?l="depth":a instanceof THREE.MeshNormalMaterial?l="normal":a instanceof THREE.MeshBasicMaterial?l="basic":a instanceof THREE.MeshLambertMaterial?l="lambert":a instanceof THREE.MeshPhongMaterial?l="phong":a instanceof THREE.LineBasicMaterial?l="basic":a instanceof THREE.LineDashedMaterial?l="dashed":a instanceof THREE.ParticleBasicMaterial&&(l="particle_basic");if(l){var p=THREE.ShaderLib[l];a.uniforms=THREE.UniformsUtils.clone(p.uniforms);a.vertexShader=
+p.vertexShader;a.fragmentShader=p.fragmentShader}var q,s,r;e=g=s=r=p=0;for(f=b.length;e<f;e++)q=b[e],q.onlyShadow||(q instanceof THREE.DirectionalLight&&g++,q instanceof THREE.PointLight&&s++,q instanceof THREE.SpotLight&&r++,q instanceof THREE.HemisphereLight&&p++);e=g;f=s;g=r;i=p;p=q=0;for(r=b.length;p<r;p++)s=b[p],s.castShadow&&(s instanceof THREE.SpotLight&&q++,s instanceof THREE.DirectionalLight&&!s.shadowCascade&&q++);n=q;tc&&d&&d.useVertexTexture?m=1024:(b=j.getParameter(j.MAX_VERTEX_UNIFORM_VECTORS),
+b=Math.floor((b-20)/4),void 0!==d&&d instanceof THREE.SkinnedMesh&&(b=Math.min(d.bones.length,b),b<d.bones.length&&console.warn("WebGLRenderer: too many bones - "+d.bones.length+", this GPU supports just "+b+" (try OpenGL instead of ANGLE)")),m=b);a:{s=a.fragmentShader;r=a.vertexShader;p=a.uniforms;b=a.attributes;q=a.defines;var c={map:!!a.map,envMap:!!a.envMap,lightMap:!!a.lightMap,bumpMap:!!a.bumpMap,normalMap:!!a.normalMap,specularMap:!!a.specularMap,vertexColors:a.vertexColors,fog:c,useFog:a.fog,
+fogExp:c instanceof THREE.FogExp2,sizeAttenuation:a.sizeAttenuation,skinning:a.skinning,maxBones:m,useVertexTexture:tc&&d&&d.useVertexTexture,boneTextureWidth:d&&d.boneTextureWidth,boneTextureHeight:d&&d.boneTextureHeight,morphTargets:a.morphTargets,morphNormals:a.morphNormals,maxMorphTargets:this.maxMorphTargets,maxMorphNormals:this.maxMorphNormals,maxDirLights:e,maxPointLights:f,maxSpotLights:g,maxHemiLights:i,maxShadows:n,shadowMapEnabled:this.shadowMapEnabled&&d.receiveShadow,shadowMapType:this.shadowMapType,
+shadowMapDebug:this.shadowMapDebug,shadowMapCascade:this.shadowMapCascade,alphaTest:a.alphaTest,metal:a.metal,perPixel:a.perPixel,wrapAround:a.wrapAround,doubleSided:a.side===THREE.DoubleSide,flipSided:a.side===THREE.BackSide},t,v,y,d=[];l?d.push(l):(d.push(s),d.push(r));for(v in q)d.push(v),d.push(q[v]);for(t in c)d.push(t),d.push(c[t]);l=d.join();t=0;for(v=Ma.length;t<v;t++)if(d=Ma[t],d.code===l){d.usedTimes++;k=d.program;break a}t="SHADOWMAP_TYPE_BASIC";c.shadowMapType===THREE.PCFShadowMap?t="SHADOWMAP_TYPE_PCF":
+c.shadowMapType===THREE.PCFSoftShadowMap&&(t="SHADOWMAP_TYPE_PCF_SOFT");v=[];for(y in q)d=q[y],!1!==d&&(d="#define "+y+" "+d,v.push(d));d=v.join("\n");y=j.createProgram();v=["precision "+fa+" float;",d,sc?"#define VERTEX_TEXTURES":"",N.gammaInput?"#define GAMMA_INPUT":"",N.gammaOutput?"#define GAMMA_OUTPUT":"",N.physicallyBasedShading?"#define PHYSICALLY_BASED_SHADING":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SPOT_LIGHTS "+c.maxSpotLights,
+"#define MAX_HEMI_LIGHTS "+c.maxHemiLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.bumpMap?"#define USE_BUMPMAP":"",c.normalMap?"#define USE_NORMALMAP":"",c.specularMap?"#define USE_SPECULARMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.useVertexTexture?"#define BONE_TEXTURE":"",c.boneTextureWidth?"#define N_BONE_PIXEL_X "+c.boneTextureWidth.toFixed(1):
+"",c.boneTextureHeight?"#define N_BONE_PIXEL_Y "+c.boneTextureHeight.toFixed(1):"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.morphNormals?"#define USE_MORPHNORMALS":"",c.perPixel?"#define PHONG_PER_PIXEL":"",c.wrapAround?"#define WRAP_AROUND":"",c.doubleSided?"#define DOUBLE_SIDED":"",c.flipSided?"#define FLIP_SIDED":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapEnabled?"#define "+t:"",c.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",c.shadowMapCascade?"#define SHADOWMAP_CASCADE":
+"",c.sizeAttenuation?"#define USE_SIZEATTENUATION":"","uniform mat4 modelMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\n#ifdef USE_MORPHNORMALS\nattribute vec3 morphNormal0;\nattribute vec3 morphNormal1;\nattribute vec3 morphNormal2;\nattribute vec3 morphNormal3;\n#else\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+t=["precision "+fa+" float;",c.bumpMap||c.normalMap?"#extension GL_OES_standard_derivatives : enable":"",d,"#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SPOT_LIGHTS "+c.maxSpotLights,"#define MAX_HEMI_LIGHTS "+c.maxHemiLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",N.gammaInput?"#define GAMMA_INPUT":"",N.gammaOutput?"#define GAMMA_OUTPUT":"",N.physicallyBasedShading?"#define PHYSICALLY_BASED_SHADING":
+"",c.useFog&&c.fog?"#define USE_FOG":"",c.useFog&&c.fogExp?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.bumpMap?"#define USE_BUMPMAP":"",c.normalMap?"#define USE_NORMALMAP":"",c.specularMap?"#define USE_SPECULARMAP":"",c.vertexColors?"#define USE_COLOR":"",c.metal?"#define METAL":"",c.perPixel?"#define PHONG_PER_PIXEL":"",c.wrapAround?"#define WRAP_AROUND":"",c.doubleSided?"#define DOUBLE_SIDED":"",c.flipSided?"#define FLIP_SIDED":
+"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapEnabled?"#define "+t:"",c.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",c.shadowMapCascade?"#define SHADOWMAP_CASCADE":"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");t=B("fragment",t+s);v=B("vertex",v+r);j.attachShader(y,v);j.attachShader(y,t);j.linkProgram(y);j.getProgramParameter(y,j.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+j.getProgramParameter(y,j.VALIDATE_STATUS)+", gl error ["+
+j.getError()+"]");j.deleteShader(t);j.deleteShader(v);y.uniforms={};y.attributes={};var x;t="viewMatrix modelViewMatrix projectionMatrix normalMatrix modelMatrix cameraPosition morphTargetInfluences".split(" ");c.useVertexTexture?t.push("boneTexture"):t.push("boneGlobalMatrices");for(x in p)t.push(x);x=t;t=0;for(v=x.length;t<v;t++)p=x[t],y.uniforms[p]=j.getUniformLocation(y,p);t="position normal uv uv2 tangent color skinIndex skinWeight lineDistance".split(" ");for(x=0;x<c.maxMorphTargets;x++)t.push("morphTarget"+
+x);for(x=0;x<c.maxMorphNormals;x++)t.push("morphNormal"+x);for(k in b)t.push(k);k=t;x=0;for(b=k.length;x<b;x++)t=k[x],y.attributes[t]=j.getAttribLocation(y,t);y.id=Na++;Ma.push({program:y,code:l,usedTimes:1});N.info.memory.programs=Ma.length;k=y}a.program=k;x=a.program.attributes;if(a.morphTargets){a.numSupportedMorphTargets=0;b="morphTarget";for(k=0;k<this.maxMorphTargets;k++)y=b+k,0<=x[y]&&a.numSupportedMorphTargets++}if(a.morphNormals){a.numSupportedMorphNormals=0;b="morphNormal";for(k=0;k<this.maxMorphNormals;k++)y=
+b+k,0<=x[y]&&a.numSupportedMorphNormals++}a.uniformsList=[];for(h in a.uniforms)a.uniformsList.push([a.uniforms[h],h])};this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?j.disable(j.CULL_FACE):(b===THREE.FrontFaceDirectionCW?j.frontFace(j.CW):j.frontFace(j.CCW),a===THREE.CullFaceBack?j.cullFace(j.BACK):a===THREE.CullFaceFront?j.cullFace(j.FRONT):j.cullFace(j.FRONT_AND_BACK),j.enable(j.CULL_FACE))};this.setMaterialFaces=function(a){var b=a.side===THREE.DoubleSide,a=a.side===THREE.BackSide;da!==
+b&&(b?j.disable(j.CULL_FACE):j.enable(j.CULL_FACE),da=b);la!==a&&(a?j.frontFace(j.CW):j.frontFace(j.CCW),la=a)};this.setDepthTest=function(a){ia!==a&&(a?j.enable(j.DEPTH_TEST):j.disable(j.DEPTH_TEST),ia=a)};this.setDepthWrite=function(a){Wa!==a&&(j.depthMask(a),Wa=a)};this.setBlending=function(a,b,c,d){a!==Z&&(a===THREE.NoBlending?j.disable(j.BLEND):a===THREE.AdditiveBlending?(j.enable(j.BLEND),j.blendEquation(j.FUNC_ADD),j.blendFunc(j.SRC_ALPHA,j.ONE)):a===THREE.SubtractiveBlending?(j.enable(j.BLEND),
+j.blendEquation(j.FUNC_ADD),j.blendFunc(j.ZERO,j.ONE_MINUS_SRC_COLOR)):a===THREE.MultiplyBlending?(j.enable(j.BLEND),j.blendEquation(j.FUNC_ADD),j.blendFunc(j.ZERO,j.SRC_COLOR)):a===THREE.CustomBlending?j.enable(j.BLEND):(j.enable(j.BLEND),j.blendEquationSeparate(j.FUNC_ADD,j.FUNC_ADD),j.blendFuncSeparate(j.SRC_ALPHA,j.ONE_MINUS_SRC_ALPHA,j.ONE,j.ONE_MINUS_SRC_ALPHA)),Z=a);if(a===THREE.CustomBlending){if(b!==oa&&(j.blendEquation(L(b)),oa=b),c!==gb||d!==nb)j.blendFunc(L(c),L(d)),gb=c,nb=d}else nb=
+gb=oa=null};this.setTexture=function(a,b){if(a.needsUpdate){a.__webglInit||(a.__webglInit=!0,a.addEventListener("dispose",Oc),a.__webglTexture=j.createTexture(),N.info.memory.textures++);j.activeTexture(j.TEXTURE0+b);j.bindTexture(j.TEXTURE_2D,a.__webglTexture);j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL,a.flipY);j.pixelStorei(j.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);j.pixelStorei(j.UNPACK_ALIGNMENT,a.unpackAlignment);var c=a.image,d=0===(c.width&c.width-1)&&0===(c.height&c.height-1),e=L(a.format),
+f=L(a.type);W(j.TEXTURE_2D,a,d);var g=a.mipmaps;if(a instanceof THREE.DataTexture)if(0<g.length&&d){for(var i=0,h=g.length;i<h;i++)c=g[i],j.texImage2D(j.TEXTURE_2D,i,e,c.width,c.height,0,e,f,c.data);a.generateMipmaps=!1}else j.texImage2D(j.TEXTURE_2D,0,e,c.width,c.height,0,e,f,c.data);else if(a instanceof THREE.CompressedTexture){i=0;for(h=g.length;i<h;i++)c=g[i],j.compressedTexImage2D(j.TEXTURE_2D,i,e,c.width,c.height,0,c.data)}else if(0<g.length&&d){i=0;for(h=g.length;i<h;i++)c=g[i],j.texImage2D(j.TEXTURE_2D,
+i,e,e,f,c);a.generateMipmaps=!1}else j.texImage2D(j.TEXTURE_2D,0,e,e,f,a.image);a.generateMipmaps&&d&&j.generateMipmap(j.TEXTURE_2D);a.needsUpdate=!1;if(a.onUpdate)a.onUpdate()}else j.activeTexture(j.TEXTURE0+b),j.bindTexture(j.TEXTURE_2D,a.__webglTexture)};this.setRenderTarget=function(a){var b=a instanceof THREE.WebGLRenderTargetCube;if(a&&!a.__webglFramebuffer){void 0===a.depthBuffer&&(a.depthBuffer=!0);void 0===a.stencilBuffer&&(a.stencilBuffer=!0);a.addEventListener("dispose",P);a.__webglTexture=
+j.createTexture();N.info.memory.textures++;var c=0===(a.width&a.width-1)&&0===(a.height&a.height-1),d=L(a.format),e=L(a.type);if(b){a.__webglFramebuffer=[];a.__webglRenderbuffer=[];j.bindTexture(j.TEXTURE_CUBE_MAP,a.__webglTexture);W(j.TEXTURE_CUBE_MAP,a,c);for(var f=0;6>f;f++){a.__webglFramebuffer[f]=j.createFramebuffer();a.__webglRenderbuffer[f]=j.createRenderbuffer();j.texImage2D(j.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width,a.height,0,d,e,null);var g=a,i=j.TEXTURE_CUBE_MAP_POSITIVE_X+f;j.bindFramebuffer(j.FRAMEBUFFER,
+a.__webglFramebuffer[f]);j.framebufferTexture2D(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,i,g.__webglTexture,0);F(a.__webglRenderbuffer[f],a)}c&&j.generateMipmap(j.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=j.createFramebuffer(),a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:j.createRenderbuffer(),j.bindTexture(j.TEXTURE_2D,a.__webglTexture),W(j.TEXTURE_2D,a,c),j.texImage2D(j.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null),d=j.TEXTURE_2D,j.bindFramebuffer(j.FRAMEBUFFER,a.__webglFramebuffer),
+j.framebufferTexture2D(j.FRAMEBUFFER,j.COLOR_ATTACHMENT0,d,a.__webglTexture,0),a.shareDepthFrom?a.depthBuffer&&!a.stencilBuffer?j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_ATTACHMENT,j.RENDERBUFFER,a.__webglRenderbuffer):a.depthBuffer&&a.stencilBuffer&&j.framebufferRenderbuffer(j.FRAMEBUFFER,j.DEPTH_STENCIL_ATTACHMENT,j.RENDERBUFFER,a.__webglRenderbuffer):F(a.__webglRenderbuffer,a),c&&j.generateMipmap(j.TEXTURE_2D);b?j.bindTexture(j.TEXTURE_CUBE_MAP,null):j.bindTexture(j.TEXTURE_2D,null);j.bindRenderbuffer(j.RENDERBUFFER,
+null);j.bindFramebuffer(j.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=fc,a=Ab,d=Ib,e=Jb);b!==Pa&&(j.bindFramebuffer(j.FRAMEBUFFER,b),j.viewport(d,e,c,a),Pa=b);mc=c;pb=a};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin);this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)};THREE.WebGLRenderTarget=function(a,b,c){THREE.EventDispatcher.call(this);this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);
+this.format=void 0!==c.format?c.format:THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0;this.shareDepthFrom=null};
+THREE.WebGLRenderTarget.prototype.clone=function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;a.shareDepthFrom=this.shareDepthFrom;return a};
+THREE.WebGLRenderTarget.prototype.dispose=function(){this.dispatchEvent({type:"dispose"})};THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(a){this.positionWorld.copy(a.positionWorld);this.positionScreen.copy(a.positionScreen)};THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidModel=new THREE.Vector3;this.normalModel=new THREE.Vector3;this.normalModelView=new THREE.Vector3;this.vertexNormalsLength=0;this.vertexNormalsModel=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.vertexNormalsModelView=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.material=this.color=null;this.uvs=[[]];this.z=null};THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidModel=new THREE.Vector3;this.normalModel=new THREE.Vector3;this.normalModelView=new THREE.Vector3;this.vertexNormalsLength=0;this.vertexNormalsModel=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.vertexNormalsModelView=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];
+this.material=this.color=null;this.uvs=[[]];this.z=null};THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=this.object=null;this.scale=new THREE.Vector2;this.material=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.material=null};THREE.GeometryUtils={merge:function(a,b){var c,d,e=a.vertices.length,f=b instanceof THREE.Mesh?b.geometry:b,g=a.vertices,h=f.vertices,i=a.faces,k=f.faces,l=a.faceVertexUvs[0],f=f.faceVertexUvs[0];b instanceof THREE.Mesh&&(b.matrixAutoUpdate&&b.updateMatrix(),c=b.matrix,d=new THREE.Matrix3,d.getInverse(c),d.transpose());for(var m=0,n=h.length;m<n;m++){var s=h[m].clone();c&&s.applyMatrix4(c);g.push(s)}m=0;for(n=k.length;m<n;m++){var s=k[m],r,p,q=s.vertexNormals,y=s.vertexColors;s instanceof THREE.Face3?
+r=new THREE.Face3(s.a+e,s.b+e,s.c+e):s instanceof THREE.Face4&&(r=new THREE.Face4(s.a+e,s.b+e,s.c+e,s.d+e));r.normal.copy(s.normal);d&&r.normal.applyMatrix3(d).normalize();g=0;for(h=q.length;g<h;g++)p=q[g].clone(),d&&p.applyMatrix3(d).normalize(),r.vertexNormals.push(p);r.color.copy(s.color);g=0;for(h=y.length;g<h;g++)p=y[g],r.vertexColors.push(p.clone());r.materialIndex=s.materialIndex;r.centroid.copy(s.centroid);c&&r.centroid.applyMatrix4(c);i.push(r)}m=0;for(n=f.length;m<n;m++){c=f[m];d=[];g=0;
+for(h=c.length;g<h;g++)d.push(new THREE.Vector2(c[g].x,c[g].y));l.push(d)}},removeMaterials:function(a,b){for(var c={},d=0,e=b.length;d<e;d++)c[b[d]]=!0;for(var f,g=[],d=0,e=a.faces.length;d<e;d++)f=a.faces[d],f.materialIndex in c||g.push(f);a.faces=g},randomPointInTriangle:function(a,b,c){var d,e,f,g=new THREE.Vector3,h=THREE.GeometryUtils.__v1;d=THREE.GeometryUtils.random();e=THREE.GeometryUtils.random();1<d+e&&(d=1-d,e=1-e);f=1-d-e;g.copy(a);g.multiplyScalar(d);h.copy(b);h.multiplyScalar(e);g.add(h);
+h.copy(c);h.multiplyScalar(f);g.add(h);return g},randomPointInFace:function(a,b,c){var d,e,f;if(a instanceof THREE.Face3)return d=b.vertices[a.a],e=b.vertices[a.b],f=b.vertices[a.c],THREE.GeometryUtils.randomPointInTriangle(d,e,f);if(a instanceof THREE.Face4){d=b.vertices[a.a];e=b.vertices[a.b];f=b.vertices[a.c];var b=b.vertices[a.d],g;c?a._area1&&a._area2?(c=a._area1,g=a._area2):(c=THREE.GeometryUtils.triangleArea(d,e,b),g=THREE.GeometryUtils.triangleArea(e,f,b),a._area1=c,a._area2=g):(c=THREE.GeometryUtils.triangleArea(d,
+e,b),g=THREE.GeometryUtils.triangleArea(e,f,b));return THREE.GeometryUtils.random()*(c+g)<c?THREE.GeometryUtils.randomPointInTriangle(d,e,b):THREE.GeometryUtils.randomPointInTriangle(e,f,b)}},randomPointsInGeometry:function(a,b){function c(a){function b(c,d){if(d<c)return c;var e=c+Math.floor((d-c)/2);return k[e]>a?b(c,e-1):k[e]<a?b(e+1,d):e}return b(0,k.length-1)}var d,e,f=a.faces,g=a.vertices,h=f.length,i=0,k=[],l,m,n,s;for(e=0;e<h;e++)d=f[e],d instanceof THREE.Face3?(l=g[d.a],m=g[d.b],n=g[d.c],
+d._area=THREE.GeometryUtils.triangleArea(l,m,n)):d instanceof THREE.Face4&&(l=g[d.a],m=g[d.b],n=g[d.c],s=g[d.d],d._area1=THREE.GeometryUtils.triangleArea(l,m,s),d._area2=THREE.GeometryUtils.triangleArea(m,n,s),d._area=d._area1+d._area2),i+=d._area,k[e]=i;d=[];for(e=0;e<b;e++)g=THREE.GeometryUtils.random()*i,g=c(g),d[e]=THREE.GeometryUtils.randomPointInFace(f[g],a,!0);return d},triangleArea:function(a,b,c){var d=THREE.GeometryUtils.__v1,e=THREE.GeometryUtils.__v2;d.subVectors(b,a);e.subVectors(c,a);
+d.cross(e);return 0.5*d.length()},center:function(a){a.computeBoundingBox();var b=a.boundingBox,c=new THREE.Vector3;c.addVectors(b.min,b.max);c.multiplyScalar(-0.5);a.applyMatrix((new THREE.Matrix4).makeTranslation(c.x,c.y,c.z));a.computeBoundingBox();return c},normalizeUVs:function(a){for(var a=a.faceVertexUvs[0],b=0,c=a.length;b<c;b++)for(var d=a[b],e=0,f=d.length;e<f;e++)1!==d[e].x&&(d[e].x-=Math.floor(d[e].x)),1!==d[e].y&&(d[e].y-=Math.floor(d[e].y))},triangulateQuads:function(a){var b,c,d,e,
+f=[],g=[],h=[];b=0;for(c=a.faceUvs.length;b<c;b++)g[b]=[];b=0;for(c=a.faceVertexUvs.length;b<c;b++)h[b]=[];b=0;for(c=a.faces.length;b<c;b++)if(d=a.faces[b],d instanceof THREE.Face4){e=d.a;var i=d.b,k=d.c,l=d.d,m=new THREE.Face3,n=new THREE.Face3;m.color.copy(d.color);n.color.copy(d.color);m.materialIndex=d.materialIndex;n.materialIndex=d.materialIndex;m.a=e;m.b=i;m.c=l;n.a=i;n.b=k;n.c=l;4===d.vertexColors.length&&(m.vertexColors[0]=d.vertexColors[0].clone(),m.vertexColors[1]=d.vertexColors[1].clone(),
+m.vertexColors[2]=d.vertexColors[3].clone(),n.vertexColors[0]=d.vertexColors[1].clone(),n.vertexColors[1]=d.vertexColors[2].clone(),n.vertexColors[2]=d.vertexColors[3].clone());f.push(m,n);d=0;for(e=a.faceVertexUvs.length;d<e;d++)a.faceVertexUvs[d].length&&(m=a.faceVertexUvs[d][b],i=m[1],k=m[2],l=m[3],m=[m[0].clone(),i.clone(),l.clone()],i=[i.clone(),k.clone(),l.clone()],h[d].push(m,i));d=0;for(e=a.faceUvs.length;d<e;d++)a.faceUvs[d].length&&(i=a.faceUvs[d][b],g[d].push(i,i))}else{f.push(d);d=0;for(e=
+a.faceUvs.length;d<e;d++)g[d].push(a.faceUvs[d][b]);d=0;for(e=a.faceVertexUvs.length;d<e;d++)h[d].push(a.faceVertexUvs[d][b])}a.faces=f;a.faceUvs=g;a.faceVertexUvs=h;a.computeCentroids();a.computeFaceNormals();a.computeVertexNormals();a.hasTangents&&a.computeTangents()},setMaterialIndex:function(a,b,c,d){a=a.faces;d=d||a.length-1;for(c=c||0;c<=d;c++)a[c].materialIndex=b}};THREE.GeometryUtils.random=THREE.Math.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;THREE.GeometryUtils.__v2=new THREE.Vector3;THREE.ImageUtils={crossOrigin:"anonymous",loadTexture:function(a,b,c,d){var e=new Image,f=new THREE.Texture(e,b),b=new THREE.ImageLoader;b.addEventListener("load",function(a){f.image=a.content;f.needsUpdate=!0;c&&c(f)});b.addEventListener("error",function(a){d&&d(a.message)});b.crossOrigin=this.crossOrigin;b.load(a,e);f.sourceFile=a;return f},loadCompressedTexture:function(a,b,c,d){var e=new THREE.CompressedTexture;e.mapping=b;var f=new XMLHttpRequest;f.onload=function(){var a=THREE.ImageUtils.parseDDS(f.response,
+!0);e.format=a.format;e.mipmaps=a.mipmaps;e.image.width=a.width;e.image.height=a.height;e.generateMipmaps=!1;e.needsUpdate=!0;c&&c(e)};f.onerror=d;f.open("GET",a,!0);f.responseType="arraybuffer";f.send(null);return e},loadTextureCube:function(a,b,c,d){var e=[];e.loadCount=0;var f=new THREE.Texture;f.image=e;void 0!==b&&(f.mapping=b);f.flipY=!1;for(var b=0,g=a.length;b<g;++b){var h=new Image;e[b]=h;h.onload=function(){e.loadCount+=1;6===e.loadCount&&(f.needsUpdate=!0,c&&c(f))};h.onerror=d;h.crossOrigin=
+this.crossOrigin;h.src=a[b]}return f},loadCompressedTextureCube:function(a,b,c,d){var e=[];e.loadCount=0;var f=new THREE.CompressedTexture;f.image=e;void 0!==b&&(f.mapping=b);f.flipY=!1;f.generateMipmaps=!1;b=function(a,b){return function(){var d=THREE.ImageUtils.parseDDS(a.response,!0);b.format=d.format;b.mipmaps=d.mipmaps;b.width=d.width;b.height=d.height;e.loadCount+=1;6===e.loadCount&&(f.format=d.format,f.needsUpdate=!0,c&&c(f))}};if(a instanceof Array)for(var g=0,h=a.length;g<h;++g){var i={};
+e[g]=i;var k=new XMLHttpRequest;k.onload=b(k,i);k.onerror=d;i=a[g];k.open("GET",i,!0);k.responseType="arraybuffer";k.send(null)}else k=new XMLHttpRequest,k.onload=function(){var a=THREE.ImageUtils.parseDDS(k.response,!0);if(a.isCubemap){for(var b=a.mipmaps.length/a.mipmapCount,d=0;d<b;d++){e[d]={mipmaps:[]};for(var g=0;g<a.mipmapCount;g++)e[d].mipmaps.push(a.mipmaps[d*a.mipmapCount+g]),e[d].format=a.format,e[d].width=a.width,e[d].height=a.height}f.format=a.format;f.needsUpdate=!0;c&&c(f)}},k.onerror=
+d,k.open("GET",a,!0),k.responseType="arraybuffer",k.send(null);return f},parseDDS:function(a,b){function c(a){return a.charCodeAt(0)+(a.charCodeAt(1)<<8)+(a.charCodeAt(2)<<16)+(a.charCodeAt(3)<<24)}var d={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},e=c("DXT1"),f=c("DXT3"),g=c("DXT5"),h=new Int32Array(a,0,31);if(542327876!==h[0])return console.error("ImageUtils.parseDDS(): Invalid magic number in DDS header"),d;if(!h[20]&4)return console.error("ImageUtils.parseDDS(): Unsupported format, must contain a FourCC code"),
+d;var i=h[21];switch(i){case e:e=8;d.format=THREE.RGB_S3TC_DXT1_Format;break;case f:e=16;d.format=THREE.RGBA_S3TC_DXT3_Format;break;case g:e=16;d.format=THREE.RGBA_S3TC_DXT5_Format;break;default:return console.error("ImageUtils.parseDDS(): Unsupported FourCC code: ",String.fromCharCode(i&255,i>>8&255,i>>16&255,i>>24&255)),d}d.mipmapCount=1;h[2]&131072&&!1!==b&&(d.mipmapCount=Math.max(1,h[7]));d.isCubemap=h[28]&512?!0:!1;d.width=h[4];d.height=h[3];for(var h=h[1]+4,f=d.width,g=d.height,i=d.isCubemap?
+6:1,k=0;k<i;k++){for(var l=0;l<d.mipmapCount;l++){var m=Math.max(4,f)/4*Math.max(4,g)/4*e,n={data:new Uint8Array(a,h,m),width:f,height:g};d.mipmaps.push(n);h+=m;f=Math.max(0.5*f,1);g=Math.max(0.5*g,1)}f=d.width;g=d.height}return d},getNormalMap:function(a,b){var c=function(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);return[a[0]/b,a[1]/b,a[2]/b]},b=b|1,d=a.width,e=a.height,f=document.createElement("canvas");f.width=d;f.height=e;var g=f.getContext("2d");g.drawImage(a,0,0);for(var h=g.getImageData(0,
+0,d,e).data,i=g.createImageData(d,e),k=i.data,l=0;l<d;l++)for(var m=0;m<e;m++){var n=0>m-1?0:m-1,s=m+1>e-1?e-1:m+1,r=0>l-1?0:l-1,p=l+1>d-1?d-1:l+1,q=[],y=[0,0,h[4*(m*d+l)]/255*b];q.push([-1,0,h[4*(m*d+r)]/255*b]);q.push([-1,-1,h[4*(n*d+r)]/255*b]);q.push([0,-1,h[4*(n*d+l)]/255*b]);q.push([1,-1,h[4*(n*d+p)]/255*b]);q.push([1,0,h[4*(m*d+p)]/255*b]);q.push([1,1,h[4*(s*d+p)]/255*b]);q.push([0,1,h[4*(s*d+l)]/255*b]);q.push([-1,1,h[4*(s*d+r)]/255*b]);n=[];r=q.length;for(s=0;s<r;s++){var p=q[s],v=q[(s+1)%
+r],p=[p[0]-y[0],p[1]-y[1],p[2]-y[2]],v=[v[0]-y[0],v[1]-y[1],v[2]-y[2]];n.push(c([p[1]*v[2]-p[2]*v[1],p[2]*v[0]-p[0]*v[2],p[0]*v[1]-p[1]*v[0]]))}q=[0,0,0];for(s=0;s<n.length;s++)q[0]+=n[s][0],q[1]+=n[s][1],q[2]+=n[s][2];q[0]/=n.length;q[1]/=n.length;q[2]/=n.length;y=4*(m*d+l);k[y]=255*((q[0]+1)/2)|0;k[y+1]=255*((q[1]+1)/2)|0;k[y+2]=255*q[2]|0;k[y+3]=255}g.putImageData(i,0,0);return f},generateDataTexture:function(a,b,c){for(var d=a*b,e=new Uint8Array(3*d),f=Math.floor(255*c.r),g=Math.floor(255*c.g),
+c=Math.floor(255*c.b),h=0;h<d;h++)e[3*h]=f,e[3*h+1]=g,e[3*h+2]=c;a=new THREE.DataTexture(e,a,b,THREE.RGBFormat);a.needsUpdate=!0;return a}};THREE.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new THREE.Object3D,d=0,e=b.length;d<e;d++)c.add(new THREE.Mesh(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new THREE.Matrix4;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},loadFace:function(a){var b=a.familyName.toLowerCase();this.faces[b]=this.faces[b]||{};this.faces[b][a.cssFontWeight]=this.faces[b][a.cssFontWeight]||{};this.faces[b][a.cssFontWeight][a.cssFontStyle]=a;return this.faces[b][a.cssFontWeight][a.cssFontStyle]=a},drawText:function(a){for(var b=this.getFace(),c=this.size/b.resolution,d=
+0,e=String(a).split(""),f=e.length,g=[],a=0;a<f;a++){var h=new THREE.Path,h=this.extractGlyphPoints(e[a],b,c,d,h),d=d+h.offset;g.push(h.path)}return{paths:g,offset:d/2}},extractGlyphPoints:function(a,b,c,d,e){var f=[],g,h,i,k,l,m,n,s,r,p,q,y=b.glyphs[a]||b.glyphs["?"];if(y){if(y.o){b=y._cachedOutline||(y._cachedOutline=y.o.split(" "));k=b.length;for(a=0;a<k;)switch(i=b[a++],i){case "m":i=b[a++]*c+d;l=b[a++]*c;e.moveTo(i,l);break;case "l":i=b[a++]*c+d;l=b[a++]*c;e.lineTo(i,l);break;case "q":i=b[a++]*
+c+d;l=b[a++]*c;s=b[a++]*c+d;r=b[a++]*c;e.quadraticCurveTo(s,r,i,l);if(g=f[f.length-1]){m=g.x;n=g.y;g=1;for(h=this.divisions;g<=h;g++){var v=g/h;THREE.Shape.Utils.b2(v,m,s,i);THREE.Shape.Utils.b2(v,n,r,l)}}break;case "b":if(i=b[a++]*c+d,l=b[a++]*c,s=b[a++]*c+d,r=b[a++]*-c,p=b[a++]*c+d,q=b[a++]*-c,e.bezierCurveTo(i,l,s,r,p,q),g=f[f.length-1]){m=g.x;n=g.y;g=1;for(h=this.divisions;g<=h;g++)v=g/h,THREE.Shape.Utils.b3(v,m,s,p,i),THREE.Shape.Utils.b3(v,n,r,q,l)}}}return{offset:y.ha*c,path:e}}}};
+THREE.FontUtils.generateShapes=function(a,b){var b=b||{},c=void 0!==b.curveSegments?b.curveSegments:4,d=void 0!==b.font?b.font:"helvetiker",e=void 0!==b.weight?b.weight:"normal",f=void 0!==b.style?b.style:"normal";THREE.FontUtils.size=void 0!==b.size?b.size:100;THREE.FontUtils.divisions=c;THREE.FontUtils.face=d;THREE.FontUtils.weight=e;THREE.FontUtils.style=f;c=THREE.FontUtils.drawText(a).paths;d=[];e=0;for(f=c.length;e<f;e++)Array.prototype.push.apply(d,c[e].toShapes());return d};
+(function(a){var b=function(a){for(var b=a.length,e=0,f=b-1,g=0;g<b;f=g++)e+=a[f].x*a[g].y-a[g].x*a[f].y;return 0.5*e};a.Triangulate=function(a,d){var e=a.length;if(3>e)return null;var f=[],g=[],h=[],i,k,l;if(0<b(a))for(k=0;k<e;k++)g[k]=k;else for(k=0;k<e;k++)g[k]=e-1-k;var m=2*e;for(k=e-1;2<e;){if(0>=m--){console.log("Warning, unable to triangulate polygon!");break}i=k;e<=i&&(i=0);k=i+1;e<=k&&(k=0);l=k+1;e<=l&&(l=0);var n;a:{var s=n=void 0,r=void 0,p=void 0,q=void 0,y=void 0,v=void 0,z=void 0,t=
+void 0,s=a[g[i]].x,r=a[g[i]].y,p=a[g[k]].x,q=a[g[k]].y,y=a[g[l]].x,v=a[g[l]].y;if(1E-10>(p-s)*(v-r)-(q-r)*(y-s))n=!1;else{var A=void 0,I=void 0,C=void 0,x=void 0,G=void 0,J=void 0,E=void 0,H=void 0,B=void 0,W=void 0,B=H=E=t=z=void 0,A=y-p,I=v-q,C=s-y,x=r-v,G=p-s,J=q-r;for(n=0;n<e;n++)if(!(n===i||n===k||n===l))if(z=a[g[n]].x,t=a[g[n]].y,E=z-s,H=t-r,B=z-p,W=t-q,z-=y,t-=v,B=A*W-I*B,E=G*H-J*E,H=C*t-x*z,0<=B&&0<=H&&0<=E){n=!1;break a}n=!0}}if(n){f.push([a[g[i]],a[g[k]],a[g[l]]]);h.push([g[i],g[k],g[l]]);
+i=k;for(l=k+1;l<e;i++,l++)g[i]=g[l];e--;m=2*e}}return d?h:f};a.Triangulate.area=b;return a})(THREE.FontUtils);self._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(a){a=this.getUtoTmapping(a);return this.getPoint(a)};THREE.Curve.prototype.getPoints=function(a){a||(a=5);var b,c=[];for(b=0;b<=a;b++)c.push(this.getPoint(b/a));return c};THREE.Curve.prototype.getSpacedPoints=function(a){a||(a=5);var b,c=[];for(b=0;b<=a;b++)c.push(this.getPointAt(b/a));return c};
+THREE.Curve.prototype.getLength=function(){var a=this.getLengths();return a[a.length-1]};THREE.Curve.prototype.getLengths=function(a){a||(a=this.__arcLengthDivisions?this.__arcLengthDivisions:200);if(this.cacheArcLengths&&this.cacheArcLengths.length==a+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var b=[],c,d=this.getPoint(0),e,f=0;b.push(0);for(e=1;e<=a;e++)c=this.getPoint(e/a),f+=c.distanceTo(d),b.push(f),d=c;return this.cacheArcLengths=b};
+THREE.Curve.prototype.updateArcLengths=function(){this.needsUpdate=!0;this.getLengths()};THREE.Curve.prototype.getUtoTmapping=function(a,b){var c=this.getLengths(),d=0,e=c.length,f;f=b?b:a*c[e-1];for(var g=0,h=e-1,i;g<=h;)if(d=Math.floor(g+(h-g)/2),i=c[d]-f,0>i)g=d+1;else if(0<i)h=d-1;else{h=d;break}d=h;if(c[d]==f)return d/(e-1);g=c[d];return c=(d+(f-g)/(c[d+1]-g))/(e-1)};THREE.Curve.prototype.getTangent=function(a){var b=a-1E-4,a=a+1E-4;0>b&&(b=0);1<a&&(a=1);b=this.getPoint(b);return this.getPoint(a).clone().sub(b).normalize()};
+THREE.Curve.prototype.getTangentAt=function(a){a=this.getUtoTmapping(a);return this.getTangent(a)};THREE.LineCurve=function(a,b){this.v1=a;this.v2=b};THREE.LineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.LineCurve.prototype.getPoint=function(a){var b=this.v2.clone().sub(this.v1);b.multiplyScalar(a).add(this.v1);return b};THREE.LineCurve.prototype.getPointAt=function(a){return this.getPoint(a)};THREE.LineCurve.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()};
+THREE.QuadraticBezierCurve=function(a,b,c){this.v0=a;this.v1=b;this.v2=c};THREE.QuadraticBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.QuadraticBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(b,a)};
+THREE.QuadraticBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.y,this.v1.y,this.v2.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.CubicBezierCurve=function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d};THREE.CubicBezierCurve.prototype=Object.create(THREE.Curve.prototype);
+THREE.CubicBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(b,a)};THREE.CubicBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);b=new THREE.Vector2(b,a);b.normalize();return b};
+THREE.SplineCurve=function(a){this.points=void 0==a?[]:a};THREE.SplineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.SplineCurve.prototype.getPoint=function(a){var b=new THREE.Vector2,c=[],d=this.points,e;e=(d.length-1)*a;a=Math.floor(e);e-=a;c[0]=0==a?a:a-1;c[1]=a;c[2]=a>d.length-2?d.length-1:a+1;c[3]=a>d.length-3?d.length-1:a+2;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);return b};
+THREE.EllipseCurve=function(a,b,c,d,e,f,g){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g};THREE.EllipseCurve.prototype=Object.create(THREE.Curve.prototype);THREE.EllipseCurve.prototype.getPoint=function(a){var b=this.aEndAngle-this.aStartAngle;this.aClockwise||(a=1-a);b=this.aStartAngle+a*b;a=this.aX+this.xRadius*Math.cos(b);b=this.aY+this.yRadius*Math.sin(b);return new THREE.Vector2(a,b)};
+THREE.ArcCurve=function(a,b,c,d,e,f){THREE.EllipseCurve.call(this,a,b,c,c,d,e,f)};THREE.ArcCurve.prototype=Object.create(THREE.EllipseCurve.prototype);
+THREE.Curve.Utils={tangentQuadraticBezier:function(a,b,c,d){return 2*(1-a)*(c-b)+2*a*(d-c)},tangentCubicBezier:function(a,b,c,d,e){return-3*b*(1-a)*(1-a)+3*c*(1-a)*(1-a)-6*a*c*(1-a)+6*a*d*(1-a)-3*a*a*d+3*a*a*e},tangentSpline:function(a){return 6*a*a-6*a+(3*a*a-4*a+1)+(-6*a*a+6*a)+(3*a*a-2*a)},interpolate:function(a,b,c,d,e){var a=0.5*(c-a),d=0.5*(d-b),f=e*e;return(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}};
+THREE.Curve.create=function(a,b){a.prototype=Object.create(THREE.Curve.prototype);a.prototype.getPoint=b;return a};THREE.LineCurve3=THREE.Curve.create(function(a,b){this.v1=a;this.v2=b},function(a){var b=new THREE.Vector3;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(a,b,c){this.v0=a;this.v1=b;this.v2=c},function(a){var b,c;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);c=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);a=THREE.Shape.Utils.b2(a,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(b,c,a)});
+THREE.CubicBezierCurve3=THREE.Curve.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b,c;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);c=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);a=THREE.Shape.Utils.b3(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new THREE.Vector3(b,c,a)});
+THREE.SplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e,a=(d.length-1)*a;e=Math.floor(a);a-=e;c[0]=0==e?e:e-1;c[1]=e;c[2]=e>d.length-2?d.length-1:e+1;c[3]=e>d.length-3?d.length-1:e+2;e=d[c[0]];var f=d[c[1]],g=d[c[2]],c=d[c[3]];b.x=THREE.Curve.Utils.interpolate(e.x,f.x,g.x,c.x,a);b.y=THREE.Curve.Utils.interpolate(e.y,f.y,g.y,c.y,a);b.z=THREE.Curve.Utils.interpolate(e.z,f.z,g.z,c.z,a);return b});
+THREE.ClosedSplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;e=(d.length-0)*a;a=Math.floor(e);e-=a;a+=0<a?0:(Math.floor(Math.abs(a)/d.length)+1)*d.length;c[0]=(a-1)%d.length;c[1]=a%d.length;c[2]=(a+1)%d.length;c[3]=(a+2)%d.length;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);b.z=THREE.Curve.Utils.interpolate(d[c[0]].z,
+d[c[1]].z,d[c[2]].z,d[c[3]].z,e);return b});THREE.CurvePath=function(){this.curves=[];this.bends=[];this.autoClose=!1};THREE.CurvePath.prototype=Object.create(THREE.Curve.prototype);THREE.CurvePath.prototype.add=function(a){this.curves.push(a)};THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){var a=this.curves[0].getPoint(0),b=this.curves[this.curves.length-1].getPoint(1);a.equals(b)||this.curves.push(new THREE.LineCurve(b,a))};
+THREE.CurvePath.prototype.getPoint=function(a){for(var b=a*this.getLength(),c=this.getCurveLengths(),a=0;a<c.length;){if(c[a]>=b)return b=c[a]-b,a=this.curves[a],b=1-b/a.getLength(),a.getPointAt(b);a++}return null};THREE.CurvePath.prototype.getLength=function(){var a=this.getCurveLengths();return a[a.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var a=[],b=0,c,d=this.curves.length;for(c=0;c<d;c++)b+=this.curves[c].getLength(),a.push(b);return this.cacheLengths=a};
+THREE.CurvePath.prototype.getBoundingBox=function(){var a=this.getPoints(),b,c,d,e,f,g;b=c=Number.NEGATIVE_INFINITY;e=f=Number.POSITIVE_INFINITY;var h,i,k,l,m=a[0]instanceof THREE.Vector3;l=m?new THREE.Vector3:new THREE.Vector2;i=0;for(k=a.length;i<k;i++)h=a[i],h.x>b?b=h.x:h.x<e&&(e=h.x),h.y>c?c=h.y:h.y<f&&(f=h.y),m&&(h.z>d?d=h.z:h.z<g&&(g=h.z)),l.add(h);a={minX:e,minY:f,maxX:b,maxY:c,centroid:l.divideScalar(k)};m&&(a.maxZ=d,a.minZ=g);return a};
+THREE.CurvePath.prototype.createPointsGeometry=function(a){a=this.getPoints(a,!0);return this.createGeometry(a)};THREE.CurvePath.prototype.createSpacedPointsGeometry=function(a){a=this.getSpacedPoints(a,!0);return this.createGeometry(a)};THREE.CurvePath.prototype.createGeometry=function(a){for(var b=new THREE.Geometry,c=0;c<a.length;c++)b.vertices.push(new THREE.Vector3(a[c].x,a[c].y,a[c].z||0));return b};THREE.CurvePath.prototype.addWrapPath=function(a){this.bends.push(a)};
+THREE.CurvePath.prototype.getTransformedPoints=function(a,b){var c=this.getPoints(a),d,e;b||(b=this.bends);d=0;for(e=b.length;d<e;d++)c=this.getWrapPoints(c,b[d]);return c};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(a,b){var c=this.getSpacedPoints(a),d,e;b||(b=this.bends);d=0;for(e=b.length;d<e;d++)c=this.getWrapPoints(c,b[d]);return c};
+THREE.CurvePath.prototype.getWrapPoints=function(a,b){var c=this.getBoundingBox(),d,e,f,g,h,i;d=0;for(e=a.length;d<e;d++)f=a[d],g=f.x,h=f.y,i=g/c.maxX,i=b.getUtoTmapping(i,g),g=b.getPoint(i),h=b.getNormalVector(i).multiplyScalar(h),f.x=g.x+h.x,f.y=g.y+h.y;return a};THREE.Gyroscope=function(){THREE.Object3D.call(this)};THREE.Gyroscope.prototype=Object.create(THREE.Object3D.prototype);
+THREE.Gyroscope.prototype.updateMatrixWorld=function(a){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||a)this.parent?(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorld.decompose(this.translationWorld,this.rotationWorld,this.scaleWorld),this.matrix.decompose(this.translationObject,this.rotationObject,this.scaleObject),this.matrixWorld.compose(this.translationWorld,this.rotationObject,this.scaleWorld)):this.matrixWorld.copy(this.matrix),
+this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=0,c=this.children.length;b<c;b++)this.children[b].updateMatrixWorld(a)};THREE.Gyroscope.prototype.translationWorld=new THREE.Vector3;THREE.Gyroscope.prototype.translationObject=new THREE.Vector3;THREE.Gyroscope.prototype.rotationWorld=new THREE.Quaternion;THREE.Gyroscope.prototype.rotationObject=new THREE.Quaternion;THREE.Gyroscope.prototype.scaleWorld=new THREE.Vector3;THREE.Gyroscope.prototype.scaleObject=new THREE.Vector3;THREE.Path=function(a){THREE.CurvePath.call(this);this.actions=[];a&&this.fromPoints(a)};THREE.Path.prototype=Object.create(THREE.CurvePath.prototype);THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc",ELLIPSE:"ellipse"};THREE.Path.prototype.fromPoints=function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)};
+THREE.Path.prototype.moveTo=function(a,b){var c=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:c})};THREE.Path.prototype.lineTo=function(a,b){var c=Array.prototype.slice.call(arguments),d=this.actions[this.actions.length-1].args,d=new THREE.LineCurve(new THREE.Vector2(d[d.length-2],d[d.length-1]),new THREE.Vector2(a,b));this.curves.push(d);this.actions.push({action:THREE.PathActions.LINE_TO,args:c})};
+THREE.Path.prototype.quadraticCurveTo=function(a,b,c,d){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args,f=new THREE.QuadraticBezierCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(a,b),new THREE.Vector2(c,d));this.curves.push(f);this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:e})};
+THREE.Path.prototype.bezierCurveTo=function(a,b,c,d,e,f){var g=Array.prototype.slice.call(arguments),h=this.actions[this.actions.length-1].args,h=new THREE.CubicBezierCurve(new THREE.Vector2(h[h.length-2],h[h.length-1]),new THREE.Vector2(a,b),new THREE.Vector2(c,d),new THREE.Vector2(e,f));this.curves.push(h);this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:g})};
+THREE.Path.prototype.splineThru=function(a){var b=Array.prototype.slice.call(arguments),c=this.actions[this.actions.length-1].args,c=[new THREE.Vector2(c[c.length-2],c[c.length-1])];Array.prototype.push.apply(c,a);c=new THREE.SplineCurve(c);this.curves.push(c);this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:b})};THREE.Path.prototype.arc=function(a,b,c,d,e,f){var g=this.actions[this.actions.length-1].args;this.absarc(a+g[g.length-2],b+g[g.length-1],c,d,e,f)};
+THREE.Path.prototype.absarc=function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)};THREE.Path.prototype.ellipse=function(a,b,c,d,e,f,g){var h=this.actions[this.actions.length-1].args;this.absellipse(a+h[h.length-2],b+h[h.length-1],c,d,e,f,g)};THREE.Path.prototype.absellipse=function(a,b,c,d,e,f,g){var h=Array.prototype.slice.call(arguments),i=new THREE.EllipseCurve(a,b,c,d,e,f,g);this.curves.push(i);i=i.getPoint(g?1:0);h.push(i.x);h.push(i.y);this.actions.push({action:THREE.PathActions.ELLIPSE,args:h})};
+THREE.Path.prototype.getSpacedPoints=function(a){a||(a=40);for(var b=[],c=0;c<a;c++)b.push(this.getPoint(c/a));return b};
+THREE.Path.prototype.getPoints=function(a,b){if(this.useSpacedPoints)return console.log("tata"),this.getSpacedPoints(a,b);var a=a||12,c=[],d,e,f,g,h,i,k,l,m,n,s,r,p;d=0;for(e=this.actions.length;d<e;d++)switch(f=this.actions[d],g=f.action,f=f.args,g){case THREE.PathActions.MOVE_TO:c.push(new THREE.Vector2(f[0],f[1]));break;case THREE.PathActions.LINE_TO:c.push(new THREE.Vector2(f[0],f[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:h=f[2];i=f[3];m=f[0];n=f[1];0<c.length?(g=c[c.length-1],s=g.x,
+r=g.y):(g=this.actions[d-1].args,s=g[g.length-2],r=g[g.length-1]);for(f=1;f<=a;f++)p=f/a,g=THREE.Shape.Utils.b2(p,s,m,h),p=THREE.Shape.Utils.b2(p,r,n,i),c.push(new THREE.Vector2(g,p));break;case THREE.PathActions.BEZIER_CURVE_TO:h=f[4];i=f[5];m=f[0];n=f[1];k=f[2];l=f[3];0<c.length?(g=c[c.length-1],s=g.x,r=g.y):(g=this.actions[d-1].args,s=g[g.length-2],r=g[g.length-1]);for(f=1;f<=a;f++)p=f/a,g=THREE.Shape.Utils.b3(p,s,m,k,h),p=THREE.Shape.Utils.b3(p,r,n,l,i),c.push(new THREE.Vector2(g,p));break;case THREE.PathActions.CSPLINE_THRU:g=
+this.actions[d-1].args;p=[new THREE.Vector2(g[g.length-2],g[g.length-1])];g=a*f[0].length;p=p.concat(f[0]);p=new THREE.SplineCurve(p);for(f=1;f<=g;f++)c.push(p.getPointAt(f/g));break;case THREE.PathActions.ARC:h=f[0];i=f[1];n=f[2];k=f[3];g=f[4];m=!!f[5];s=g-k;r=2*a;for(f=1;f<=r;f++)p=f/r,m||(p=1-p),p=k+p*s,g=h+n*Math.cos(p),p=i+n*Math.sin(p),c.push(new THREE.Vector2(g,p));break;case THREE.PathActions.ELLIPSE:h=f[0];i=f[1];n=f[2];l=f[3];k=f[4];g=f[5];m=!!f[6];s=g-k;r=2*a;for(f=1;f<=r;f++)p=f/r,m||
+(p=1-p),p=k+p*s,g=h+n*Math.cos(p),p=i+l*Math.sin(p),c.push(new THREE.Vector2(g,p))}d=c[c.length-1];1E-10>Math.abs(d.x-c[0].x)&&1E-10>Math.abs(d.y-c[0].y)&&c.splice(c.length-1,1);b&&c.push(c[0]);return c};
+THREE.Path.prototype.toShapes=function(){var a,b,c,d,e=[],f=new THREE.Path;a=0;for(b=this.actions.length;a<b;a++)c=this.actions[a],d=c.args,c=c.action,c==THREE.PathActions.MOVE_TO&&0!=f.actions.length&&(e.push(f),f=new THREE.Path),f[c].apply(f,d);0!=f.actions.length&&e.push(f);if(0==e.length)return[];var g;d=[];a=!THREE.Shape.Utils.isClockWise(e[0].getPoints());if(1==e.length)return f=e[0],g=new THREE.Shape,g.actions=f.actions,g.curves=f.curves,d.push(g),d;if(a){g=new THREE.Shape;a=0;for(b=e.length;a<
+b;a++)f=e[a],THREE.Shape.Utils.isClockWise(f.getPoints())?(g.actions=f.actions,g.curves=f.curves,d.push(g),g=new THREE.Shape):g.holes.push(f)}else{a=0;for(b=e.length;a<b;a++)f=e[a],THREE.Shape.Utils.isClockWise(f.getPoints())?(g&&d.push(g),g=new THREE.Shape,g.actions=f.actions,g.curves=f.curves):g.holes.push(f);d.push(g)}return d};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=Object.create(THREE.Path.prototype);THREE.Shape.prototype.extrude=function(a){return new THREE.ExtrudeGeometry(this,a)};THREE.Shape.prototype.makeGeometry=function(a){return new THREE.ShapeGeometry(this,a)};THREE.Shape.prototype.getPointsHoles=function(a){var b,c=this.holes.length,d=[];for(b=0;b<c;b++)d[b]=this.holes[b].getTransformedPoints(a,this.bends);return d};
+THREE.Shape.prototype.getSpacedPointsHoles=function(a){var b,c=this.holes.length,d=[];for(b=0;b<c;b++)d[b]=this.holes[b].getTransformedSpacedPoints(a,this.bends);return d};THREE.Shape.prototype.extractAllPoints=function(a){return{shape:this.getTransformedPoints(a),holes:this.getPointsHoles(a)}};THREE.Shape.prototype.extractPoints=function(a){return this.useSpacedPoints?this.extractAllSpacedPoints(a):this.extractAllPoints(a)};
+THREE.Shape.prototype.extractAllSpacedPoints=function(a){return{shape:this.getTransformedSpacedPoints(a),holes:this.getSpacedPointsHoles(a)}};
+THREE.Shape.Utils={removeHoles:function(a,b){var c=a.concat(),d=c.concat(),e,f,g,h,i,k,l,m,n,s,r=[];for(i=0;i<b.length;i++){k=b[i];Array.prototype.push.apply(d,k);f=Number.POSITIVE_INFINITY;for(e=0;e<k.length;e++){n=k[e];s=[];for(m=0;m<c.length;m++)l=c[m],l=n.distanceToSquared(l),s.push(l),l<f&&(f=l,g=e,h=m)}e=0<=h-1?h-1:c.length-1;f=0<=g-1?g-1:k.length-1;var p=[k[g],c[h],c[e]];m=THREE.FontUtils.Triangulate.area(p);var q=[k[g],k[f],c[h]];n=THREE.FontUtils.Triangulate.area(q);s=h;l=g;h+=1;g+=-1;0>
+h&&(h+=c.length);h%=c.length;0>g&&(g+=k.length);g%=k.length;e=0<=h-1?h-1:c.length-1;f=0<=g-1?g-1:k.length-1;p=[k[g],c[h],c[e]];p=THREE.FontUtils.Triangulate.area(p);q=[k[g],k[f],c[h]];q=THREE.FontUtils.Triangulate.area(q);m+n>p+q&&(h=s,g=l,0>h&&(h+=c.length),h%=c.length,0>g&&(g+=k.length),g%=k.length,e=0<=h-1?h-1:c.length-1,f=0<=g-1?g-1:k.length-1);m=c.slice(0,h);n=c.slice(h);s=k.slice(g);l=k.slice(0,g);f=[k[g],k[f],c[h]];r.push([k[g],c[h],c[e]]);r.push(f);c=m.concat(s).concat(l).concat(n)}return{shape:c,
+isolatedPts:r,allpoints:d}},triangulateShape:function(a,b){var c=THREE.Shape.Utils.removeHoles(a,b),d=c.allpoints,e=c.isolatedPts,c=THREE.FontUtils.Triangulate(c.shape,!1),f,g,h,i,k={};f=0;for(g=d.length;f<g;f++)i=d[f].x+":"+d[f].y,void 0!==k[i]&&console.log("Duplicate point",i),k[i]=f;f=0;for(g=c.length;f<g;f++){h=c[f];for(d=0;3>d;d++)i=h[d].x+":"+h[d].y,i=k[i],void 0!==i&&(h[d]=i)}f=0;for(g=e.length;f<g;f++){h=e[f];for(d=0;3>d;d++)i=h[d].x+":"+h[d].y,i=k[i],void 0!==i&&(h[d]=i)}return c.concat(e)},
+isClockWise:function(a){return 0>THREE.FontUtils.Triangulate.area(a)},b2p0:function(a,b){var c=1-a;return c*c*b},b2p1:function(a,b){return 2*(1-a)*a*b},b2p2:function(a,b){return a*a*b},b2:function(a,b,c,d){return this.b2p0(a,b)+this.b2p1(a,c)+this.b2p2(a,d)},b3p0:function(a,b){var c=1-a;return c*c*c*b},b3p1:function(a,b){var c=1-a;return 3*c*c*a*b},b3p2:function(a,b){return 3*(1-a)*a*a*b},b3p3:function(a,b){return a*a*a*b},b3:function(a,b,c,d,e){return this.b3p0(a,b)+this.b3p1(a,c)+this.b3p2(a,d)+
+this.b3p3(a,e)}};THREE.AnimationHandler=function(){var a=[],b={},c={update:function(b){for(var c=0;c<a.length;c++)a[c].update(b)},addToUpdate:function(b){-1===a.indexOf(b)&&a.push(b)},removeFromUpdate:function(b){b=a.indexOf(b);-1!==b&&a.splice(b,1)},add:function(a){void 0!==b[a.name]&&console.log("THREE.AnimationHandler.add: Warning! "+a.name+" already exists in library. Overwriting.");b[a.name]=a;if(!0!==a.initialized){for(var c=0;c<a.hierarchy.length;c++){for(var d=0;d<a.hierarchy[c].keys.length;d++)if(0>a.hierarchy[c].keys[d].time&&
+(a.hierarchy[c].keys[d].time=0),void 0!==a.hierarchy[c].keys[d].rot&&!(a.hierarchy[c].keys[d].rot instanceof THREE.Quaternion)){var h=a.hierarchy[c].keys[d].rot;a.hierarchy[c].keys[d].rot=new THREE.Quaternion(h[0],h[1],h[2],h[3])}if(a.hierarchy[c].keys.length&&void 0!==a.hierarchy[c].keys[0].morphTargets){h={};for(d=0;d<a.hierarchy[c].keys.length;d++)for(var i=0;i<a.hierarchy[c].keys[d].morphTargets.length;i++){var k=a.hierarchy[c].keys[d].morphTargets[i];h[k]=-1}a.hierarchy[c].usedMorphTargets=h;
+for(d=0;d<a.hierarchy[c].keys.length;d++){var l={};for(k in h){for(i=0;i<a.hierarchy[c].keys[d].morphTargets.length;i++)if(a.hierarchy[c].keys[d].morphTargets[i]===k){l[k]=a.hierarchy[c].keys[d].morphTargetsInfluences[i];break}i===a.hierarchy[c].keys[d].morphTargets.length&&(l[k]=0)}a.hierarchy[c].keys[d].morphTargetsInfluences=l}}for(d=1;d<a.hierarchy[c].keys.length;d++)a.hierarchy[c].keys[d].time===a.hierarchy[c].keys[d-1].time&&(a.hierarchy[c].keys.splice(d,1),d--);for(d=0;d<a.hierarchy[c].keys.length;d++)a.hierarchy[c].keys[d].index=
+d}d=parseInt(a.length*a.fps,10);a.JIT={};a.JIT.hierarchy=[];for(c=0;c<a.hierarchy.length;c++)a.JIT.hierarchy.push(Array(d));a.initialized=!0}},get:function(a){if("string"===typeof a){if(b[a])return b[a];console.log("THREE.AnimationHandler.get: Couldn't find animation "+a);return null}},parse:function(a){var b=[];if(a instanceof THREE.SkinnedMesh)for(var c=0;c<a.bones.length;c++)b.push(a.bones[c]);else d(a,b);return b}},d=function(a,b){b.push(a);for(var c=0;c<a.children.length;c++)d(a.children[c],
+b)};c.LINEAR=0;c.CATMULLROM=1;c.CATMULLROM_FORWARD=2;return c}();THREE.Animation=function(a,b,c){this.root=a;this.data=THREE.AnimationHandler.get(b);this.hierarchy=THREE.AnimationHandler.parse(a);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=void 0!==c?c:THREE.AnimationHandler.LINEAR;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(a,b){if(!1===this.isPlaying){this.isPlaying=!0;this.loop=void 0!==a?a:!0;this.currentTime=void 0!==b?b:0;var c,d=this.hierarchy.length,e;for(c=0;c<d;c++){e=this.hierarchy[c];this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD&&(e.useQuaternion=!0);e.matrixAutoUpdate=!0;void 0===e.animationCache&&(e.animationCache={},e.animationCache.prevKey={pos:0,rot:0,scl:0},e.animationCache.nextKey={pos:0,rot:0,scl:0},e.animationCache.originalMatrix=e instanceof
+THREE.Bone?e.skinMatrix:e.matrix);var f=e.animationCache.prevKey;e=e.animationCache.nextKey;f.pos=this.data.hierarchy[c].keys[0];f.rot=this.data.hierarchy[c].keys[0];f.scl=this.data.hierarchy[c].keys[0];e.pos=this.getNextKeyWith("pos",c,1);e.rot=this.getNextKeyWith("rot",c,1);e.scl=this.getNextKeyWith("scl",c,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){!0===this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this)};
+THREE.Animation.prototype.update=function(a){if(!1!==this.isPlaying){var b=["pos","rot","scl"],c,d,e,f,g,h,i,k,l;l=this.currentTime+=a*this.timeScale;k=this.currentTime%=this.data.length;parseInt(Math.min(k*this.data.fps,this.data.length*this.data.fps),10);for(var m=0,n=this.hierarchy.length;m<n;m++){a=this.hierarchy[m];i=a.animationCache;for(var s=0;3>s;s++){c=b[s];g=i.prevKey[c];h=i.nextKey[c];if(h.time<=l){if(k<l)if(this.loop){g=this.data.hierarchy[m].keys[0];for(h=this.getNextKeyWith(c,m,1);h.time<
+k;)g=h,h=this.getNextKeyWith(c,m,h.index+1)}else{this.stop();return}else{do g=h,h=this.getNextKeyWith(c,m,h.index+1);while(h.time<k)}i.prevKey[c]=g;i.nextKey[c]=h}a.matrixAutoUpdate=!0;a.matrixWorldNeedsUpdate=!0;d=(k-g.time)/(h.time-g.time);e=g[c];f=h[c];if(0>d||1<d)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+d+" on bone "+m),d=0>d?0:1;if("pos"===c)if(c=a.position,this.interpolationType===THREE.AnimationHandler.LINEAR)c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+
+(f[2]-e[2])*d;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)this.points[0]=this.getPrevKeyWith("pos",m,g.index-1).pos,this.points[1]=e,this.points[2]=f,this.points[3]=this.getNextKeyWith("pos",m,h.index+1).pos,d=0.33*d+0.33,e=this.interpolateCatmullRom(this.points,d),c.x=e[0],c.y=e[1],c.z=e[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD&&(d=this.interpolateCatmullRom(this.points,1.01*d),
+this.target.set(d[0],d[1],d[2]),this.target.sub(c),this.target.y=0,this.target.normalize(),d=Math.atan2(this.target.x,this.target.z),a.rotation.set(0,d,0))}else"rot"===c?THREE.Quaternion.slerp(e,f,a.quaternion,d):"scl"===c&&(c=a.scale,c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+(f[2]-e[2])*d)}}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(a,b){var c=[],d=[],e,f,g,h,i,k;e=(a.length-1)*b;f=Math.floor(e);e-=f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>a.length-2?f:f+1;c[3]=f>a.length-3?f:f+2;f=a[c[0]];h=a[c[1]];i=a[c[2]];k=a[c[3]];c=e*e;g=e*c;d[0]=this.interpolate(f[0],h[0],i[0],k[0],e,c,g);d[1]=this.interpolate(f[1],h[1],i[1],k[1],e,c,g);d[2]=this.interpolate(f[2],h[2],i[2],k[2],e,c,g);return d};
+THREE.Animation.prototype.interpolate=function(a,b,c,d,e,f,g){a=0.5*(c-a);d=0.5*(d-b);return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b};THREE.Animation.prototype.getNextKeyWith=function(a,b,c){for(var d=this.data.hierarchy[b].keys,c=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?c<d.length-1?c:d.length-1:c%d.length;c<d.length;c++)if(void 0!==d[c][a])return d[c];return this.data.hierarchy[b].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(a,b,c){for(var d=this.data.hierarchy[b].keys,c=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?0<c?c:0:0<=c?c:c+d.length;0<=c;c--)if(void 0!==d[c][a])return d[c];return this.data.hierarchy[b].keys[d.length-1]};THREE.KeyFrameAnimation=function(a,b,c){this.root=a;this.data=THREE.AnimationHandler.get(b);this.hierarchy=THREE.AnimationHandler.parse(a);this.currentTime=0;this.timeScale=0.001;this.isPlaying=!1;this.loop=this.isPaused=!0;this.JITCompile=void 0!==c?c:!0;a=0;for(b=this.hierarchy.length;a<b;a++){var c=this.data.hierarchy[a].sids,d=this.hierarchy[a];if(this.data.hierarchy[a].keys.length&&c){for(var e=0;e<c.length;e++){var f=c[e],g=this.getNextKeyWith(f,a,0);g&&g.apply(f)}d.matrixAutoUpdate=!1;this.data.hierarchy[a].node.updateMatrix();
+d.matrixWorldNeedsUpdate=!0}}};
+THREE.KeyFrameAnimation.prototype.play=function(a,b){if(!this.isPlaying){this.isPlaying=!0;this.loop=void 0!==a?a:!0;this.currentTime=void 0!==b?b:0;this.startTimeMs=b;this.startTime=1E7;this.endTime=-this.startTime;var c,d=this.hierarchy.length,e,f;for(c=0;c<d;c++)e=this.hierarchy[c],f=this.data.hierarchy[c],e.useQuaternion=!0,void 0===f.animationCache&&(f.animationCache={},f.animationCache.prevKey=null,f.animationCache.nextKey=null,f.animationCache.originalMatrix=e instanceof THREE.Bone?e.skinMatrix:
+e.matrix),e=this.data.hierarchy[c].keys,e.length&&(f.animationCache.prevKey=e[0],f.animationCache.nextKey=e[1],this.startTime=Math.min(e[0].time,this.startTime),this.endTime=Math.max(e[e.length-1].time,this.endTime));this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};THREE.KeyFrameAnimation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.KeyFrameAnimation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var a=0;a<this.data.hierarchy.length;a++){var b=this.hierarchy[a],c=this.data.hierarchy[a];if(void 0!==c.animationCache){var d=c.animationCache.originalMatrix;b instanceof THREE.Bone?(d.copy(b.skinMatrix),b.skinMatrix=d):(d.copy(b.matrix),b.matrix=d);delete c.animationCache}}};
+THREE.KeyFrameAnimation.prototype.update=function(a){if(this.isPlaying){var b,c,d,e,f=this.data.JIT.hierarchy,g,h,i;h=this.currentTime+=a*this.timeScale;g=this.currentTime%=this.data.length;g<this.startTimeMs&&(g=this.currentTime=this.startTimeMs+g);e=parseInt(Math.min(g*this.data.fps,this.data.length*this.data.fps),10);if((i=g<h)&&!this.loop){for(var a=0,k=this.hierarchy.length;a<k;a++){var l=this.data.hierarchy[a].keys,f=this.data.hierarchy[a].sids;d=l.length-1;e=this.hierarchy[a];if(l.length){for(l=
+0;l<f.length;l++)g=f[l],(h=this.getPrevKeyWith(g,a,d))&&h.apply(g);this.data.hierarchy[a].node.updateMatrix();e.matrixWorldNeedsUpdate=!0}}this.stop()}else if(!(g<this.startTime)){a=0;for(k=this.hierarchy.length;a<k;a++){d=this.hierarchy[a];b=this.data.hierarchy[a];var l=b.keys,m=b.animationCache;if(this.JITCompile&&void 0!==f[a][e])d instanceof THREE.Bone?(d.skinMatrix=f[a][e],d.matrixWorldNeedsUpdate=!1):(d.matrix=f[a][e],d.matrixWorldNeedsUpdate=!0);else if(l.length){this.JITCompile&&m&&(d instanceof
+THREE.Bone?d.skinMatrix=m.originalMatrix:d.matrix=m.originalMatrix);b=m.prevKey;c=m.nextKey;if(b&&c){if(c.time<=h){if(i&&this.loop){b=l[0];for(c=l[1];c.time<g;)b=c,c=l[b.index+1]}else if(!i)for(var n=l.length-1;c.time<g&&c.index!==n;)b=c,c=l[b.index+1];m.prevKey=b;m.nextKey=c}c.time>=g?b.interpolate(c,g):b.interpolate(c,c.time)}this.data.hierarchy[a].node.updateMatrix();d.matrixWorldNeedsUpdate=!0}}if(this.JITCompile&&void 0===f[0][e]){this.hierarchy[0].updateMatrixWorld(!0);for(a=0;a<this.hierarchy.length;a++)f[a][e]=
+this.hierarchy[a]instanceof THREE.Bone?this.hierarchy[a].skinMatrix.clone():this.hierarchy[a].matrix.clone()}}}};THREE.KeyFrameAnimation.prototype.getNextKeyWith=function(a,b,c){b=this.data.hierarchy[b].keys;for(c%=b.length;c<b.length;c++)if(b[c].hasTarget(a))return b[c];return b[0]};THREE.KeyFrameAnimation.prototype.getPrevKeyWith=function(a,b,c){b=this.data.hierarchy[b].keys;for(c=0<=c?c:c+b.length;0<=c;c--)if(b[c].hasTarget(a))return b[c];return b[b.length-1]};THREE.CubeCamera=function(a,b,c){THREE.Object3D.call(this);var d=new THREE.PerspectiveCamera(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new THREE.Vector3(1,0,0));this.add(d);var e=new THREE.PerspectiveCamera(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new THREE.Vector3(-1,0,0));this.add(e);var f=new THREE.PerspectiveCamera(90,1,a,b);f.up.set(0,0,1);f.lookAt(new THREE.Vector3(0,1,0));this.add(f);var g=new THREE.PerspectiveCamera(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new THREE.Vector3(0,-1,0));this.add(g);var h=new THREE.PerspectiveCamera(90,
+1,a,b);h.up.set(0,-1,0);h.lookAt(new THREE.Vector3(0,0,1));this.add(h);var i=new THREE.PerspectiveCamera(90,1,a,b);i.up.set(0,-1,0);i.lookAt(new THREE.Vector3(0,0,-1));this.add(i);this.renderTarget=new THREE.WebGLRenderTargetCube(c,c,{format:THREE.RGBFormat,magFilter:THREE.LinearFilter,minFilter:THREE.LinearFilter});this.updateCubeMap=function(a,b){var c=this.renderTarget,n=c.generateMipmaps;c.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=
+2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.generateMipmaps=n;c.activeCubeFace=5;a.render(b,i,c)}};THREE.CubeCamera.prototype=Object.create(THREE.Object3D.prototype);THREE.CombinedCamera=function(a,b,c,d,e,f,g){THREE.Camera.call(this);this.fov=c;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2;this.cameraO=new THREE.OrthographicCamera(a/-2,a/2,b/2,b/-2,f,g);this.cameraP=new THREE.PerspectiveCamera(c,a/b,d,e);this.zoom=1;this.toPerspective()};THREE.CombinedCamera.prototype=Object.create(THREE.Camera.prototype);
+THREE.CombinedCamera.prototype.toPerspective=function(){this.near=this.cameraP.near;this.far=this.cameraP.far;this.cameraP.fov=this.fov/this.zoom;this.cameraP.updateProjectionMatrix();this.projectionMatrix=this.cameraP.projectionMatrix;this.inPerspectiveMode=!0;this.inOrthographicMode=!1};
+THREE.CombinedCamera.prototype.toOrthographic=function(){var a=this.cameraP.aspect,b=(this.cameraP.near+this.cameraP.far)/2,b=Math.tan(this.fov/2)*b,a=2*b*a/2,b=b/this.zoom,a=a/this.zoom;this.cameraO.left=-a;this.cameraO.right=a;this.cameraO.top=b;this.cameraO.bottom=-b;this.cameraO.updateProjectionMatrix();this.near=this.cameraO.near;this.far=this.cameraO.far;this.projectionMatrix=this.cameraO.projectionMatrix;this.inPerspectiveMode=!1;this.inOrthographicMode=!0};
+THREE.CombinedCamera.prototype.setSize=function(a,b){this.cameraP.aspect=a/b;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2};THREE.CombinedCamera.prototype.setFov=function(a){this.fov=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.updateProjectionMatrix=function(){this.inPerspectiveMode?this.toPerspective():(this.toPerspective(),this.toOrthographic())};
+THREE.CombinedCamera.prototype.setLens=function(a,b){void 0===b&&(b=24);var c=2*THREE.Math.radToDeg(Math.atan(b/(2*a)));this.setFov(c);return c};THREE.CombinedCamera.prototype.setZoom=function(a){this.zoom=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.toFrontView=function(){this.rotation.x=0;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1};
+THREE.CombinedCamera.prototype.toBackView=function(){this.rotation.x=0;this.rotation.y=Math.PI;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toLeftView=function(){this.rotation.x=0;this.rotation.y=-Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toRightView=function(){this.rotation.x=0;this.rotation.y=Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=!1};
+THREE.CombinedCamera.prototype.toTopView=function(){this.rotation.x=-Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toBottomView=function(){this.rotation.x=Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.AsteriskGeometry=function(a,b){THREE.Geometry.call(this);for(var c=0.707*a,d=0.707*b,c=[[a,0,0],[b,0,0],[-a,0,0],[-b,0,0],[0,a,0],[0,b,0],[0,-a,0],[0,-b,0],[0,0,a],[0,0,b],[0,0,-a],[0,0,-b],[c,c,0],[d,d,0],[-c,-c,0],[-d,-d,0],[c,-c,0],[d,-d,0],[-c,c,0],[-d,d,0],[c,0,c],[d,0,d],[-c,0,-c],[-d,0,-d],[c,0,-c],[d,0,-d],[-c,0,c],[-d,0,d],[0,c,c],[0,d,d],[0,-c,-c],[0,-d,-d],[0,c,-c],[0,d,-d],[0,-c,c],[0,-d,d]],d=0,e=c.length;d<e;d++)this.vertices.push(new THREE.Vector3(c[d][0],c[d][1],c[d][2]))};
+THREE.AsteriskGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.CircleGeometry=function(a,b,c,d){THREE.Geometry.call(this);var a=a||50,c=void 0!==c?c:0,d=void 0!==d?d:2*Math.PI,b=void 0!==b?Math.max(3,b):8,e,f=[];e=new THREE.Vector3;var g=new THREE.Vector2(0.5,0.5);this.vertices.push(e);f.push(g);for(e=0;e<=b;e++){var h=new THREE.Vector3;h.x=a*Math.cos(c+e/b*d);h.y=a*Math.sin(c+e/b*d);this.vertices.push(h);f.push(new THREE.Vector2((h.x/a+1)/2,-(h.y/a+1)/2+1))}c=new THREE.Vector3(0,0,-1);for(e=1;e<=b;e++)this.faces.push(new THREE.Face3(e,e+1,0,[c,c,c])),
+this.faceVertexUvs[0].push([f[e],f[e+1],g]);this.computeCentroids();this.computeFaceNormals();this.boundingSphere=new THREE.Sphere(new THREE.Vector3,a)};THREE.CircleGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.CubeGeometry=function(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,p){var q,y=h.widthSegments,v=h.heightSegments,z=e/2,t=f/2,A=h.vertices.length;if("x"===a&&"y"===b||"y"===a&&"x"===b)q="z";else if("x"===a&&"z"===b||"z"===a&&"x"===b)q="y",v=h.depthSegments;else if("z"===a&&"y"===b||"y"===a&&"z"===b)q="x",y=h.depthSegments;var I=y+1,C=v+1,x=e/y,G=f/v,J=new THREE.Vector3;J[q]=0<g?1:-1;for(e=0;e<C;e++)for(f=0;f<I;f++){var E=new THREE.Vector3;E[a]=(f*x-z)*c;E[b]=(e*G-t)*d;E[q]=g;h.vertices.push(E)}for(e=
+0;e<v;e++)for(f=0;f<y;f++)a=new THREE.Face4(f+I*e+A,f+I*(e+1)+A,f+1+I*(e+1)+A,f+1+I*e+A),a.normal.copy(J),a.vertexNormals.push(J.clone(),J.clone(),J.clone(),J.clone()),a.materialIndex=p,h.faces.push(a),h.faceVertexUvs[0].push([new THREE.Vector2(f/y,1-e/v),new THREE.Vector2(f/y,1-(e+1)/v),new THREE.Vector2((f+1)/y,1-(e+1)/v),new THREE.Vector2((f+1)/y,1-e/v)])}THREE.Geometry.call(this);var h=this;this.width=a;this.height=b;this.depth=c;this.widthSegments=d||1;this.heightSegments=e||1;this.depthSegments=
+f||1;a=this.width/2;b=this.height/2;c=this.depth/2;g("z","y",-1,-1,this.depth,this.height,a,0);g("z","y",1,-1,this.depth,this.height,-a,1);g("x","z",1,1,this.width,this.depth,b,2);g("x","z",1,-1,this.width,this.depth,-b,3);g("x","y",1,-1,this.width,this.height,c,4);g("x","y",-1,-1,this.width,this.height,-c,5);this.computeCentroids();this.mergeVertices()};THREE.CubeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.CylinderGeometry=function(a,b,c,d,e,f){THREE.Geometry.call(this);var a=void 0!==a?a:20,b=void 0!==b?b:20,c=void 0!==c?c:100,g=c/2,d=d||8,e=e||1,h,i,k=[],l=[];for(i=0;i<=e;i++){var m=[],n=[],s=i/e,r=s*(b-a)+a;for(h=0;h<=d;h++){var p=h/d,q=new THREE.Vector3;q.x=r*Math.sin(2*p*Math.PI);q.y=-s*c+g;q.z=r*Math.cos(2*p*Math.PI);this.vertices.push(q);m.push(this.vertices.length-1);n.push(new THREE.Vector2(p,1-s))}k.push(m);l.push(n)}c=(b-a)/c;for(h=0;h<d;h++){0!==a?(m=this.vertices[k[0][h]].clone(),
+n=this.vertices[k[0][h+1]].clone()):(m=this.vertices[k[1][h]].clone(),n=this.vertices[k[1][h+1]].clone());m.setY(Math.sqrt(m.x*m.x+m.z*m.z)*c).normalize();n.setY(Math.sqrt(n.x*n.x+n.z*n.z)*c).normalize();for(i=0;i<e;i++){var s=k[i][h],r=k[i+1][h],p=k[i+1][h+1],q=k[i][h+1],y=m.clone(),v=m.clone(),z=n.clone(),t=n.clone(),A=l[i][h].clone(),I=l[i+1][h].clone(),C=l[i+1][h+1].clone(),x=l[i][h+1].clone();this.faces.push(new THREE.Face4(s,r,p,q,[y,v,z,t]));this.faceVertexUvs[0].push([A,I,C,x])}}if(!f&&0<
+a){this.vertices.push(new THREE.Vector3(0,g,0));for(h=0;h<d;h++)s=k[0][h],r=k[0][h+1],p=this.vertices.length-1,y=new THREE.Vector3(0,1,0),v=new THREE.Vector3(0,1,0),z=new THREE.Vector3(0,1,0),A=l[0][h].clone(),I=l[0][h+1].clone(),C=new THREE.Vector2(I.u,0),this.faces.push(new THREE.Face3(s,r,p,[y,v,z])),this.faceVertexUvs[0].push([A,I,C])}if(!f&&0<b){this.vertices.push(new THREE.Vector3(0,-g,0));for(h=0;h<d;h++)s=k[i][h+1],r=k[i][h],p=this.vertices.length-1,y=new THREE.Vector3(0,-1,0),v=new THREE.Vector3(0,
+-1,0),z=new THREE.Vector3(0,-1,0),A=l[i][h+1].clone(),I=l[i][h].clone(),C=new THREE.Vector2(I.u,1),this.faces.push(new THREE.Face3(s,r,p,[y,v,z])),this.faceVertexUvs[0].push([A,I,C])}this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ExtrudeGeometry=function(a,b){"undefined"!==typeof a&&(THREE.Geometry.call(this),a=a instanceof Array?a:[a],this.shapebb=a[a.length-1].getBoundingBox(),this.addShapeList(a,b),this.computeCentroids(),this.computeFaceNormals())};THREE.ExtrudeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ExtrudeGeometry.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;d<c;d++)this.addShape(a[d],b)};
+THREE.ExtrudeGeometry.prototype.addShape=function(a,b){function c(a,b,c){b||console.log("die");return b.clone().multiplyScalar(c).add(a)}function d(a,b,c){var d=THREE.ExtrudeGeometry.__v1,e=THREE.ExtrudeGeometry.__v2,f=THREE.ExtrudeGeometry.__v3,g=THREE.ExtrudeGeometry.__v4,i=THREE.ExtrudeGeometry.__v5,h=THREE.ExtrudeGeometry.__v6;d.set(a.x-b.x,a.y-b.y);e.set(a.x-c.x,a.y-c.y);d=d.normalize();e=e.normalize();f.set(-d.y,d.x);g.set(e.y,-e.x);i.copy(a).add(f);h.copy(a).add(g);if(i.equals(h))return g.clone();
+i.copy(b).add(f);h.copy(c).add(g);f=d.dot(g);g=h.sub(i).dot(g);0===f&&(console.log("Either infinite or no solutions!"),0===g?console.log("Its finite solutions."):console.log("Too bad, no solutions."));g/=f;return 0>g?(b=Math.atan2(b.y-a.y,b.x-a.x),a=Math.atan2(c.y-a.y,c.x-a.x),b>a&&(a+=2*Math.PI),c=(b+a)/2,a=-Math.cos(c),c=-Math.sin(c),new THREE.Vector2(a,c)):d.multiplyScalar(g).add(i).sub(a).clone()}function e(c,d){var e,f;for(M=c.length;0<=--M;){e=M;f=M-1;0>f&&(f=c.length-1);for(var g=0,i=s+2*l,
+g=0;g<i;g++){var h=fa*g,k=fa*(g+1),m=d+e+h,h=d+f+h,n=d+f+k,k=d+e+k,p=c,q=g,r=i,t=e,y=f,m=m+H,h=h+H,n=n+H,k=k+H;E.faces.push(new THREE.Face4(m,h,n,k,null,null,v));m=z.generateSideWallUV(E,a,p,b,m,h,n,k,q,r,t,y);E.faceVertexUvs[0].push(m)}}}function f(a,b,c){E.vertices.push(new THREE.Vector3(a,b,c))}function g(c,d,e,f){c+=H;d+=H;e+=H;E.faces.push(new THREE.Face3(c,d,e,null,null,y));c=f?z.generateBottomUV(E,a,b,c,d,e):z.generateTopUV(E,a,b,c,d,e);E.faceVertexUvs[0].push(c)}var h=void 0!==b.amount?b.amount:
+100,i=void 0!==b.bevelThickness?b.bevelThickness:6,k=void 0!==b.bevelSize?b.bevelSize:i-2,l=void 0!==b.bevelSegments?b.bevelSegments:3,m=void 0!==b.bevelEnabled?b.bevelEnabled:!0,n=void 0!==b.curveSegments?b.curveSegments:12,s=void 0!==b.steps?b.steps:1,r=b.extrudePath,p,q=!1,y=b.material,v=b.extrudeMaterial,z=void 0!==b.UVGenerator?b.UVGenerator:THREE.ExtrudeGeometry.WorldUVGenerator,t,A,I,C;r&&(p=r.getSpacedPoints(s),q=!0,m=!1,t=void 0!==b.frames?b.frames:new THREE.TubeGeometry.FrenetFrames(r,s,
+!1),A=new THREE.Vector3,I=new THREE.Vector3,C=new THREE.Vector3);m||(k=i=l=0);var x,G,J,E=this,H=this.vertices.length,n=a.extractPoints(n),B=n.shape,n=n.holes;if(r=!THREE.Shape.Utils.isClockWise(B)){B=B.reverse();G=0;for(J=n.length;G<J;G++)x=n[G],THREE.Shape.Utils.isClockWise(x)&&(n[G]=x.reverse());r=!1}var W=THREE.Shape.Utils.triangulateShape(B,n),r=B;G=0;for(J=n.length;G<J;G++)x=n[G],B=B.concat(x);var F,K,L,U,fa=B.length,Ca=W.length,$a=[],M=0,ca=r.length;F=ca-1;for(K=M+1;M<ca;M++,F++,K++)F===ca&&
+(F=0),K===ca&&(K=0),$a[M]=d(r[M],r[F],r[K]);var qa=[],ha,ra=$a.concat();G=0;for(J=n.length;G<J;G++){x=n[G];ha=[];M=0;ca=x.length;F=ca-1;for(K=M+1;M<ca;M++,F++,K++)F===ca&&(F=0),K===ca&&(K=0),ha[M]=d(x[M],x[F],x[K]);qa.push(ha);ra=ra.concat(ha)}for(F=0;F<l;F++){x=F/l;L=i*(1-x);K=k*Math.sin(x*Math.PI/2);M=0;for(ca=r.length;M<ca;M++)U=c(r[M],$a[M],K),f(U.x,U.y,-L);G=0;for(J=n.length;G<J;G++){x=n[G];ha=qa[G];M=0;for(ca=x.length;M<ca;M++)U=c(x[M],ha[M],K),f(U.x,U.y,-L)}}K=k;for(M=0;M<fa;M++)U=m?c(B[M],
+ra[M],K):B[M],q?(I.copy(t.normals[0]).multiplyScalar(U.x),A.copy(t.binormals[0]).multiplyScalar(U.y),C.copy(p[0]).add(I).add(A),f(C.x,C.y,C.z)):f(U.x,U.y,0);for(x=1;x<=s;x++)for(M=0;M<fa;M++)U=m?c(B[M],ra[M],K):B[M],q?(I.copy(t.normals[x]).multiplyScalar(U.x),A.copy(t.binormals[x]).multiplyScalar(U.y),C.copy(p[x]).add(I).add(A),f(C.x,C.y,C.z)):f(U.x,U.y,h/s*x);for(F=l-1;0<=F;F--){x=F/l;L=i*(1-x);K=k*Math.sin(x*Math.PI/2);M=0;for(ca=r.length;M<ca;M++)U=c(r[M],$a[M],K),f(U.x,U.y,h+L);G=0;for(J=n.length;G<
+J;G++){x=n[G];ha=qa[G];M=0;for(ca=x.length;M<ca;M++)U=c(x[M],ha[M],K),q?f(U.x,U.y+p[s-1].y,p[s-1].x+L):f(U.x,U.y,h+L)}}if(m){i=0*fa;for(M=0;M<Ca;M++)h=W[M],g(h[2]+i,h[1]+i,h[0]+i,!0);i=fa*(s+2*l);for(M=0;M<Ca;M++)h=W[M],g(h[0]+i,h[1]+i,h[2]+i,!1)}else{for(M=0;M<Ca;M++)h=W[M],g(h[2],h[1],h[0],!0);for(M=0;M<Ca;M++)h=W[M],g(h[0]+fa*s,h[1]+fa*s,h[2]+fa*s,!1)}h=0;e(r,h);h+=r.length;G=0;for(J=n.length;G<J;G++)x=n[G],e(x,h),h+=x.length};
+THREE.ExtrudeGeometry.WorldUVGenerator={generateTopUV:function(a,b,c,d,e,f){b=a.vertices[e].x;e=a.vertices[e].y;c=a.vertices[f].x;f=a.vertices[f].y;return[new THREE.Vector2(a.vertices[d].x,a.vertices[d].y),new THREE.Vector2(b,e),new THREE.Vector2(c,f)]},generateBottomUV:function(a,b,c,d,e,f){return this.generateTopUV(a,b,c,d,e,f)},generateSideWallUV:function(a,b,c,d,e,f,g,h){var b=a.vertices[e].x,c=a.vertices[e].y,e=a.vertices[e].z,d=a.vertices[f].x,i=a.vertices[f].y,f=a.vertices[f].z,k=a.vertices[g].x,
+l=a.vertices[g].y,g=a.vertices[g].z,m=a.vertices[h].x,n=a.vertices[h].y,a=a.vertices[h].z;return 0.01>Math.abs(c-i)?[new THREE.Vector2(b,1-e),new THREE.Vector2(d,1-f),new THREE.Vector2(k,1-g),new THREE.Vector2(m,1-a)]:[new THREE.Vector2(c,1-e),new THREE.Vector2(i,1-f),new THREE.Vector2(l,1-g),new THREE.Vector2(n,1-a)]}};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;THREE.ShapeGeometry=function(a,b){THREE.Geometry.call(this);!1===a instanceof Array&&(a=[a]);this.shapebb=a[a.length-1].getBoundingBox();this.addShapeList(a,b);this.computeCentroids();this.computeFaceNormals()};THREE.ShapeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ShapeGeometry.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;c<d;c++)this.addShape(a[c],b);return this};
+THREE.ShapeGeometry.prototype.addShape=function(a,b){void 0===b&&(b={});var c=b.material,d=void 0===b.UVGenerator?THREE.ExtrudeGeometry.WorldUVGenerator:b.UVGenerator,e,f,g,h=this.vertices.length;e=a.extractPoints(void 0!==b.curveSegments?b.curveSegments:12);var i=e.shape,k=e.holes;if(!THREE.Shape.Utils.isClockWise(i)){i=i.reverse();e=0;for(f=k.length;e<f;e++)g=k[e],THREE.Shape.Utils.isClockWise(g)&&(k[e]=g.reverse())}var l=THREE.Shape.Utils.triangulateShape(i,k);e=0;for(f=k.length;e<f;e++)g=k[e],
+i=i.concat(g);k=i.length;f=l.length;for(e=0;e<k;e++)g=i[e],this.vertices.push(new THREE.Vector3(g.x,g.y,0));for(e=0;e<f;e++)k=l[e],i=k[0]+h,g=k[1]+h,k=k[2]+h,this.faces.push(new THREE.Face3(i,g,k,null,null,c)),this.faceVertexUvs[0].push(d.generateBottomUV(this,a,b,i,g,k))};THREE.LatheGeometry=function(a,b,c,d){THREE.Geometry.call(this);for(var b=b||12,c=c||0,d=d||2*Math.PI,e=1/(a.length-1),f=1/b,g=0,h=b;g<=h;g++)for(var i=c+g*f*d,k=Math.cos(i),l=Math.sin(i),i=0,m=a.length;i<m;i++){var n=a[i],s=new THREE.Vector3;s.x=k*n.x-l*n.y;s.y=l*n.x+k*n.y;s.z=n.z;this.vertices.push(s)}c=a.length;g=0;for(h=b;g<h;g++){i=0;for(m=a.length-1;i<m;i++)d=b=i+c*g,l=b+c,k=b+1+c,this.faces.push(new THREE.Face4(d,l,k,b+1)),k=g*f,b=i*e,d=k+f,l=b+e,this.faceVertexUvs[0].push([new THREE.Vector2(k,
+b),new THREE.Vector2(d,b),new THREE.Vector2(d,l),new THREE.Vector2(k,l)])}this.mergeVertices();this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.PlaneGeometry=function(a,b,c,d){THREE.Geometry.call(this);this.width=a;this.height=b;this.widthSegments=c||1;this.heightSegments=d||1;for(var c=a/2,e=b/2,d=this.widthSegments,f=this.heightSegments,g=d+1,h=f+1,i=this.width/d,k=this.height/f,l=new THREE.Vector3(0,0,1),a=0;a<h;a++)for(b=0;b<g;b++)this.vertices.push(new THREE.Vector3(b*i-c,-(a*k-e),0));for(a=0;a<f;a++)for(b=0;b<d;b++)c=new THREE.Face4(b+g*a,b+g*(a+1),b+1+g*(a+1),b+1+g*a),c.normal.copy(l),c.vertexNormals.push(l.clone(),l.clone(),
+l.clone(),l.clone()),this.faces.push(c),this.faceVertexUvs[0].push([new THREE.Vector2(b/d,1-a/f),new THREE.Vector2(b/d,1-(a+1)/f),new THREE.Vector2((b+1)/d,1-(a+1)/f),new THREE.Vector2((b+1)/d,1-a/f)]);this.computeCentroids()};THREE.PlaneGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.SphereGeometry=function(a,b,c,d,e,f,g){THREE.Geometry.call(this);this.radius=a||50;this.widthSegments=Math.max(3,Math.floor(b)||8);this.heightSegments=Math.max(2,Math.floor(c)||6);for(var d=void 0!==d?d:0,e=void 0!==e?e:2*Math.PI,f=void 0!==f?f:0,g=void 0!==g?g:Math.PI,h=[],i=[],c=0;c<=this.heightSegments;c++){for(var k=[],l=[],b=0;b<=this.widthSegments;b++){var m=b/this.widthSegments,n=c/this.heightSegments,s=new THREE.Vector3;s.x=-this.radius*Math.cos(d+m*e)*Math.sin(f+n*g);s.y=this.radius*
+Math.cos(f+n*g);s.z=this.radius*Math.sin(d+m*e)*Math.sin(f+n*g);this.vertices.push(s);k.push(this.vertices.length-1);l.push(new THREE.Vector2(m,1-n))}h.push(k);i.push(l)}for(c=0;c<this.heightSegments;c++)for(b=0;b<this.widthSegments;b++){var d=h[c][b+1],e=h[c][b],f=h[c+1][b],g=h[c+1][b+1],k=this.vertices[d].clone().normalize(),l=this.vertices[e].clone().normalize(),m=this.vertices[f].clone().normalize(),n=this.vertices[g].clone().normalize(),s=i[c][b+1].clone(),r=i[c][b].clone(),p=i[c+1][b].clone(),
+q=i[c+1][b+1].clone();Math.abs(this.vertices[d].y)===this.radius?(this.faces.push(new THREE.Face3(d,f,g,[k,m,n])),this.faceVertexUvs[0].push([s,p,q])):Math.abs(this.vertices[f].y)===this.radius?(this.faces.push(new THREE.Face3(d,e,f,[k,l,m])),this.faceVertexUvs[0].push([s,r,p])):(this.faces.push(new THREE.Face4(d,e,f,g,[k,l,m,n])),this.faceVertexUvs[0].push([s,r,p,q]))}this.computeCentroids();this.computeFaceNormals();this.boundingSphere=new THREE.Sphere(new THREE.Vector3,a)};
+THREE.SphereGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.TextGeometry=function(a,b){var c=THREE.FontUtils.generateShapes(a,b);b.amount=void 0!==b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);THREE.ExtrudeGeometry.call(this,c,b)};THREE.TextGeometry.prototype=Object.create(THREE.ExtrudeGeometry.prototype);THREE.TorusGeometry=function(a,b,c,d,e){THREE.Geometry.call(this);this.radius=a||100;this.tube=b||40;this.radialSegments=c||8;this.tubularSegments=d||6;this.arc=e||2*Math.PI;e=new THREE.Vector3;a=[];b=[];for(c=0;c<=this.radialSegments;c++)for(d=0;d<=this.tubularSegments;d++){var f=d/this.tubularSegments*this.arc,g=2*c/this.radialSegments*Math.PI;e.x=this.radius*Math.cos(f);e.y=this.radius*Math.sin(f);var h=new THREE.Vector3;h.x=(this.radius+this.tube*Math.cos(g))*Math.cos(f);h.y=(this.radius+this.tube*
+Math.cos(g))*Math.sin(f);h.z=this.tube*Math.sin(g);this.vertices.push(h);a.push(new THREE.Vector2(d/this.tubularSegments,c/this.radialSegments));b.push(h.clone().sub(e).normalize())}for(c=1;c<=this.radialSegments;c++)for(d=1;d<=this.tubularSegments;d++){var e=(this.tubularSegments+1)*c+d-1,f=(this.tubularSegments+1)*(c-1)+d-1,g=(this.tubularSegments+1)*(c-1)+d,h=(this.tubularSegments+1)*c+d,i=new THREE.Face4(e,f,g,h,[b[e],b[f],b[g],b[h]]);i.normal.add(b[e]);i.normal.add(b[f]);i.normal.add(b[g]);i.normal.add(b[h]);
+i.normal.normalize();this.faces.push(i);this.faceVertexUvs[0].push([a[e].clone(),a[f].clone(),a[g].clone(),a[h].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.TorusKnotGeometry=function(a,b,c,d,e,f,g){function h(a,b,c,d,e,f){var g=Math.cos(a);Math.cos(b);b=Math.sin(a);a*=c/d;c=Math.cos(a);g*=0.5*e*(2+c);b=0.5*e*(2+c)*b;e=0.5*f*e*Math.sin(a);return new THREE.Vector3(g,b,e)}THREE.Geometry.call(this);this.radius=a||100;this.tube=b||40;this.radialSegments=c||64;this.tubularSegments=d||8;this.p=e||2;this.q=f||3;this.heightScale=g||1;this.grid=Array(this.radialSegments);c=new THREE.Vector3;d=new THREE.Vector3;e=new THREE.Vector3;for(a=0;a<this.radialSegments;++a){this.grid[a]=
+Array(this.tubularSegments);for(b=0;b<this.tubularSegments;++b){var i=2*(a/this.radialSegments)*this.p*Math.PI,g=2*(b/this.tubularSegments)*Math.PI,f=h(i,g,this.q,this.p,this.radius,this.heightScale),i=h(i+0.01,g,this.q,this.p,this.radius,this.heightScale);c.subVectors(i,f);d.addVectors(i,f);e.crossVectors(c,d);d.crossVectors(e,c);e.normalize();d.normalize();i=-this.tube*Math.cos(g);g=this.tube*Math.sin(g);f.x+=i*d.x+g*e.x;f.y+=i*d.y+g*e.y;f.z+=i*d.z+g*e.z;this.grid[a][b]=this.vertices.push(new THREE.Vector3(f.x,
+f.y,f.z))-1}}for(a=0;a<this.radialSegments;++a)for(b=0;b<this.tubularSegments;++b){var e=(a+1)%this.radialSegments,f=(b+1)%this.tubularSegments,c=this.grid[a][b],d=this.grid[e][b],e=this.grid[e][f],f=this.grid[a][f],g=new THREE.Vector2(a/this.radialSegments,b/this.tubularSegments),i=new THREE.Vector2((a+1)/this.radialSegments,b/this.tubularSegments),k=new THREE.Vector2((a+1)/this.radialSegments,(b+1)/this.tubularSegments),l=new THREE.Vector2(a/this.radialSegments,(b+1)/this.tubularSegments);this.faces.push(new THREE.Face4(c,
+d,e,f));this.faceVertexUvs[0].push([g,i,k,l])}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.TubeGeometry=function(a,b,c,d,e,f){THREE.Geometry.call(this);this.path=a;this.segments=b||64;this.radius=c||1;this.radiusSegments=d||8;this.closed=e||!1;f&&(this.debug=new THREE.Object3D);this.grid=[];var g,h,e=this.segments+1,i,k,l,f=new THREE.Vector3,m,n,s,b=new THREE.TubeGeometry.FrenetFrames(this.path,this.segments,this.closed);m=b.tangents;n=b.normals;s=b.binormals;this.tangents=m;this.normals=n;this.binormals=s;for(b=0;b<e;b++){this.grid[b]=[];d=b/(e-1);l=a.getPointAt(d);d=m[b];g=n[b];
+h=s[b];this.debug&&(this.debug.add(new THREE.ArrowHelper(d,l,c,255)),this.debug.add(new THREE.ArrowHelper(g,l,c,16711680)),this.debug.add(new THREE.ArrowHelper(h,l,c,65280)));for(d=0;d<this.radiusSegments;d++)i=2*(d/this.radiusSegments)*Math.PI,k=-this.radius*Math.cos(i),i=this.radius*Math.sin(i),f.copy(l),f.x+=k*g.x+i*h.x,f.y+=k*g.y+i*h.y,f.z+=k*g.z+i*h.z,this.grid[b][d]=this.vertices.push(new THREE.Vector3(f.x,f.y,f.z))-1}for(b=0;b<this.segments;b++)for(d=0;d<this.radiusSegments;d++)e=this.closed?
+(b+1)%this.segments:b+1,f=(d+1)%this.radiusSegments,a=this.grid[b][d],c=this.grid[e][d],e=this.grid[e][f],f=this.grid[b][f],m=new THREE.Vector2(b/this.segments,d/this.radiusSegments),n=new THREE.Vector2((b+1)/this.segments,d/this.radiusSegments),s=new THREE.Vector2((b+1)/this.segments,(d+1)/this.radiusSegments),g=new THREE.Vector2(b/this.segments,(d+1)/this.radiusSegments),this.faces.push(new THREE.Face4(a,c,e,f)),this.faceVertexUvs[0].push([m,n,s,g]);this.computeCentroids();this.computeFaceNormals();
+this.computeVertexNormals()};THREE.TubeGeometry.prototype=Object.create(THREE.Geometry.prototype);
+THREE.TubeGeometry.FrenetFrames=function(a,b,c){new THREE.Vector3;var d=new THREE.Vector3;new THREE.Vector3;var e=[],f=[],g=[],h=new THREE.Vector3,i=new THREE.Matrix4,b=b+1,k,l,m;this.tangents=e;this.normals=f;this.binormals=g;for(k=0;k<b;k++)l=k/(b-1),e[k]=a.getTangentAt(l),e[k].normalize();f[0]=new THREE.Vector3;g[0]=new THREE.Vector3;a=Number.MAX_VALUE;k=Math.abs(e[0].x);l=Math.abs(e[0].y);m=Math.abs(e[0].z);k<=a&&(a=k,d.set(1,0,0));l<=a&&(a=l,d.set(0,1,0));m<=a&&d.set(0,0,1);h.crossVectors(e[0],
+d).normalize();f[0].crossVectors(e[0],h);g[0].crossVectors(e[0],f[0]);for(k=1;k<b;k++)f[k]=f[k-1].clone(),g[k]=g[k-1].clone(),h.crossVectors(e[k-1],e[k]),1E-4<h.length()&&(h.normalize(),d=Math.acos(e[k-1].dot(e[k])),f[k].applyMatrix4(i.makeRotationAxis(h,d))),g[k].crossVectors(e[k],f[k]);if(c){d=Math.acos(f[0].dot(f[b-1]));d/=b-1;0<e[0].dot(h.crossVectors(f[0],f[b-1]))&&(d=-d);for(k=1;k<b;k++)f[k].applyMatrix4(i.makeRotationAxis(e[k],d*k)),g[k].crossVectors(e[k],f[k])}};THREE.PolyhedronGeometry=function(a,b,c,d){function e(a){var b=a.normalize().clone();b.index=i.vertices.push(b)-1;var c=Math.atan2(a.z,-a.x)/2/Math.PI+0.5,a=Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+0.5;b.uv=new THREE.Vector2(c,1-a);return b}function f(a,b,c,d){1>d?(d=new THREE.Face3(a.index,b.index,c.index,[a.clone(),b.clone(),c.clone()]),d.centroid.add(a).add(b).add(c).divideScalar(3),d.normal=d.centroid.clone().normalize(),i.faces.push(d),d=Math.atan2(d.centroid.z,-d.centroid.x),i.faceVertexUvs[0].push([h(a.uv,
+a,d),h(b.uv,b,d),h(c.uv,c,d)])):(d-=1,f(a,g(a,b),g(a,c),d),f(g(a,b),b,g(b,c),d),f(g(a,c),g(b,c),c,d),f(g(a,b),g(b,c),g(a,c),d))}function g(a,b){m[a.index]||(m[a.index]=[]);m[b.index]||(m[b.index]=[]);var c=m[a.index][b.index];void 0===c&&(m[a.index][b.index]=m[b.index][a.index]=c=e((new THREE.Vector3).addVectors(a,b).divideScalar(2)));return c}function h(a,b,c){0>c&&1===a.x&&(a=new THREE.Vector2(a.x-1,a.y));0===b.x&&0===b.z&&(a=new THREE.Vector2(c/2/Math.PI+0.5,a.y));return a}THREE.Geometry.call(this);
+for(var c=c||1,d=d||0,i=this,k=0,l=a.length;k<l;k++)e(new THREE.Vector3(a[k][0],a[k][1],a[k][2]));for(var m=[],a=this.vertices,k=0,l=b.length;k<l;k++)f(a[b[k][0]],a[b[k][1]],a[b[k][2]],d);this.mergeVertices();k=0;for(l=this.vertices.length;k<l;k++)this.vertices[k].multiplyScalar(c);this.computeCentroids();this.boundingSphere=new THREE.Sphere(new THREE.Vector3,c)};THREE.PolyhedronGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.IcosahedronGeometry=function(a,b){var c=(1+Math.sqrt(5))/2;THREE.PolyhedronGeometry.call(this,[[-1,c,0],[1,c,0],[-1,-c,0],[1,-c,0],[0,-1,c],[0,1,c],[0,-1,-c],[0,1,-c],[c,0,-1],[c,0,1],[-c,0,-1],[-c,0,1]],[[0,11,5],[0,5,1],[0,1,7],[0,7,10],[0,10,11],[1,5,9],[5,11,4],[11,10,2],[10,7,6],[7,1,8],[3,9,4],[3,4,2],[3,2,6],[3,6,8],[3,8,9],[4,9,5],[2,4,11],[6,2,10],[8,6,7],[9,8,1]],a,b)};THREE.IcosahedronGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.OctahedronGeometry=function(a,b){THREE.PolyhedronGeometry.call(this,[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],[[0,2,4],[0,4,3],[0,3,5],[0,5,2],[1,2,5],[1,5,3],[1,3,4],[1,4,2]],a,b)};THREE.OctahedronGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.TetrahedronGeometry=function(a,b){THREE.PolyhedronGeometry.call(this,[[1,1,1],[-1,-1,1],[-1,1,-1],[1,-1,-1]],[[2,1,0],[0,3,2],[1,3,0],[2,3,1]],a,b)};THREE.TetrahedronGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ParametricGeometry=function(a,b,c,d){THREE.Geometry.call(this);var e=this.vertices,f=this.faces,g=this.faceVertexUvs[0],d=void 0===d?!1:d,h,i,k,l,m=b+1;for(h=0;h<=c;h++){l=h/c;for(i=0;i<=b;i++)k=i/b,k=a(k,l),e.push(k)}var n,s,r,p;for(h=0;h<c;h++)for(i=0;i<b;i++)a=h*m+i,e=h*m+i+1,l=(h+1)*m+i,k=(h+1)*m+i+1,n=new THREE.Vector2(i/b,h/c),s=new THREE.Vector2((i+1)/b,h/c),r=new THREE.Vector2(i/b,(h+1)/c),p=new THREE.Vector2((i+1)/b,(h+1)/c),d?(f.push(new THREE.Face3(a,e,l)),f.push(new THREE.Face3(e,
+k,l)),g.push([n,s,r]),g.push([s,p,r])):(f.push(new THREE.Face4(a,e,k,l)),g.push([n,s,p,r]));this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.ParametricGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ConvexGeometry=function(a){function b(a){var b=a.length();return new THREE.Vector2(a.x/b,a.y/b)}THREE.Geometry.call(this);for(var c=[[0,1,2],[0,2,1]],d=3;d<a.length;d++){var e=d,f=a[e].clone(),g=f.length();f.x+=g*2E-6*(Math.random()-0.5);f.y+=g*2E-6*(Math.random()-0.5);f.z+=g*2E-6*(Math.random()-0.5);for(var g=[],h=0;h<c.length;){var i=c[h],k=f,l=a[i[0]],m;m=l;var n=a[i[1]],s=a[i[2]],r=new THREE.Vector3,p=new THREE.Vector3;r.subVectors(s,n);p.subVectors(m,n);r.cross(p);r.normalize();m=r;l=m.dot(l);
+if(m.dot(k)>=l){for(k=0;3>k;k++){l=[i[k],i[(k+1)%3]];m=!0;for(n=0;n<g.length;n++)if(g[n][0]===l[1]&&g[n][1]===l[0]){g[n]=g[g.length-1];g.pop();m=!1;break}m&&g.push(l)}c[h]=c[c.length-1];c.pop()}else h++}for(n=0;n<g.length;n++)c.push([g[n][0],g[n][1],e])}e=0;f=Array(a.length);for(d=0;d<c.length;d++){g=c[d];for(h=0;3>h;h++)void 0===f[g[h]]&&(f[g[h]]=e++,this.vertices.push(a[g[h]])),g[h]=f[g[h]]}for(d=0;d<c.length;d++)this.faces.push(new THREE.Face3(c[d][0],c[d][1],c[d][2]));for(d=0;d<this.faces.length;d++)g=
+this.faces[d],this.faceVertexUvs[0].push([b(this.vertices[g.a]),b(this.vertices[g.b]),b(this.vertices[g.c])]);this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.ConvexGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.AxisHelper=function(a){var b=new THREE.Geometry;b.vertices.push(new THREE.Vector3,new THREE.Vector3(a||1,0,0),new THREE.Vector3,new THREE.Vector3(0,a||1,0),new THREE.Vector3,new THREE.Vector3(0,0,a||1));b.colors.push(new THREE.Color(16711680),new THREE.Color(16755200),new THREE.Color(65280),new THREE.Color(11206400),new THREE.Color(255),new THREE.Color(43775));a=new THREE.LineBasicMaterial({vertexColors:THREE.VertexColors});THREE.Line.call(this,b,a,THREE.LinePieces)};
+THREE.AxisHelper.prototype=Object.create(THREE.Line.prototype);THREE.ArrowHelper=function(a,b,c,d){THREE.Object3D.call(this);void 0===c&&(c=20);void 0===d&&(d=16776960);var e=new THREE.Geometry;e.vertices.push(new THREE.Vector3(0,0,0));e.vertices.push(new THREE.Vector3(0,1,0));this.line=new THREE.Line(e,new THREE.LineBasicMaterial({color:d}));this.add(this.line);e=new THREE.CylinderGeometry(0,0.05,0.25,5,1);this.cone=new THREE.Mesh(e,new THREE.MeshBasicMaterial({color:d}));this.cone.position.set(0,1,0);this.add(this.cone);b instanceof THREE.Vector3&&(this.position=
+b);this.setDirection(a);this.setLength(c)};THREE.ArrowHelper.prototype=Object.create(THREE.Object3D.prototype);THREE.ArrowHelper.prototype.setDirection=function(a){var b=THREE.ArrowHelper.__v1.copy(a).normalize();0.999<b.y?this.rotation.set(0,0,0):-0.999>b.y?this.rotation.set(Math.PI,0,0):(a=THREE.ArrowHelper.__v2.set(b.z,0,-b.x).normalize(),b=Math.acos(b.y),a=THREE.ArrowHelper.__q1.setFromAxisAngle(a,b),this.rotation.setEulerFromQuaternion(a,this.eulerOrder))};
+THREE.ArrowHelper.prototype.setLength=function(a){this.scale.set(a,a,a)};THREE.ArrowHelper.prototype.setColor=function(a){this.line.material.color.setHex(a);this.cone.material.color.setHex(a)};THREE.ArrowHelper.__v1=new THREE.Vector3;THREE.ArrowHelper.__v2=new THREE.Vector3;THREE.ArrowHelper.__q1=new THREE.Quaternion;THREE.CameraHelper=function(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.geometry.vertices.push(new THREE.Vector3);d.geometry.colors.push(new THREE.Color(b));void 0===d.pointMap[a]&&(d.pointMap[a]=[]);d.pointMap[a].push(d.geometry.vertices.length-1)}THREE.Line.call(this);var d=this;this.geometry=new THREE.Geometry;this.material=new THREE.LineBasicMaterial({color:16777215,vertexColors:THREE.FaceColors});this.type=THREE.LinePieces;this.matrixWorld=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=
+{};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200);b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1",
+"cf2",3355443);b("cf3","cf4",3355443);this.camera=a;this.update(a)};THREE.CameraHelper.prototype=Object.create(THREE.Line.prototype);
+THREE.CameraHelper.prototype.update=function(){function a(a,d,e,f){THREE.CameraHelper.__v.set(d,e,f);THREE.CameraHelper.__projector.unprojectVector(THREE.CameraHelper.__v,THREE.CameraHelper.__c);a=b.pointMap[a];if(void 0!==a){d=0;for(e=a.length;d<e;d++)b.geometry.vertices[a[d]].copy(THREE.CameraHelper.__v)}}var b=this;THREE.CameraHelper.__c.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);
+a("f2",1,-1,1);a("f3",-1,1,1);a("f4",1,1,1);a("u1",0.7,1.1,-1);a("u2",-0.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",-1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);this.geometry.verticesNeedUpdate=!0};THREE.CameraHelper.__projector=new THREE.Projector;THREE.CameraHelper.__v=new THREE.Vector3;THREE.CameraHelper.__c=new THREE.Camera;THREE.DirectionalLightHelper=function(a,b){THREE.Object3D.call(this);this.light=a;this.position=a.position;this.direction=new THREE.Vector3;this.direction.subVectors(a.target.position,a.position);var c=THREE.Math.clamp(a.intensity,0,1);this.color=a.color.clone();this.color.multiplyScalar(c);var c=this.color.getHex(),d=new THREE.SphereGeometry(b,16,8),e=new THREE.AsteriskGeometry(1.25*b,2.25*b),f=new THREE.MeshBasicMaterial({color:c,fog:!1}),g=new THREE.LineBasicMaterial({color:c,fog:!1});this.lightSphere=
+new THREE.Mesh(d,f);this.lightRays=new THREE.Line(e,g,THREE.LinePieces);this.add(this.lightSphere);this.add(this.lightRays);this.lightSphere.properties.isGizmo=!0;this.lightSphere.properties.gizmoSubject=a;this.lightSphere.properties.gizmoRoot=this;this.targetSphere=null;void 0!==a.target.properties.targetInverse&&(d=new THREE.SphereGeometry(b,8,4),e=new THREE.MeshBasicMaterial({color:c,wireframe:!0,fog:!1}),this.targetSphere=new THREE.Mesh(d,e),this.targetSphere.position=a.target.position,this.targetSphere.properties.isGizmo=
+!0,this.targetSphere.properties.gizmoSubject=a.target,this.targetSphere.properties.gizmoRoot=this.targetSphere,c=new THREE.LineDashedMaterial({color:c,dashSize:4,gapSize:4,opacity:0.75,transparent:!0,fog:!1}),d=new THREE.Geometry,d.vertices.push(this.position.clone()),d.vertices.push(this.targetSphere.position.clone()),d.computeLineDistances(),this.targetLine=new THREE.Line(d,c),this.targetLine.properties.isGizmo=!0);this.properties.isGizmo=!0};THREE.DirectionalLightHelper.prototype=Object.create(THREE.Object3D.prototype);
+THREE.DirectionalLightHelper.prototype.update=function(){this.direction.subVectors(this.light.target.position,this.light.position);var a=THREE.Math.clamp(this.light.intensity,0,1);this.color.copy(this.light.color);this.color.multiplyScalar(a);this.lightSphere.material.color.copy(this.color);this.lightRays.material.color.copy(this.color);null!==this.targetSphere&&(this.targetSphere.material.color.copy(this.color),this.targetLine.material.color.copy(this.color),this.targetLine.geometry.vertices[0].copy(this.light.position),
+this.targetLine.geometry.vertices[1].copy(this.light.target.position),this.targetLine.geometry.computeLineDistances(),this.targetLine.geometry.verticesNeedUpdate=!0)};THREE.HemisphereLightHelper=function(a,b,c){THREE.Object3D.call(this);this.light=a;this.position=a.position;var d=THREE.Math.clamp(a.intensity,0,1);this.color=a.color.clone();this.color.multiplyScalar(d);var e=this.color.getHex();this.groundColor=a.groundColor.clone();this.groundColor.multiplyScalar(d);for(var d=this.groundColor.getHex(),f=new THREE.SphereGeometry(b,16,8,0,2*Math.PI,0,0.5*Math.PI),g=new THREE.SphereGeometry(b,16,8,0,2*Math.PI,0.5*Math.PI,Math.PI),h=new THREE.MeshBasicMaterial({color:e,
+fog:!1}),i=new THREE.MeshBasicMaterial({color:d,fog:!1}),k=0,l=f.faces.length;k<l;k++)f.faces[k].materialIndex=0;k=0;for(l=g.faces.length;k<l;k++)g.faces[k].materialIndex=1;THREE.GeometryUtils.merge(f,g);this.lightSphere=new THREE.Mesh(f,new THREE.MeshFaceMaterial([h,i]));this.lightArrow=new THREE.ArrowHelper(new THREE.Vector3(0,1,0),new THREE.Vector3(0,1.1*(b+c),0),c,e);this.lightArrow.rotation.x=Math.PI;this.lightArrowGround=new THREE.ArrowHelper(new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1.1*
+(b+c),0),c,d);b=new THREE.Object3D;b.rotation.x=0.5*-Math.PI;b.add(this.lightSphere);b.add(this.lightArrow);b.add(this.lightArrowGround);this.add(b);this.lightSphere.properties.isGizmo=!0;this.lightSphere.properties.gizmoSubject=a;this.lightSphere.properties.gizmoRoot=this;this.properties.isGizmo=!0;this.target=new THREE.Vector3;this.lookAt(this.target)};THREE.HemisphereLightHelper.prototype=Object.create(THREE.Object3D.prototype);
+THREE.HemisphereLightHelper.prototype.update=function(){var a=THREE.Math.clamp(this.light.intensity,0,1);this.color.copy(this.light.color);this.color.multiplyScalar(a);this.groundColor.copy(this.light.groundColor);this.groundColor.multiplyScalar(a);this.lightSphere.material.materials[0].color.copy(this.color);this.lightSphere.material.materials[1].color.copy(this.groundColor);this.lightArrow.setColor(this.color.getHex());this.lightArrowGround.setColor(this.groundColor.getHex());this.lookAt(this.target)};THREE.PointLightHelper=function(a,b){THREE.Object3D.call(this);this.light=a;this.position=a.position;var c=THREE.Math.clamp(a.intensity,0,1);this.color=a.color.clone();this.color.multiplyScalar(c);var d=this.color.getHex(),c=new THREE.SphereGeometry(b,16,8),e=new THREE.AsteriskGeometry(1.25*b,2.25*b),f=new THREE.IcosahedronGeometry(1,2),g=new THREE.MeshBasicMaterial({color:d,fog:!1}),h=new THREE.LineBasicMaterial({color:d,fog:!1}),d=new THREE.MeshBasicMaterial({color:d,fog:!1,wireframe:!0,opacity:0.1,
+transparent:!0});this.lightSphere=new THREE.Mesh(c,g);this.lightRays=new THREE.Line(e,h,THREE.LinePieces);this.lightDistance=new THREE.Mesh(f,d);c=a.distance;0===c?this.lightDistance.visible=!1:this.lightDistance.scale.set(c,c,c);this.add(this.lightSphere);this.add(this.lightRays);this.add(this.lightDistance);this.lightSphere.properties.isGizmo=!0;this.lightSphere.properties.gizmoSubject=a;this.lightSphere.properties.gizmoRoot=this;this.properties.isGizmo=!0};THREE.PointLightHelper.prototype=Object.create(THREE.Object3D.prototype);
+THREE.PointLightHelper.prototype.update=function(){var a=THREE.Math.clamp(this.light.intensity,0,1);this.color.copy(this.light.color);this.color.multiplyScalar(a);this.lightSphere.material.color.copy(this.color);this.lightRays.material.color.copy(this.color);this.lightDistance.material.color.copy(this.color);a=this.light.distance;0===a?this.lightDistance.visible=!1:(this.lightDistance.visible=!0,this.lightDistance.scale.set(a,a,a))};THREE.SpotLightHelper=function(a,b){THREE.Object3D.call(this);this.light=a;this.position=a.position;this.direction=new THREE.Vector3;this.direction.subVectors(a.target.position,a.position);var c=THREE.Math.clamp(a.intensity,0,1);this.color=a.color.clone();this.color.multiplyScalar(c);var c=this.color.getHex(),d=new THREE.SphereGeometry(b,16,8),e=new THREE.AsteriskGeometry(1.25*b,2.25*b),f=new THREE.CylinderGeometry(1E-4,1,1,8,1,!0),g=new THREE.Matrix4;g.rotateX(-Math.PI/2);g.translate(new THREE.Vector3(0,
+-0.5,0));f.applyMatrix(g);var h=new THREE.MeshBasicMaterial({color:c,fog:!1}),g=new THREE.LineBasicMaterial({color:c,fog:!1}),i=new THREE.MeshBasicMaterial({color:c,fog:!1,wireframe:!0,opacity:0.3,transparent:!0});this.lightSphere=new THREE.Mesh(d,h);this.lightCone=new THREE.Mesh(f,i);d=a.distance?a.distance:1E4;f=2*d*Math.tan(0.5*a.angle);this.lightCone.scale.set(f,f,d);this.lightRays=new THREE.Line(e,g,THREE.LinePieces);this.gyroscope=new THREE.Gyroscope;this.gyroscope.add(this.lightSphere);this.gyroscope.add(this.lightRays);
+this.add(this.gyroscope);this.add(this.lightCone);this.lookAt(a.target.position);this.lightSphere.properties.isGizmo=!0;this.lightSphere.properties.gizmoSubject=a;this.lightSphere.properties.gizmoRoot=this;this.targetSphere=null;void 0!==a.target.properties.targetInverse&&(e=new THREE.SphereGeometry(b,8,4),g=new THREE.MeshBasicMaterial({color:c,wireframe:!0,fog:!1}),this.targetSphere=new THREE.Mesh(e,g),this.targetSphere.position=a.target.position,this.targetSphere.properties.isGizmo=!0,this.targetSphere.properties.gizmoSubject=
+a.target,this.targetSphere.properties.gizmoRoot=this.targetSphere,c=new THREE.LineDashedMaterial({color:c,dashSize:4,gapSize:4,opacity:0.75,transparent:!0,fog:!1}),e=new THREE.Geometry,e.vertices.push(this.position.clone()),e.vertices.push(this.targetSphere.position.clone()),e.computeLineDistances(),this.targetLine=new THREE.Line(e,c),this.targetLine.properties.isGizmo=!0);this.properties.isGizmo=!0};THREE.SpotLightHelper.prototype=Object.create(THREE.Object3D.prototype);
+THREE.SpotLightHelper.prototype.update=function(){this.direction.subVectors(this.light.target.position,this.light.position);this.lookAt(this.light.target.position);var a=this.light.distance?this.light.distance:1E4,b=2*a*Math.tan(0.5*this.light.angle);this.lightCone.scale.set(b,b,a);a=THREE.Math.clamp(this.light.intensity,0,1);this.color.copy(this.light.color);this.color.multiplyScalar(a);this.lightSphere.material.color.copy(this.color);this.lightRays.material.color.copy(this.color);this.lightCone.material.color.copy(this.color);
+null!==this.targetSphere&&(this.targetSphere.material.color.copy(this.color),this.targetLine.material.color.copy(this.color),this.targetLine.geometry.vertices[0].copy(this.light.position),this.targetLine.geometry.vertices[1].copy(this.light.target.position),this.targetLine.geometry.computeLineDistances(),this.targetLine.geometry.verticesNeedUpdate=!0)};THREE.ImmediateRenderObject=function(){THREE.Object3D.call(this);this.render=function(){}};THREE.ImmediateRenderObject.prototype=Object.create(THREE.Object3D.prototype);THREE.LensFlare=function(a,b,c,d,e){THREE.Object3D.call(this);this.lensFlares=[];this.positionScreen=new THREE.Vector3;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)};THREE.LensFlare.prototype=Object.create(THREE.Object3D.prototype);
+THREE.LensFlare.prototype.add=function(a,b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new THREE.Color(16777215));void 0===d&&(d=THREE.NormalBlending);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:1,opacity:f,color:e,blending:d})};
+THREE.LensFlare.prototype.updateLensFlares=function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;a<b;a++)c=this.lensFlares[a],c.x=this.positionScreen.x+d*c.distance,c.y=this.positionScreen.y+e*c.distance,c.wantedRotation=0.25*c.x*Math.PI,c.rotation+=0.25*(c.wantedRotation-c.rotation)};THREE.MorphBlendMesh=function(a,b){THREE.Mesh.call(this,a,b);this.animationsMap={};this.animationsList=[];var c=this.geometry.morphTargets.length;this.createAnimation("__default",0,c-1,c/1);this.setAnimationWeight("__default",1)};THREE.MorphBlendMesh.prototype=Object.create(THREE.Mesh.prototype);
+THREE.MorphBlendMesh.prototype.createAnimation=function(a,b,c,d){b={startFrame:b,endFrame:c,length:c-b+1,fps:d,duration:(c-b)/d,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[a]=b;this.animationsList.push(b)};
+THREE.MorphBlendMesh.prototype.autoCreateAnimations=function(a){for(var b=/([a-z]+)(\d+)/,c,d={},e=this.geometry,f=0,g=e.morphTargets.length;f<g;f++){var h=e.morphTargets[f].name.match(b);if(h&&1<h.length){var i=h[1];d[i]||(d[i]={start:Infinity,end:-Infinity});h=d[i];f<h.start&&(h.start=f);f>h.end&&(h.end=f);c||(c=i)}}for(i in d)h=d[i],this.createAnimation(i,h.start,h.end,a);this.firstAnimation=c};
+THREE.MorphBlendMesh.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};THREE.MorphBlendMesh.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)};
+THREE.MorphBlendMesh.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};THREE.MorphBlendMesh.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};THREE.MorphBlendMesh.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};THREE.MorphBlendMesh.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b};
+THREE.MorphBlendMesh.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};THREE.MorphBlendMesh.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("animation["+a+"] undefined")};THREE.MorphBlendMesh.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};
+THREE.MorphBlendMesh.prototype.update=function(a){for(var b=0,c=this.animationsList.length;b<c;b++){var d=this.animationsList[b];if(d.active){var e=d.duration/d.length;d.time+=d.direction*a;if(d.mirroredLoop){if(d.time>d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.startFrame+THREE.Math.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;
+f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);this.morphTargetInfluences[d.currentFrame]=e*g;this.morphTargetInfluences[d.lastFrame]=(1-e)*g}}};THREE.LensFlarePlugin=function(){function a(a,c){var d=b.createProgram(),e=b.createShader(b.FRAGMENT_SHADER),f=b.createShader(b.VERTEX_SHADER),g="precision "+c+" float;\n";b.shaderSource(e,g+a.fragmentShader);b.shaderSource(f,g+a.vertexShader);b.compileShader(e);b.compileShader(f);b.attachShader(d,e);b.attachShader(d,f);b.linkProgram(d);return d}var b,c,d,e,f,g,h,i,k,l,m,n,s;this.init=function(r){b=r.context;c=r;d=r.getPrecision();e=new Float32Array(16);f=new Uint16Array(6);r=0;e[r++]=-1;e[r++]=-1;
+e[r++]=0;e[r++]=0;e[r++]=1;e[r++]=-1;e[r++]=1;e[r++]=0;e[r++]=1;e[r++]=1;e[r++]=1;e[r++]=1;e[r++]=-1;e[r++]=1;e[r++]=0;e[r++]=1;r=0;f[r++]=0;f[r++]=1;f[r++]=2;f[r++]=0;f[r++]=2;f[r++]=3;g=b.createBuffer();h=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,g);b.bufferData(b.ARRAY_BUFFER,e,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.bufferData(b.ELEMENT_ARRAY_BUFFER,f,b.STATIC_DRAW);i=b.createTexture();k=b.createTexture();b.bindTexture(b.TEXTURE_2D,i);b.texImage2D(b.TEXTURE_2D,0,b.RGB,16,16,
+0,b.RGB,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.bindTexture(b.TEXTURE_2D,k);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,16,16,0,b.RGBA,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);
+b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);0>=b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)?(l=!1,m=a(THREE.ShaderFlares.lensFlare,d)):(l=!0,m=a(THREE.ShaderFlares.lensFlareVertexTexture,d));n={};s={};n.vertex=b.getAttribLocation(m,"position");n.uv=b.getAttribLocation(m,"uv");s.renderType=b.getUniformLocation(m,"renderType");s.map=b.getUniformLocation(m,"map");s.occlusionMap=b.getUniformLocation(m,"occlusionMap");s.opacity=
+b.getUniformLocation(m,"opacity");s.color=b.getUniformLocation(m,"color");s.scale=b.getUniformLocation(m,"scale");s.rotation=b.getUniformLocation(m,"rotation");s.screenPosition=b.getUniformLocation(m,"screenPosition")};this.render=function(a,d,e,f){var a=a.__webglFlares,v=a.length;if(v){var z=new THREE.Vector3,t=f/e,A=0.5*e,I=0.5*f,C=16/f,x=new THREE.Vector2(C*t,C),G=new THREE.Vector3(1,1,0),J=new THREE.Vector2(1,1),E=s,C=n;b.useProgram(m);b.enableVertexAttribArray(n.vertex);b.enableVertexAttribArray(n.uv);
+b.uniform1i(E.occlusionMap,0);b.uniform1i(E.map,1);b.bindBuffer(b.ARRAY_BUFFER,g);b.vertexAttribPointer(C.vertex,2,b.FLOAT,!1,16,0);b.vertexAttribPointer(C.uv,2,b.FLOAT,!1,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.disable(b.CULL_FACE);b.depthMask(!1);var H,B,W,F,K;for(H=0;H<v;H++)if(C=16/f,x.set(C*t,C),F=a[H],z.set(F.matrixWorld.elements[12],F.matrixWorld.elements[13],F.matrixWorld.elements[14]),z.applyMatrix4(d.matrixWorldInverse),z.applyProjection(d.projectionMatrix),G.copy(z),J.x=G.x*A+A,
+J.y=G.y*I+I,l||0<J.x&&J.x<e&&0<J.y&&J.y<f){b.activeTexture(b.TEXTURE1);b.bindTexture(b.TEXTURE_2D,i);b.copyTexImage2D(b.TEXTURE_2D,0,b.RGB,J.x-8,J.y-8,16,16,0);b.uniform1i(E.renderType,0);b.uniform2f(E.scale,x.x,x.y);b.uniform3f(E.screenPosition,G.x,G.y,G.z);b.disable(b.BLEND);b.enable(b.DEPTH_TEST);b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0);b.activeTexture(b.TEXTURE0);b.bindTexture(b.TEXTURE_2D,k);b.copyTexImage2D(b.TEXTURE_2D,0,b.RGBA,J.x-8,J.y-8,16,16,0);b.uniform1i(E.renderType,1);b.disable(b.DEPTH_TEST);
+b.activeTexture(b.TEXTURE1);b.bindTexture(b.TEXTURE_2D,i);b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0);F.positionScreen.copy(G);F.customUpdateCallback?F.customUpdateCallback(F):F.updateLensFlares();b.uniform1i(E.renderType,2);b.enable(b.BLEND);B=0;for(W=F.lensFlares.length;B<W;B++)K=F.lensFlares[B],0.001<K.opacity&&0.001<K.scale&&(G.x=K.x,G.y=K.y,G.z=K.z,C=K.size*K.scale/f,x.x=C*t,x.y=C,b.uniform3f(E.screenPosition,G.x,G.y,G.z),b.uniform2f(E.scale,x.x,x.y),b.uniform1f(E.rotation,K.rotation),b.uniform1f(E.opacity,
+K.opacity),b.uniform3f(E.color,K.color.r,K.color.g,K.color.b),c.setBlending(K.blending,K.blendEquation,K.blendSrc,K.blendDst),c.setTexture(K.texture,1),b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0))}b.enable(b.CULL_FACE);b.enable(b.DEPTH_TEST);b.depthMask(!0)}}};THREE.ShadowMapPlugin=function(){var a,b,c,d,e,f,g=new THREE.Frustum,h=new THREE.Matrix4,i=new THREE.Vector3,k=new THREE.Vector3,l=new THREE.Vector3;this.init=function(g){a=g.context;b=g;var g=THREE.ShaderLib.depthRGBA,i=THREE.UniformsUtils.clone(g.uniforms);c=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:i});d=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:i,morphTargets:!0});e=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,
+vertexShader:g.vertexShader,uniforms:i,skinning:!0});f=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:i,morphTargets:!0,skinning:!0});c._shadowPass=!0;d._shadowPass=!0;e._shadowPass=!0;f._shadowPass=!0};this.render=function(a,c){b.shadowMapEnabled&&b.shadowMapAutoUpdate&&this.update(a,c)};this.update=function(m,n){var s,r,p,q,y,v,z,t,A,I=[];q=0;a.clearColor(1,1,1,1);a.disable(a.BLEND);a.enable(a.CULL_FACE);a.frontFace(a.CCW);b.shadowMapCullFace===THREE.CullFaceFront?
+a.cullFace(a.FRONT):a.cullFace(a.BACK);b.setDepthTest(!0);s=0;for(r=m.__lights.length;s<r;s++)if(p=m.__lights[s],p.castShadow)if(p instanceof THREE.DirectionalLight&&p.shadowCascade)for(y=0;y<p.shadowCascadeCount;y++){var C;if(p.shadowCascadeArray[y])C=p.shadowCascadeArray[y];else{A=p;z=y;C=new THREE.DirectionalLight;C.isVirtual=!0;C.onlyShadow=!0;C.castShadow=!0;C.shadowCameraNear=A.shadowCameraNear;C.shadowCameraFar=A.shadowCameraFar;C.shadowCameraLeft=A.shadowCameraLeft;C.shadowCameraRight=A.shadowCameraRight;
+C.shadowCameraBottom=A.shadowCameraBottom;C.shadowCameraTop=A.shadowCameraTop;C.shadowCameraVisible=A.shadowCameraVisible;C.shadowDarkness=A.shadowDarkness;C.shadowBias=A.shadowCascadeBias[z];C.shadowMapWidth=A.shadowCascadeWidth[z];C.shadowMapHeight=A.shadowCascadeHeight[z];C.pointsWorld=[];C.pointsFrustum=[];t=C.pointsWorld;v=C.pointsFrustum;for(var x=0;8>x;x++)t[x]=new THREE.Vector3,v[x]=new THREE.Vector3;t=A.shadowCascadeNearZ[z];A=A.shadowCascadeFarZ[z];v[0].set(-1,-1,t);v[1].set(1,-1,t);v[2].set(-1,
+1,t);v[3].set(1,1,t);v[4].set(-1,-1,A);v[5].set(1,-1,A);v[6].set(-1,1,A);v[7].set(1,1,A);C.originalCamera=n;v=new THREE.Gyroscope;v.position=p.shadowCascadeOffset;v.add(C);v.add(C.target);n.add(v);p.shadowCascadeArray[y]=C;console.log("Created virtualLight",C)}z=p;t=y;A=z.shadowCascadeArray[t];A.position.copy(z.position);A.target.position.copy(z.target.position);A.lookAt(A.target);A.shadowCameraVisible=z.shadowCameraVisible;A.shadowDarkness=z.shadowDarkness;A.shadowBias=z.shadowCascadeBias[t];v=z.shadowCascadeNearZ[t];
+z=z.shadowCascadeFarZ[t];A=A.pointsFrustum;A[0].z=v;A[1].z=v;A[2].z=v;A[3].z=v;A[4].z=z;A[5].z=z;A[6].z=z;A[7].z=z;I[q]=C;q++}else I[q]=p,q++;s=0;for(r=I.length;s<r;s++){p=I[s];p.shadowMap||(y=THREE.LinearFilter,b.shadowMapType===THREE.PCFSoftShadowMap&&(y=THREE.NearestFilter),p.shadowMap=new THREE.WebGLRenderTarget(p.shadowMapWidth,p.shadowMapHeight,{minFilter:y,magFilter:y,format:THREE.RGBAFormat}),p.shadowMapSize=new THREE.Vector2(p.shadowMapWidth,p.shadowMapHeight),p.shadowMatrix=new THREE.Matrix4);
+if(!p.shadowCamera){if(p instanceof THREE.SpotLight)p.shadowCamera=new THREE.PerspectiveCamera(p.shadowCameraFov,p.shadowMapWidth/p.shadowMapHeight,p.shadowCameraNear,p.shadowCameraFar);else if(p instanceof THREE.DirectionalLight)p.shadowCamera=new THREE.OrthographicCamera(p.shadowCameraLeft,p.shadowCameraRight,p.shadowCameraTop,p.shadowCameraBottom,p.shadowCameraNear,p.shadowCameraFar);else{console.error("Unsupported light type for shadow");continue}m.add(p.shadowCamera);b.autoUpdateScene&&m.updateMatrixWorld()}p.shadowCameraVisible&&
+!p.cameraHelper&&(p.cameraHelper=new THREE.CameraHelper(p.shadowCamera),p.shadowCamera.add(p.cameraHelper));if(p.isVirtual&&C.originalCamera==n){y=n;q=p.shadowCamera;v=p.pointsFrustum;A=p.pointsWorld;i.set(Infinity,Infinity,Infinity);k.set(-Infinity,-Infinity,-Infinity);for(z=0;8>z;z++)t=A[z],t.copy(v[z]),THREE.ShadowMapPlugin.__projector.unprojectVector(t,y),t.applyMatrix4(q.matrixWorldInverse),t.x<i.x&&(i.x=t.x),t.x>k.x&&(k.x=t.x),t.y<i.y&&(i.y=t.y),t.y>k.y&&(k.y=t.y),t.z<i.z&&(i.z=t.z),t.z>k.z&&
+(k.z=t.z);q.left=i.x;q.right=k.x;q.top=k.y;q.bottom=i.y;q.updateProjectionMatrix()}q=p.shadowMap;v=p.shadowMatrix;y=p.shadowCamera;y.position.getPositionFromMatrix(p.matrixWorld);l.getPositionFromMatrix(p.target.matrixWorld);y.lookAt(l);y.updateMatrixWorld();y.matrixWorldInverse.getInverse(y.matrixWorld);p.cameraHelper&&(p.cameraHelper.visible=p.shadowCameraVisible);p.shadowCameraVisible&&p.cameraHelper.update();v.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);v.multiply(y.projectionMatrix);v.multiply(y.matrixWorldInverse);
+h.multiplyMatrices(y.projectionMatrix,y.matrixWorldInverse);g.setFromMatrix(h);b.setRenderTarget(q);b.clear();A=m.__webglObjects;p=0;for(q=A.length;p<q;p++)if(z=A[p],v=z.object,z.render=!1,v.visible&&v.castShadow&&(!(v instanceof THREE.Mesh||v instanceof THREE.ParticleSystem)||!v.frustumCulled||g.intersectsObject(v)))v._modelViewMatrix.multiplyMatrices(y.matrixWorldInverse,v.matrixWorld),z.render=!0;p=0;for(q=A.length;p<q;p++)z=A[p],z.render&&(v=z.object,z=z.buffer,x=v.material instanceof THREE.MeshFaceMaterial?
+v.material.materials[0]:v.material,t=0<v.geometry.morphTargets.length&&x.morphTargets,x=v instanceof THREE.SkinnedMesh&&x.skinning,t=v.customDepthMaterial?v.customDepthMaterial:x?t?f:e:t?d:c,z instanceof THREE.BufferGeometry?b.renderBufferDirect(y,m.__lights,null,t,z,v):b.renderBuffer(y,m.__lights,null,t,z,v));A=m.__webglObjectsImmediate;p=0;for(q=A.length;p<q;p++)z=A[p],v=z.object,v.visible&&v.castShadow&&(v._modelViewMatrix.multiplyMatrices(y.matrixWorldInverse,v.matrixWorld),b.renderImmediateObject(y,
+m.__lights,null,c,v))}s=b.getClearColor();r=b.getClearAlpha();a.clearColor(s.r,s.g,s.b,r);a.enable(a.BLEND);b.shadowMapCullFace===THREE.CullFaceFront&&a.cullFace(a.BACK)}};THREE.ShadowMapPlugin.__projector=new THREE.Projector;THREE.SpritePlugin=function(){function a(a,b){return a.z!==b.z?b.z-a.z:b.id-a.id}var b,c,d,e,f,g,h,i,k,l;this.init=function(a){b=a.context;c=a;d=a.getPrecision();e=new Float32Array(16);f=new Uint16Array(6);a=0;e[a++]=-1;e[a++]=-1;e[a++]=0;e[a++]=0;e[a++]=1;e[a++]=-1;e[a++]=1;e[a++]=0;e[a++]=1;e[a++]=1;e[a++]=1;e[a++]=1;e[a++]=-1;e[a++]=1;e[a++]=0;e[a++]=1;a=0;f[a++]=0;f[a++]=1;f[a++]=2;f[a++]=0;f[a++]=2;f[a++]=3;g=b.createBuffer();h=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,g);b.bufferData(b.ARRAY_BUFFER,
+e,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.bufferData(b.ELEMENT_ARRAY_BUFFER,f,b.STATIC_DRAW);var a=THREE.ShaderSprite.sprite,n=b.createProgram(),s=b.createShader(b.FRAGMENT_SHADER),r=b.createShader(b.VERTEX_SHADER),p="precision "+d+" float;\n";b.shaderSource(s,p+a.fragmentShader);b.shaderSource(r,p+a.vertexShader);b.compileShader(s);b.compileShader(r);b.attachShader(n,s);b.attachShader(n,r);b.linkProgram(n);i=n;k={};l={};k.position=b.getAttribLocation(i,"position");k.uv=b.getAttribLocation(i,
+"uv");l.uvOffset=b.getUniformLocation(i,"uvOffset");l.uvScale=b.getUniformLocation(i,"uvScale");l.rotation=b.getUniformLocation(i,"rotation");l.scale=b.getUniformLocation(i,"scale");l.alignment=b.getUniformLocation(i,"alignment");l.color=b.getUniformLocation(i,"color");l.map=b.getUniformLocation(i,"map");l.opacity=b.getUniformLocation(i,"opacity");l.useScreenCoordinates=b.getUniformLocation(i,"useScreenCoordinates");l.sizeAttenuation=b.getUniformLocation(i,"sizeAttenuation");l.screenPosition=b.getUniformLocation(i,
+"screenPosition");l.modelViewMatrix=b.getUniformLocation(i,"modelViewMatrix");l.projectionMatrix=b.getUniformLocation(i,"projectionMatrix");l.fogType=b.getUniformLocation(i,"fogType");l.fogDensity=b.getUniformLocation(i,"fogDensity");l.fogNear=b.getUniformLocation(i,"fogNear");l.fogFar=b.getUniformLocation(i,"fogFar");l.fogColor=b.getUniformLocation(i,"fogColor");l.alphaTest=b.getUniformLocation(i,"alphaTest")};this.render=function(d,e,f,r){var p=d.__webglSprites,q=p.length;if(q){var y=k,v=l,z=r/
+f,f=0.5*f,t=0.5*r;b.useProgram(i);b.enableVertexAttribArray(y.position);b.enableVertexAttribArray(y.uv);b.disable(b.CULL_FACE);b.enable(b.BLEND);b.bindBuffer(b.ARRAY_BUFFER,g);b.vertexAttribPointer(y.position,2,b.FLOAT,!1,16,0);b.vertexAttribPointer(y.uv,2,b.FLOAT,!1,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.uniformMatrix4fv(v.projectionMatrix,!1,e.projectionMatrix.elements);b.activeTexture(b.TEXTURE0);b.uniform1i(v.map,0);var A=y=0,I=d.fog;I?(b.uniform3f(v.fogColor,I.color.r,I.color.g,I.color.b),
+I instanceof THREE.Fog?(b.uniform1f(v.fogNear,I.near),b.uniform1f(v.fogFar,I.far),b.uniform1i(v.fogType,1),A=y=1):I instanceof THREE.FogExp2&&(b.uniform1f(v.fogDensity,I.density),b.uniform1i(v.fogType,2),A=y=2)):(b.uniform1i(v.fogType,0),A=y=0);for(var C,x,G=[],I=0;I<q;I++)C=p[I],x=C.material,C.visible&&0!==x.opacity&&(x.useScreenCoordinates?C.z=-C.position.z:(C._modelViewMatrix.multiplyMatrices(e.matrixWorldInverse,C.matrixWorld),C.z=-C._modelViewMatrix.elements[14]));p.sort(a);for(I=0;I<q;I++)C=
+p[I],x=C.material,C.visible&&0!==x.opacity&&(x.map&&x.map.image&&x.map.image.width)&&(b.uniform1f(v.alphaTest,x.alphaTest),!0===x.useScreenCoordinates?(b.uniform1i(v.useScreenCoordinates,1),b.uniform3f(v.screenPosition,(C.position.x*c.devicePixelRatio-f)/f,(t-C.position.y*c.devicePixelRatio)/t,Math.max(0,Math.min(1,C.position.z))),G[0]=c.devicePixelRatio,G[1]=c.devicePixelRatio):(b.uniform1i(v.useScreenCoordinates,0),b.uniform1i(v.sizeAttenuation,x.sizeAttenuation?1:0),b.uniformMatrix4fv(v.modelViewMatrix,
+!1,C._modelViewMatrix.elements),G[0]=1,G[1]=1),e=d.fog&&x.fog?A:0,y!==e&&(b.uniform1i(v.fogType,e),y=e),e=1/(x.scaleByViewport?r:1),G[0]*=e*z*C.scale.x,G[1]*=e*C.scale.y,b.uniform2f(v.uvScale,x.uvScale.x,x.uvScale.y),b.uniform2f(v.uvOffset,x.uvOffset.x,x.uvOffset.y),b.uniform2f(v.alignment,x.alignment.x,x.alignment.y),b.uniform1f(v.opacity,x.opacity),b.uniform3f(v.color,x.color.r,x.color.g,x.color.b),b.uniform1f(v.rotation,C.rotation),b.uniform2fv(v.scale,G),c.setBlending(x.blending,x.blendEquation,
+x.blendSrc,x.blendDst),c.setDepthTest(x.depthTest),c.setDepthWrite(x.depthWrite),c.setTexture(x.map,0),b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0));b.enable(b.CULL_FACE)}}};THREE.DepthPassPlugin=function(){this.enabled=!1;this.renderTarget=null;var a,b,c,d,e,f,g=new THREE.Frustum,h=new THREE.Matrix4;this.init=function(g){a=g.context;b=g;var g=THREE.ShaderLib.depthRGBA,h=THREE.UniformsUtils.clone(g.uniforms);c=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:h});d=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:h,morphTargets:!0});e=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,
+vertexShader:g.vertexShader,uniforms:h,skinning:!0});f=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:h,morphTargets:!0,skinning:!0});c._shadowPass=!0;d._shadowPass=!0;e._shadowPass=!0;f._shadowPass=!0};this.render=function(a,b){this.enabled&&this.update(a,b)};this.update=function(i,k){var l,m,n,s,r,p;a.clearColor(1,1,1,1);a.disable(a.BLEND);b.setDepthTest(!0);b.autoUpdateScene&&i.updateMatrixWorld();k.matrixWorldInverse.getInverse(k.matrixWorld);h.multiplyMatrices(k.projectionMatrix,
+k.matrixWorldInverse);g.setFromMatrix(h);b.setRenderTarget(this.renderTarget);b.clear();p=i.__webglObjects;l=0;for(m=p.length;l<m;l++)if(n=p[l],r=n.object,n.render=!1,r.visible&&(!(r instanceof THREE.Mesh||r instanceof THREE.ParticleSystem)||!r.frustumCulled||g.intersectsObject(r)))r._modelViewMatrix.multiplyMatrices(k.matrixWorldInverse,r.matrixWorld),n.render=!0;var q;l=0;for(m=p.length;l<m;l++)if(n=p[l],n.render&&(r=n.object,n=n.buffer,!(r instanceof THREE.ParticleSystem)||r.customDepthMaterial))(q=
+r.material instanceof THREE.MeshFaceMaterial?r.material.materials[0]:r.material)&&b.setMaterialFaces(r.material),s=0<r.geometry.morphTargets.length&&q.morphTargets,q=r instanceof THREE.SkinnedMesh&&q.skinning,s=r.customDepthMaterial?r.customDepthMaterial:q?s?f:e:s?d:c,n instanceof THREE.BufferGeometry?b.renderBufferDirect(k,i.__lights,null,s,n,r):b.renderBuffer(k,i.__lights,null,s,n,r);p=i.__webglObjectsImmediate;l=0;for(m=p.length;l<m;l++)n=p[l],r=n.object,r.visible&&(r._modelViewMatrix.multiplyMatrices(k.matrixWorldInverse,
+r.matrixWorld),b.renderImmediateObject(k,i.__lights,null,c,r));l=b.getClearColor();m=b.getClearAlpha();a.clearColor(l.r,l.g,l.b,m);a.enable(a.BLEND)}};THREE.ShaderFlares={lensFlareVertexTexture:{vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = (       visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n(       visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
+fragmentShader:"uniform lowp int renderType;\nuniform sampler2D map;\nuniform float opacity;\nuniform vec3 color;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 texture = texture2D( map, vUV );\ntexture.a *= opacity * vVisibility;\ngl_FragColor = texture;\ngl_FragColor.rgb *= color;\n}\n}"},lensFlare:{vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
+fragmentShader:"precision mediump float;\nuniform lowp int renderType;\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform vec3 color;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 texture = texture2D( map, vUV );\ntexture.a *= opacity * visibility;\ngl_FragColor = texture;\ngl_FragColor.rgb *= color;\n}\n}"}};THREE.ShaderSprite={sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int sizeAttenuation;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( sizeAttenuation == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"uniform vec3 color;\nuniform sampler2D map;\nuniform float opacity;\nuniform int fogType;\nuniform vec3 fogColor;\nuniform float fogDensity;\nuniform float fogNear;\nuniform float fogFar;\nuniform float alphaTest;\nvarying vec2 vUV;\nvoid main() {\nvec4 texture = texture2D( map, vUV );\nif ( texture.a < alphaTest ) discard;\ngl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\nif ( fogType > 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"}};
diff --git a/COGNET/lib/tween.min.js b/COGNET/lib/tween.min.js
new file mode 100644
index 0000000..eb7d584
--- /dev/null
+++ b/COGNET/lib/tween.min.js
@@ -0,0 +1,14 @@
+// tween.js - http://github.com/sole/tween.js
+'use strict';
+export var TWEEN=TWEEN||function(){var a=[];return{REVISION:"7",getAll:function(){return a},removeAll:function(){a=[]},add:function(c){a.push(c)},remove:function(c){c=a.indexOf(c);-1!==c&&a.splice(c,1)},update:function(c){if(0===a.length)return!1;for(var b=0,d=a.length,c=void 0!==c?c:Date.now();b<d;)a[b].update(c)?b++:(a.splice(b,1),d--);return!0}}}();
+TWEEN.Tween=function(a){var c={},b={},d=1E3,e=0,f=null,h=TWEEN.Easing.Linear.None,r=TWEEN.Interpolation.Linear,k=[],l=null,m=!1,n=null,p=null;this.to=function(a,c){null!==c&&(d=c);b=a;return this};this.start=function(d){TWEEN.add(this);m=!1;f=void 0!==d?d:Date.now();f+=e;for(var g in b)if(null!==a[g]){if(b[g]instanceof Array){if(0===b[g].length)continue;b[g]=[a[g]].concat(b[g])}c[g]=a[g]}return this};this.stop=function(){TWEEN.remove(this);return this};this.delay=function(a){e=a;return this};this.easing=
+function(a){h=a;return this};this.interpolation=function(a){r=a;return this};this.chain=function(){k=arguments;return this};this.onStart=function(a){l=a;return this};this.onUpdate=function(a){n=a;return this};this.onComplete=function(a){p=a;return this};this.update=function(e){if(e<f)return!0;!1===m&&(null!==l&&l.call(a),m=!0);var g=(e-f)/d,g=1<g?1:g,i=h(g),j;for(j in c){var s=c[j],q=b[j];a[j]=q instanceof Array?r(q,i):s+(q-s)*i}null!==n&&n.call(a,i);if(1==g){null!==p&&p.call(a);g=0;for(i=k.length;g<
+i;g++)k[g].start(e);return!1}return!0}};
+TWEEN.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return 1>(a*=2)?0.5*a*a:-0.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return 1>(a*=2)?0.5*a*a*a:0.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return 1>(a*=2)?0.5*a*a*a*a:-0.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*
+a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return 1>(a*=2)?0.5*a*a*a*a*a:0.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 1-Math.cos(a*Math.PI/2)},Out:function(a){return Math.sin(a*Math.PI/2)},InOut:function(a){return 0.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:1>(a*=2)?0.5*Math.pow(1024,a-1):0.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-
+Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return 1>(a*=2)?-0.5*(Math.sqrt(1-a*a)-1):0.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var c,b=0.1;if(0===a)return 0;if(1===a)return 1;!b||1>b?(b=1,c=0.1):c=0.4*Math.asin(1/b)/(2*Math.PI);return-(b*Math.pow(2,10*(a-=1))*Math.sin((a-c)*2*Math.PI/0.4))},Out:function(a){var c,b=0.1;if(0===a)return 0;if(1===a)return 1;!b||1>b?(b=1,c=0.1):c=0.4*Math.asin(1/b)/(2*Math.PI);return b*Math.pow(2,-10*a)*Math.sin((a-c)*
+2*Math.PI/0.4)+1},InOut:function(a){var c,b=0.1;if(0===a)return 0;if(1===a)return 1;!b||1>b?(b=1,c=0.1):c=0.4*Math.asin(1/b)/(2*Math.PI);return 1>(a*=2)?-0.5*b*Math.pow(2,10*(a-=1))*Math.sin((a-c)*2*Math.PI/0.4):0.5*b*Math.pow(2,-10*(a-=1))*Math.sin((a-c)*2*Math.PI/0.4)+1}},Back:{In:function(a){return a*a*(2.70158*a-1.70158)},Out:function(a){return--a*a*(2.70158*a+1.70158)+1},InOut:function(a){return 1>(a*=2)?0.5*a*a*(3.5949095*a-2.5949095):0.5*((a-=2)*a*(3.5949095*a+2.5949095)+2)}},Bounce:{In:function(a){return 1-
+TWEEN.Easing.Bounce.Out(1-a)},Out:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+0.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375},InOut:function(a){return 0.5>a?0.5*TWEEN.Easing.Bounce.In(2*a):0.5*TWEEN.Easing.Bounce.Out(2*a-1)+0.5}}};
+TWEEN.Interpolation={Linear:function(a,c){var b=a.length-1,d=b*c,e=Math.floor(d),f=TWEEN.Interpolation.Utils.Linear;return 0>c?f(a[0],a[1],d):1<c?f(a[b],a[b-1],b-d):f(a[e],a[e+1>b?b:e+1],d-e)},Bezier:function(a,c){var b=0,d=a.length-1,e=Math.pow,f=TWEEN.Interpolation.Utils.Bernstein,h;for(h=0;h<=d;h++)b+=e(1-c,d-h)*e(c,h)*a[h]*f(d,h);return b},CatmullRom:function(a,c){var b=a.length-1,d=b*c,e=Math.floor(d),f=TWEEN.Interpolation.Utils.CatmullRom;return a[0]===a[b]?(0>c&&(e=Math.floor(d=b*(1+c))),f(a[(e-
+1+b)%b],a[e],a[(e+1)%b],a[(e+2)%b],d-e)):0>c?a[0]-(f(a[0],a[0],a[1],a[1],-d)-a[0]):1<c?a[b]-(f(a[b],a[b],a[b-1],a[b-1],d-b)-a[b]):f(a[e?e-1:0],a[e],a[b<e+1?b:e+1],a[b<e+2?b:e+2],d-e)},Utils:{Linear:function(a,c,b){return(c-a)*b+a},Bernstein:function(a,c){var b=TWEEN.Interpolation.Utils.Factorial;return b(a)/b(c)/b(a-c)},Factorial:function(){var a=[1];return function(c){var b=1,d;if(a[c])return a[c];for(d=c;1<d;d--)b*=d;return a[c]=b}}(),CatmullRom:function(a,c,b,d,e){var a=0.5*(b-a),d=0.5*(d-c),f=
+e*e;return(2*c-2*b+a+d)*e*f+(-3*c+3*b-2*a-d)*f+a*e+c}}};
diff --git a/COGNET/lib/uclass_BeveledBlockGeometry.js b/COGNET/lib/uclass_BeveledBlockGeometry.js
new file mode 100644
index 0000000..ad40d31
--- /dev/null
+++ b/COGNET/lib/uclass_BeveledBlockGeometry.js
@@ -0,0 +1,264 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author Eric Haines / http://erichaines.com/
+ *
+ * Make a block with beveled edges, to catch highlights.
+ *
+ * TODO: bug when bevel >= depth/2 (or width/2, or height/2)
+ */
+/*global THREE */
+
+THREE.BeveledBlockGeometry = function ( width, height, depth, bevel, widthSegments, heightSegments, depthSegments ) {
+	"use strict";
+
+	THREE.Geometry.call( this );
+
+	var scope = this;
+
+	this.width = width;
+	this.height = height;
+	this.depth = depth;
+	
+	this.bevel = bevel || 0;
+
+	this.widthSegments = widthSegments || 1;
+	this.heightSegments = heightSegments || 1;
+	this.depthSegments = depthSegments || 1;
+
+	var width_half = this.width / 2;
+	var height_half = this.height / 2;
+	var depth_half = this.depth / 2;
+	
+	var adjWidth = this.width - this.bevel*2;
+	var adjHeight = this.height - this.bevel*2;
+	var adjDepth = this.depth - this.bevel*2;
+
+	if ( adjDepth > 0 && adjHeight > 0 ) {
+		buildPlane( 'z', 'y', - 1, - 1, adjDepth, adjHeight, width_half, 0 ); // px
+		buildPlane( 'z', 'y',   1, - 1, adjDepth, adjHeight, - width_half, 0 ); // nx
+	}
+	if ( adjWidth > 0 && adjDepth > 0 ) {
+		buildPlane( 'x', 'z',   1,   1, adjWidth, adjDepth, height_half, 0 ); // py
+		buildPlane( 'x', 'z',   1, - 1, adjWidth, adjDepth, - height_half, 0 ); // ny
+	}
+	if ( adjWidth > 0 && adjHeight > 0 ) {
+		buildPlane( 'x', 'y',   1, - 1, adjWidth, adjHeight, depth_half, 0 ); // pz
+		buildPlane( 'x', 'y', - 1, - 1, adjWidth, adjHeight, - depth_half, 0 ); // nz
+	}
+	
+	// bevels
+	if ( this.bevel > 0 )
+	{
+		if ( adjWidth < 0 ) { adjWidth = 0; }
+		if ( adjHeight < 0 ) { adjHeight = 0; }
+		if ( adjDepth < 0 ) { adjDepth = 0; }
+		var adjHalfWidth = adjWidth / 2;
+		var adjHalfHeight = adjHeight / 2;
+		var adjHalfDepth = adjDepth / 2;
+		
+		// 12 edges
+		// -Y face neighbors
+		buildBevelSide( 'x', -adjHalfWidth, -height_half, -adjHalfDepth,  adjHalfWidth, -adjHalfHeight, -depth_half, 0, -1, 0, 0, 0, -1 ); 
+		buildBevelSide( 'x',  adjHalfWidth, -height_half,  adjHalfDepth, -adjHalfWidth, -adjHalfHeight,  depth_half, 0, -1, 0, 0, 0, 1  ); 
+		buildBevelSide( 'z', -adjHalfWidth, -height_half,  adjHalfDepth,  -width_half, -adjHalfHeight, -adjHalfDepth, 0, -1, 0, -1, 0, 0  ); 
+		buildBevelSide( 'z',  adjHalfWidth, -height_half, -adjHalfDepth,   width_half, -adjHalfHeight,  adjHalfDepth, 0, -1, 0, 1, 0, 0  ); 
+		// +Y face neighbors
+		buildBevelSide( 'x',  adjHalfWidth, height_half, -adjHalfDepth, -adjHalfWidth, adjHalfHeight, -depth_half, 0, 1, 0, 0, 0, -1 ); 
+		buildBevelSide( 'x', -adjHalfWidth, height_half,  adjHalfDepth,  adjHalfWidth, adjHalfHeight,  depth_half, 0, 1, 0, 0, 0, 1  ); 
+		buildBevelSide( 'z', -adjHalfWidth, height_half, -adjHalfDepth,  -width_half, adjHalfHeight, adjHalfDepth, 0, 1, 0, -1, 0, 0  ); 
+		buildBevelSide( 'z',  adjHalfWidth, height_half,  adjHalfDepth,   width_half, adjHalfHeight,  -adjHalfDepth, 0, 1, 0, 1, 0, 0  );
+		// Y side face neighbors
+		buildBevelSide( 'y',  -width_half,  adjHalfHeight, -adjHalfDepth, -adjHalfWidth, -adjHalfHeight, -depth_half, -1, 0, 0, 0, 0, -1 ); 
+		buildBevelSide( 'y',  -width_half, -adjHalfHeight,  adjHalfDepth, -adjHalfWidth,  adjHalfHeight,  depth_half, -1, 0, 0, 0, 0, 1 ); 
+		buildBevelSide( 'y',   width_half, -adjHalfHeight, -adjHalfDepth,  adjHalfWidth,  adjHalfHeight, -depth_half, 1, 0, 0, 0, 0, -1 ); 
+		buildBevelSide( 'y',   width_half,  adjHalfHeight,  adjHalfDepth,  adjHalfWidth, -adjHalfHeight,  depth_half, 1, 0, 0, 0, 0, 1 );
+
+		// 8 corners
+		buildBevelCorners( adjHalfWidth, width_half, adjHalfHeight, height_half, adjHalfDepth, depth_half );
+	}
+	
+	function buildPlane( u, v, udir, vdir, width, height, depth, materialIndex ) {
+
+		var w, ix, iy,
+		gridX = scope.widthSegments,
+		gridY = scope.heightSegments,
+		width_half = width / 2,
+		height_half = height / 2,
+		offset = scope.vertices.length;
+
+		if ( ( u === 'x' && v === 'y' ) || ( u === 'y' && v === 'x' ) ) {
+
+			w = 'z';
+
+		} else if ( ( u === 'x' && v === 'z' ) || ( u === 'z' && v === 'x' ) ) {
+
+			w = 'y';
+			gridY = scope.depthSegments;
+
+		} else if ( ( u === 'z' && v === 'y' ) || ( u === 'y' && v === 'z' ) ) {
+
+			w = 'x';
+			gridX = scope.depthSegments;
+
+		}
+
+		var gridX1 = gridX + 1,
+		gridY1 = gridY + 1,
+		segment_width = width / gridX,
+		segment_height = height / gridY,
+		normal = new THREE.Vector3();
+
+		normal[ w ] = depth > 0 ? 1 : - 1;
+
+		for ( iy = 0; iy < gridY1; iy ++ ) {
+
+			for ( ix = 0; ix < gridX1; ix ++ ) {
+
+				var vector = new THREE.Vector3();
+				vector[ u ] = ( ix * segment_width - width_half ) * udir;
+				vector[ v ] = ( iy * segment_height - height_half ) * vdir;
+				vector[ w ] = depth;
+
+				scope.vertices.push( vector );
+
+			}
+
+		}
+
+		for ( iy = 0; iy < gridY; iy++ ) {
+
+			for ( ix = 0; ix < gridX; ix++ ) {
+
+				var a = ix + gridX1 * iy;
+				var b = ix + gridX1 * ( iy + 1 );
+				var c = ( ix + 1 ) + gridX1 * ( iy + 1 );
+				var d = ( ix + 1 ) + gridX1 * iy;
+
+				var face = new THREE.Face4( a + offset, b + offset, c + offset, d + offset );
+				// not needed? We don't compute others: face.normal.copy( normal );
+				face.vertexNormals.push( normal.clone(), normal.clone(), normal.clone(), normal.clone() );
+				face.materialIndex = materialIndex;
+
+				scope.faces.push( face );
+				scope.faceVertexUvs[ 0 ].push( [
+							new THREE.Vector2( ix / gridX, 1 - iy / gridY ),
+							new THREE.Vector2( ix / gridX, 1 - ( iy + 1 ) / gridY ),
+							new THREE.Vector2( ( ix + 1 ) / gridX, 1- ( iy + 1 ) / gridY ),
+							new THREE.Vector2( ( ix + 1 ) / gridX, 1 - iy / gridY )
+						] );
+			}
+		}
+	}
+	
+	function buildBevelSide( longSide, xlo, ylo, zlo, xhi, yhi, zhi, xn1, yn1, zn1, xn2, yn2, zn2 ) {
+		
+		var vector;
+		var offset = scope.vertices.length;
+		
+		vector = new THREE.Vector3(xlo,ylo,zlo);
+		scope.vertices.push( vector );
+		if ( longSide === 'x' ) {
+			vector = new THREE.Vector3(xlo,yhi,zhi);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xhi,yhi,zhi);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xhi,ylo,zlo);
+			scope.vertices.push( vector );
+		}
+		else if ( longSide === 'y' ) {
+			vector = new THREE.Vector3(xhi,ylo,zhi);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xhi,yhi,zhi);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xlo,yhi,zlo);
+			scope.vertices.push( vector );
+		}
+		else {
+			vector = new THREE.Vector3(xhi,yhi,zlo);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xhi,yhi,zhi);
+			scope.vertices.push( vector );
+			vector = new THREE.Vector3(xlo,ylo,zhi);
+			scope.vertices.push( vector );
+		}
+
+		var face = new THREE.Face4( offset, offset+1, offset+2, offset+3 );
+		var vnorm1 = new THREE.Vector3( xn1, yn1, zn1 );
+		var vnorm2 = new THREE.Vector3( xn2, yn2, zn2 );
+		face.vertexNormals.push( vnorm1.clone(), vnorm2.clone(), vnorm2.clone(), vnorm1.clone() );
+		face.materialIndex = 0;
+
+		scope.faces.push( face );
+		// these are certainly wrong
+		scope.faceVertexUvs[ 0 ].push( [
+					new THREE.Vector2( 0, 0 ),
+					new THREE.Vector2( 0, 1 ),
+					new THREE.Vector2( 1, 1 ),
+					new THREE.Vector2( 1, 0 )
+				] );
+	}
+
+	function buildBevelCorners( xah, xh, yah, yh, zah, zh ) {
+		
+		var vector;
+		var offset = scope.vertices.length;
+		
+		var count = 0;
+		for ( var i = 0; i < 2; i++ ) {
+			var xsign = i ? 1 : -1;
+			for ( var j = 0; j < 2; j++ ) {
+				var ysign = j ? 1 : -1;
+				for ( var k = 0; k < 2; k++ ) {
+					var zsign = k ? 1 : -1;
+					
+					// first vertex
+					vector = new THREE.Vector3(xsign*xh,ysign*yah,zsign*zah);
+					scope.vertices.push( vector );
+					var vnorm1 = new THREE.Vector3(xsign,0,0);
+					
+					vector = new THREE.Vector3(xsign*xah,ysign*yh,zsign*zah);
+					scope.vertices.push( vector );
+					var vnorm2 = new THREE.Vector3(0,ysign,0);
+					
+					vector = new THREE.Vector3(xsign*xah,ysign*yah,zsign*zh);
+					scope.vertices.push( vector );
+					var vnorm3 = new THREE.Vector3(0,0,zsign);
+					
+					var face;
+					face = new THREE.Face3( offset, offset+1, offset+2 );
+
+					if ( xsign * ysign * zsign === 1 )
+					{
+						face = new THREE.Face3( offset, offset+1, offset+2 );
+						face.vertexNormals.push( vnorm1, vnorm2, vnorm3 );
+					}
+					else
+					{
+						face = new THREE.Face3( offset+2, offset+1, offset );
+						face.vertexNormals.push( vnorm3, vnorm2, vnorm1 );
+					}
+					face.materialIndex = 0;
+
+					scope.faces.push( face );
+					// these are certainly wrong
+					scope.faceVertexUvs[ 0 ].push( [
+								new THREE.Vector2( 0, 0 ),
+								new THREE.Vector2( 0, 1 ),
+								new THREE.Vector2( 1, 1 )
+							] );
+
+					offset += 3;
+
+					count++;
+				}
+			}
+		}
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.mergeVertices();
+
+};
+
+THREE.BeveledBlockGeometry.prototype = Object.create( THREE.Geometry.prototype );
\ No newline at end of file
diff --git a/COGNET/lib/uclass_TeacupGeometry.js b/COGNET/lib/uclass_TeacupGeometry.js
new file mode 100644
index 0000000..878beb8
--- /dev/null
+++ b/COGNET/lib/uclass_TeacupGeometry.js
@@ -0,0 +1,529 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author Eric Haines / http://erichaines.com/
+ *
+ * Created for the Udacity course "Interactive Rendering", http://bit.ly/ericity
+ *
+ * Tessellate a teacup into triangular patches.
+ *
+ * See http://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teacup for
+ *	the history of the Teacup and teacup
+ *
+ * THREE.TeacupGeometry = function ( size, segments )
+ *
+ * defaults: size = 50, segments = 10
+ *
+ * size is a relative scale: I've scaled the Teacup to fit vertically between -1 and 1.
+ *	Think of it as a "radius".
+ * segments - number of line segments to subdivide each patch edge;
+ *	1 is possible but gives degenerates, so two is the real minimum.
+ *
+ * segments 'n' determines the number of objects output.
+ *  Total patches = 26*2*n*n
+ *
+ *  size_factor  # triangles
+ *       1			52
+ *       2         208
+ *       3         468
+ *       4         832
+ *       5        1300
+ *       6        1872
+ *
+ *		10        5200
+ *		20       20800
+ *		30       46800
+ *		40       83200
+ */
+/*global THREE */
+
+THREE.TeacupGeometry = function ( size, segments ) {
+	"use strict";
+
+	// 26 * 4 * 4 Bezier spline patches, note +1 start
+	// Data from ftp://ftp.funet.fi/pub/sci/graphics/packages/objects/teaset.tar.Z
+	var TeacupPatches = [
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
+4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28,
+19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40,
+31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13,
+13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60,
+16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69,
+28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78,
+40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57,
+193,194,195,196,197,198,199,200,201,202,203,204,1,2,3,4,
+196,205,206,207,200,208,209,210,204,211,212,213,4,17,18,19,
+207,214,215,216,210,217,218,219,213,220,221,222,19,29,30,31,
+216,223,224,193,219,225,226,197,222,227,228,201,31,41,42,1,
+229,230,231,28,232,233,234,235,236,237,238,239,240,241,242,243,
+28,244,245,229,235,246,247,232,239,248,249,236,243,250,251,240,
+57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96,
+60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105,
+69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114,
+78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93,
+93,94,95,96,121,122,123,124,125,126,127,128,129,130,131,132,
+96,103,104,105,124,133,134,135,128,136,137,138,132,139,140,141,
+105,112,113,114,135,142,143,144,138,145,146,147,141,148,149,150,
+114,119,120,93,144,151,152,121,147,153,154,125,150,155,156,129,
+129,130,131,132,157,158,159,160,161,162,163,164,165,166,167,168,
+132,139,140,141,160,169,170,171,164,172,173,174,168,175,176,177,
+141,148,149,150,171,178,179,180,174,181,182,183,177,184,185,186,
+150,155,156,129,180,187,188,157,183,189,190,161,186,191,192,165
+	] ;
+
+	var TeacupVertices = [
+0.409091,0.772727,0.0,
+0.409091,0.772727,-0.229091,
+0.229091,0.772727,-0.409091,
+0.0,0.772727,-0.409091,
+0.409091,0.886364,0.0,
+0.409091,0.886364,-0.229091,
+0.229091,0.886364,-0.409091,
+0.0,0.886364,-0.409091,
+0.454545,0.886364,0.0,
+0.454545,0.886364,-0.254545,
+0.254545,0.886364,-0.454545,
+0.0,0.886364,-0.454545,
+0.454545,0.772727,0.0,
+0.454545,0.772727,-0.254545,
+0.254545,0.772727,-0.454545,
+0.0,0.772727,-0.454545,
+-0.229091,0.772727,-0.409091,
+-0.409091,0.772727,-0.229091,
+-0.409091,0.772727,0.0,
+-0.229091,0.886364,-0.409091,
+-0.409091,0.886364,-0.229091,
+-0.409091,0.886364,0.0,
+-0.254545,0.886364,-0.454545,
+-0.454545,0.886364,-0.254545,
+-0.454545,0.886364,0.0,
+-0.254545,0.772727,-0.454545,
+-0.454545,0.772727,-0.254545,
+-0.454545,0.772727,0.0,
+-0.409091,0.772727,0.229091,
+-0.229091,0.772727,0.409091,
+0.0,0.772727,0.409091,
+-0.409091,0.886364,0.229091,
+-0.229091,0.886364,0.409091,
+0.0,0.886364,0.409091,
+-0.454545,0.886364,0.254545,
+-0.254545,0.886364,0.454545,
+0.0,0.886364,0.454545,
+-0.454545,0.772727,0.254545,
+-0.254545,0.772727,0.454545,
+0.0,0.772727,0.454545,
+0.229091,0.772727,0.409091,
+0.409091,0.772727,0.229091,
+0.229091,0.886364,0.409091,
+0.409091,0.886364,0.229091,
+0.254545,0.886364,0.454545,
+0.454545,0.886364,0.254545,
+0.254545,0.772727,0.454545,
+0.454545,0.772727,0.254545,
+0.454545,0.545455,0.0,
+0.454545,0.545455,-0.254545,
+0.254545,0.545455,-0.454545,
+0.0,0.545455,-0.454545,
+0.454545,0.272727,0.0,
+0.454545,0.272727,-0.254545,
+0.254545,0.272727,-0.454545,
+0.0,0.272727,-0.454545,
+0.318182,0.0454545,0.0,
+0.318182,0.0454545,-0.178182,
+0.178182,0.0454545,-0.318182,
+0.0,0.0454545,-0.318182,
+-0.254545,0.545455,-0.454545,
+-0.454545,0.545455,-0.254545,
+-0.454545,0.545455,0.0,
+-0.254545,0.272727,-0.454545,
+-0.454545,0.272727,-0.254545,
+-0.454545,0.272727,0.0,
+-0.178182,0.0454545,-0.318182,
+-0.318182,0.0454545,-0.178182,
+-0.318182,0.0454545,0.0,
+-0.454545,0.545455,0.254545,
+-0.254545,0.545455,0.454545,
+0.0,0.545455,0.454545,
+-0.454545,0.272727,0.254545,
+-0.254545,0.272727,0.454545,
+0.0,0.272727,0.454545,
+-0.318182,0.0454545,0.178182,
+-0.178182,0.0454545,0.318182,
+0.0,0.0454545,0.318182,
+0.254545,0.545455,0.454545,
+0.454545,0.545455,0.254545,
+0.254545,0.272727,0.454545,
+0.454545,0.272727,0.254545,
+0.178182,0.0454545,0.318182,
+0.318182,0.0454545,0.178182,
+0.545455,0.0454545,0.0,
+0.545455,0.0454545,-0.305455,
+0.305455,0.0454545,-0.545455,
+0.0,0.0454545,-0.545455,
+0.727273,0.136364,0.0,
+0.727273,0.136364,-0.407273,
+0.407273,0.136364,-0.727273,
+0.0,0.136364,-0.727273,
+0.909091,0.136364,0.0,
+0.909091,0.136364,-0.509091,
+0.509091,0.136364,-0.909091,
+0.0,0.136364,-0.909091,
+-0.305455,0.0454545,-0.545455,
+-0.545455,0.0454545,-0.305455,
+-0.545455,0.0454545,0.0,
+-0.407273,0.136364,-0.727273,
+-0.727273,0.136364,-0.407273,
+-0.727273,0.136364,0.0,
+-0.509091,0.136364,-0.909091,
+-0.909091,0.136364,-0.509091,
+-0.909091,0.136364,0.0,
+-0.545455,0.0454545,0.305455,
+-0.305455,0.0454545,0.545455,
+0.0,0.0454545,0.545455,
+-0.727273,0.136364,0.407273,
+-0.407273,0.136364,0.727273,
+0.0,0.136364,0.727273,
+-0.909091,0.136364,0.509091,
+-0.509091,0.136364,0.909091,
+0.0,0.136364,0.909091,
+0.305455,0.0454545,0.545455,
+0.545455,0.0454545,0.305455,
+0.407273,0.136364,0.727273,
+0.727273,0.136364,0.407273,
+0.509091,0.136364,0.909091,
+0.909091,0.136364,0.509091,
+1.0,0.136364,0.0,
+1.0,0.136364,-0.56,
+0.56,0.136364,-1.0,
+0.0,0.136364,-1.0,
+1.0,0.0909091,0.0,
+1.0,0.0909091,-0.56,
+0.56,0.0909091,-1.0,
+0.0,0.0909091,-1.0,
+0.909091,0.0909091,0.0,
+0.909091,0.0909091,-0.509091,
+0.509091,0.0909091,-0.909091,
+0.0,0.0909091,-0.909091,
+-0.56,0.136364,-1.0,
+-1.0,0.136364,-0.56,
+-1.0,0.136364,0.0,
+-0.56,0.0909091,-1.0,
+-1.0,0.0909091,-0.56,
+-1.0,0.0909091,0.0,
+-0.509091,0.0909091,-0.909091,
+-0.909091,0.0909091,-0.509091,
+-0.909091,0.0909091,0.0,
+-1.0,0.136364,0.56,
+-0.56,0.136364,1.0,
+0.0,0.136364,1.0,
+-1.0,0.0909091,0.56,
+-0.56,0.0909091,1.0,
+0.0,0.0909091,1.0,
+-0.909091,0.0909091,0.509091,
+-0.509091,0.0909091,0.909091,
+0.0,0.0909091,0.909091,
+0.56,0.136364,1.0,
+1.0,0.136364,0.56,
+0.56,0.0909091,1.0,
+1.0,0.0909091,0.56,
+0.509091,0.0909091,0.909091,
+0.909091,0.0909091,0.509091,
+0.727273,0.0909091,0.0,
+0.727273,0.0909091,-0.407273,
+0.407273,0.0909091,-0.727273,
+0.0,0.0909091,-0.727273,
+0.545455,0.0,0.0,
+0.545455,0.0,-0.305455,
+0.305455,0.0,-0.545455,
+0.0,0.0,-0.545455,
+0.318182,0.0,0.0,
+0.318182,0.0,-0.178182,
+0.178182,0.0,-0.318182,
+0.0,0.0,-0.318182,
+-0.407273,0.0909091,-0.727273,
+-0.727273,0.0909091,-0.407273,
+-0.727273,0.0909091,0.0,
+-0.305455,0.0,-0.545455,
+-0.545455,0.0,-0.305455,
+-0.545455,0.0,0.0,
+-0.178182,0.0,-0.318182,
+-0.318182,0.0,-0.178182,
+-0.318182,0.0,0.0,
+-0.727273,0.0909091,0.407273,
+-0.407273,0.0909091,0.727273,
+0.0,0.0909091,0.727273,
+-0.545455,0.0,0.305455,
+-0.305455,0.0,0.545455,
+0.0,0.0,0.545455,
+-0.318182,0.0,0.178182,
+-0.178182,0.0,0.318182,
+0.0,0.0,0.318182,
+0.407273,0.0909091,0.727273,
+0.727273,0.0909091,0.407273,
+0.305455,0.0,0.545455,
+0.545455,0.0,0.305455,
+0.178182,0.0,0.318182,
+0.318182,0.0,0.178182,
+0.272727,0.0454545,0.0,
+0.272727,0.0454545,-0.152727,
+0.152727,0.0454545,-0.272727,
+0.0,0.0454545,-0.272727,
+0.409091,0.272727,0.0,
+0.409091,0.272727,-0.229091,
+0.229091,0.272727,-0.409091,
+0.0,0.272727,-0.409091,
+0.409091,0.545455,0.0,
+0.409091,0.545455,-0.229091,
+0.229091,0.545455,-0.409091,
+0.0,0.545455,-0.409091,
+-0.152727,0.0454545,-0.272727,
+-0.272727,0.0454545,-0.152727,
+-0.272727,0.0454545,0.0,
+-0.229091,0.272727,-0.409091,
+-0.409091,0.272727,-0.229091,
+-0.409091,0.272727,0.0,
+-0.229091,0.545455,-0.409091,
+-0.409091,0.545455,-0.229091,
+-0.409091,0.545455,0.0,
+-0.272727,0.0454545,0.152727,
+-0.152727,0.0454545,0.272727,
+0.0,0.0454545,0.272727,
+-0.409091,0.272727,0.229091,
+-0.229091,0.272727,0.409091,
+0.0,0.272727,0.409091,
+-0.409091,0.545455,0.229091,
+-0.229091,0.545455,0.409091,
+0.0,0.545455,0.409091,
+0.152727,0.0454545,0.272727,
+0.272727,0.0454545,0.152727,
+0.229091,0.272727,0.409091,
+0.409091,0.272727,0.229091,
+0.229091,0.545455,0.409091,
+0.409091,0.545455,0.229091,
+-0.454545,0.704545,0.0,
+-0.454545,0.704545,-0.0454545,
+-0.454545,0.772727,-0.0454545,
+-0.772727,0.863636,0.0,
+-0.772727,0.863636,-0.0454545,
+-0.818182,0.954545,-0.0454545,
+-0.818182,0.954545,0.0,
+-0.772727,0.522727,0.0,
+-0.772727,0.522727,-0.0454545,
+-0.909091,0.477273,-0.0454545,
+-0.909091,0.477273,0.0,
+-0.409091,0.363636,0.0,
+-0.409091,0.363636,-0.0454545,
+-0.409091,0.295455,-0.0454545,
+-0.409091,0.295455,0.0,
+-0.454545,0.772727,0.0454545,
+-0.454545,0.704545,0.0454545,
+-0.818182,0.954545,0.0454545,
+-0.772727,0.863636,0.0454545,
+-0.909091,0.477273,0.0454545,
+-0.772727,0.522727,0.0454545,
+-0.409091,0.295455,0.0454545,
+-0.409091,0.363636,0.0454545
+	] ;
+
+	var minPatches = 0;
+	var maxPatches = 26;
+
+	THREE.Geometry.call( this );
+
+	this.size = size || 50;
+
+	// number of segments per patch
+	this.segments = Math.max( 2, Math.floor( segments ) || 10 );
+
+	// scale the size to be the real scaling factor
+	var maxHeight = 0.857954740524292;
+
+	var maxHeight2 = maxHeight/2;
+	var trueSize = this.size / maxHeight2;
+
+	var normals = [], uvs = [];
+	// bezier form
+	var ms = new THREE.Matrix4(  -1.0,  3.0, -3.0,  1.0,
+                                  3.0, -6.0,  3.0,  0.0,
+                                 -3.0,  3.0,  0.0,  0.0,
+                                  1.0,  0.0,  0.0,  0.0 ) ;
+
+	var g = [];
+	var i, r, c;
+
+	var sp = [];
+	var tp = [];
+	var dsp = [];
+	var dtp = [];
+
+	// M * G * M matrix, sort of see
+	// http://www.cs.helsinki.fi/group/goa/mallinnus/curves/surfaces.html
+	var mgm = [];
+
+	var vert = [];
+	var sdir = [];
+	var tdir = [];
+
+	var norm = new THREE.Vector3();
+
+	var tcoord;
+
+	var sstep, tstep;
+	var gmx, tmtx;
+
+	var vertPerRow;
+
+	var s, t, sval, tval, p, dsval, dtval;
+
+	var vsp, vtp, vdsp, vdtp;
+	var vsdir, vtdir, vertOut;
+	var v1, v2, v3, v4;
+
+	var mst = ms.clone();
+	mst.transpose();
+
+	// internal function: test if triangle has any matching vertices;
+	// if so, don't output, since it won't display anything.
+	var notDegenerate = function ( vtx1, vtx2, vtx3 ) {
+		if ( vtx1.equals( vtx2 ) ) { return false; }
+		if ( vtx1.equals( vtx3 ) ) { return false; }
+		if ( vtx2.equals( vtx3 ) ) { return false; }
+		return true;
+	};
+
+
+	for ( i = 0; i < 3; i++ )
+	{
+		mgm[i] = new THREE.Matrix4();
+	}
+
+	vertPerRow = (this.segments+1);
+
+	var surfCount = 0;
+	//var faceCount = 0;
+
+	for ( var surf = minPatches ; surf < maxPatches ; surf++ ) {
+		// get M * G * M matrix for x,y,z
+		for ( i = 0 ; i < 3 ; i++ ) {
+			// get control patches
+			for ( r = 0 ; r < 4 ; r++ ) {
+				for ( c = 0 ; c < 4 ; c++ ) {
+					// transposed; note subtraction of 1 for index
+					g[c*4+r] = TeacupVertices[(TeacupPatches[surf*16 + r*4 + c]-1)*3 + i] ;
+				}
+			}
+
+			// Shockingly, the following three.js does NOT work. Setting this way appears to give the order
+			// g[0], g[4], g[8], etc. to the elements! I could avoid the transpose above
+			// and things would "just work", but this weird ordering would be mysterious.
+			//var gmx = new THREE.Matrix4();
+			//gmx.elements.set( g );
+			// So, explicitly set the matrix this way:
+			gmx = new THREE.Matrix4( g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15] );
+
+			tmtx = new THREE.Matrix4();
+			tmtx.multiplyMatrices( gmx, ms );
+			mgm[i].multiplyMatrices( mst, tmtx );
+		}
+
+		// step along, get points, and output
+		for ( sstep = 0 ; sstep <= this.segments ; sstep++ ) {
+			s = sstep / this.segments;
+
+			for ( tstep = 0 ; tstep <= this.segments ; tstep++ ) {
+				t = tstep / this.segments;
+
+				// point from basis
+				// get power vectors and their derivatives
+				for ( p = 4, sval = tval = 1.0 ; p-- ; ) {
+					sp[p] = sval ;
+					tp[p] = tval ;
+					sval *= s ;
+					tval *= t ;
+
+					if ( p === 3 ) {
+						dsp[p] = dtp[p] = 0.0 ;
+						dsval = dtval = 1.0 ;
+					} else {
+						dsp[p] = dsval * (3-p) ;
+						dtp[p] = dtval * (3-p) ;
+						dsval *= s ;
+						dtval *= t ;
+					}
+				}
+
+				vsp = new THREE.Vector4( sp[0], sp[1], sp[2], sp[3] );
+				vtp = new THREE.Vector4( tp[0], tp[1], tp[2], tp[3] );
+				vdsp = new THREE.Vector4( dsp[0], dsp[1], dsp[2], dsp[3] );
+				vdtp = new THREE.Vector4( dtp[0], dtp[1], dtp[2], dtp[3] );
+
+				// do for x,y,z
+				for ( i = 0 ; i < 3 ; i++ ) {
+					// multiply power vectors times matrix to get value
+					tcoord = vsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					vert[i] = tcoord.dot( vtp );
+
+					// get s and t tangent vectors
+					tcoord = vdsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					sdir[i] = tcoord.dot( vtp ) ;
+
+					tcoord = vsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					tdir[i] = tcoord.dot( vdtp ) ;
+				}
+
+				// find normal
+				vsdir = new THREE.Vector3( sdir[0], sdir[1], sdir[2] );
+				vtdir = new THREE.Vector3( tdir[0], tdir[1], tdir[2] );
+				norm.crossVectors( vtdir, vsdir );
+				norm.normalize();
+
+				// rotate on X axis
+				// interestingly, normals need to be reversed; I suspect the patch
+				// has opposite handedness from the teapot. Also, Y is up for the teacup.
+				normals.push( new THREE.Vector3( -norm.x, -norm.y, -norm.z ) );
+
+				// TODO: check texturing
+				uvs.push( new THREE.Vector2( 1-t, 1-s ) );
+
+				// three.js uses Y up, the code makes Y up, all is fine.
+				// Move teacup to be centered around origin, three.js style.
+				vertOut = new THREE.Vector3( trueSize*vert[0], trueSize*(vert[1]-maxHeight2), trueSize*vert[2] );
+
+				this.vertices.push( vertOut );
+
+			}
+		}
+
+		// save the faces
+		for ( sstep = 0 ; sstep < this.segments ; sstep++ ) {
+			for ( tstep = 0 ; tstep < this.segments ; tstep++ ) {
+				v1 = surfCount * vertPerRow * vertPerRow + sstep * vertPerRow + tstep;
+				v2 = v1 + 1;
+				v3 = v2 + vertPerRow;
+				v4 = v1 + vertPerRow;
+
+				if ( notDegenerate ( this.vertices[v1], this.vertices[v2], this.vertices[v3] ) ) {
+					this.faces.push( new THREE.Face3( v1, v2, v3, [ normals[v1], normals[v2], normals[v3] ] ) );
+					this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v2], uvs[v3] ] );
+				}
+				if ( notDegenerate ( this.vertices[v1], this.vertices[v3], this.vertices[v4] ) ) {
+					this.faces.push( new THREE.Face3( v1, v3, v4, [ normals[v1], normals[v3], normals[v4] ] ) );
+					this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v3], uvs[v4] ] );
+				}
+				//faceCount+=2;
+			}
+		}
+		// increment only if a surface was used
+		surfCount++;
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.mergeVertices();
+
+};
+
+
+THREE.TeacupGeometry.prototype = Object.create( THREE.Geometry.prototype );
diff --git a/COGNET/lib/uclass_TeapotGeometry.js b/COGNET/lib/uclass_TeapotGeometry.js
new file mode 100644
index 0000000..05efc78
--- /dev/null
+++ b/COGNET/lib/uclass_TeapotGeometry.js
@@ -0,0 +1,737 @@
+/**
+ * @author Eric Haines / http://erichaines.com/
+ *
+ * Tessellates the famous Utah teapot database by Martin Newell into triangles.
+ *
+ * THREE.TeapotGeometry = function ( size, segments, bottom, lid, body, fitLid, blinn )
+ *
+ * defaults: size = 50, segments = 10, bottom = true, lid = true, body = true,
+ *   fitLid = false, blinn = true
+ *
+ * size is a relative scale: I've scaled the teapot to fit vertically between -1 and 1.
+ * Think of it as a "radius".
+ * segments - number of line segments to subdivide each patch edge;
+ *   1 is possible but gives degenerates, so two is the real minimum.
+ * bottom - boolean, if true (default) then the bottom patches are added. Some consider
+ *   adding the bottom heresy, so set this to "false" to adhere to the One True Way.
+ * lid - to remove the lid and look inside, set to true.
+ * body - to remove the body and leave the lid, set this and "bottom" to false.
+ * fitLid - the lid is a tad small in the original. This stretches it a bit so you can't
+ *   see the teapot's insides through the gap.
+ * blinn - Jim Blinn scaled the original data vertically by dividing by about 1.3 to look
+ *   nicer. If you want to see the original teapot, similar to the real-world model, set
+ *   this to false. True by default.
+ *   See http://en.wikipedia.org/wiki/File:Original_Utah_Teapot.jpg for the original
+ *   real-world teapot (from http://en.wikipedia.org/wiki/Utah_teapot).
+ *
+ * Note that the bottom (the last four patches) is not flat - blame Frank Crow, not me.
+ *
+ * The teapot should normally be rendered as a double sided object, since for some 
+ * patches both sides can be seen, e.g., the gap around the lid and inside the spout.
+ *
+ * Segments 'n' determines the number of triangles output.
+ *   Total triangles = 32*2*n*n - 8*n    [degenerates at the top and bottom cusps are deleted]
+ *
+ *   size_factor   # triangles
+ *       1          56
+ *       2         240
+ *       3         552
+ *       4         992
+ *
+ *      10        6320
+ *      20       25440
+ *      30       57360
+ *
+ * Code converted from my ancient SPD software, http://tog.acm.org/resources/SPD/
+ * Created for the Udacity course "Interactive Rendering", http://bit.ly/ericity
+ * Lesson: https://www.udacity.com/course/viewer#!/c-cs291/l-68866048/m-106482448
+ * YouTube video on teapot history: https://www.youtube.com/watch?v=DxMfblPzFNc
+ *
+ * See https://en.wikipedia.org/wiki/Utah_teapot for the history of the teapot
+ *
+ */
+/*global THREE */
+
+THREE.TeapotGeometry = function ( size, segments, bottom, lid, body, fitLid, blinn ) {
+
+	"use strict";
+
+	// 32 * 4 * 4 Bezier spline patches
+	var teapotPatches = [
+/*rim*/
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
+3,16,17,18,7,19,20,21,11,22,23,24,15,25,26,27,
+18,28,29,30,21,31,32,33,24,34,35,36,27,37,38,39,
+30,40,41,0,33,42,43,4,36,44,45,8,39,46,47,12,
+/*body*/
+12,13,14,15,48,49,50,51,52,53,54,55,56,57,58,59,
+15,25,26,27,51,60,61,62,55,63,64,65,59,66,67,68,
+27,37,38,39,62,69,70,71,65,72,73,74,68,75,76,77,
+39,46,47,12,71,78,79,48,74,80,81,52,77,82,83,56,
+56,57,58,59,84,85,86,87,88,89,90,91,92,93,94,95,
+59,66,67,68,87,96,97,98,91,99,100,101,95,102,103,104,
+68,75,76,77,98,105,106,107,101,108,109,110,104,111,112,113,
+77,82,83,56,107,114,115,84,110,116,117,88,113,118,119,92,
+/*handle*/
+120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,
+123,136,137,120,127,138,139,124,131,140,141,128,135,142,143,132,
+132,133,134,135,144,145,146,147,148,149,150,151,68,152,153,154,
+135,142,143,132,147,155,156,144,151,157,158,148,154,159,160,68,
+/*spout*/
+161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+164,177,178,161,168,179,180,165,172,181,182,169,176,183,184,173,
+173,174,175,176,185,186,187,188,189,190,191,192,193,194,195,196,
+176,183,184,173,188,197,198,185,192,199,200,189,196,201,202,193,
+/*lid*/
+203,203,203,203,204,205,206,207,208,208,208,208,209,210,211,212,
+203,203,203,203,207,213,214,215,208,208,208,208,212,216,217,218,
+203,203,203,203,215,219,220,221,208,208,208,208,218,222,223,224,
+203,203,203,203,221,225,226,204,208,208,208,208,224,227,228,209,
+209,210,211,212,229,230,231,232,233,234,235,236,237,238,239,240,
+212,216,217,218,232,241,242,243,236,244,245,246,240,247,248,249,
+218,222,223,224,243,250,251,252,246,253,254,255,249,256,257,258,
+224,227,228,209,252,259,260,229,255,261,262,233,258,263,264,237,
+/*bottom*/
+265,265,265,265,266,267,268,269,270,271,272,273,92,119,118,113,
+265,265,265,265,269,274,275,276,273,277,278,279,113,112,111,104,
+265,265,265,265,276,280,281,282,279,283,284,285,104,103,102,95,
+265,265,265,265,282,286,287,266,285,288,289,270,95,94,93,92
+	] ;
+
+	var teapotVertices = [
+1.4,0,2.4,
+1.4,-0.784,2.4,
+0.784,-1.4,2.4,
+0,-1.4,2.4,
+1.3375,0,2.53125,
+1.3375,-0.749,2.53125,
+0.749,-1.3375,2.53125,
+0,-1.3375,2.53125,
+1.4375,0,2.53125,
+1.4375,-0.805,2.53125,
+0.805,-1.4375,2.53125,
+0,-1.4375,2.53125,
+1.5,0,2.4,
+1.5,-0.84,2.4,
+0.84,-1.5,2.4,
+0,-1.5,2.4,
+-0.784,-1.4,2.4,
+-1.4,-0.784,2.4,
+-1.4,0,2.4,
+-0.749,-1.3375,2.53125,
+-1.3375,-0.749,2.53125,
+-1.3375,0,2.53125,
+-0.805,-1.4375,2.53125,
+-1.4375,-0.805,2.53125,
+-1.4375,0,2.53125,
+-0.84,-1.5,2.4,
+-1.5,-0.84,2.4,
+-1.5,0,2.4,
+-1.4,0.784,2.4,
+-0.784,1.4,2.4,
+0,1.4,2.4,
+-1.3375,0.749,2.53125,
+-0.749,1.3375,2.53125,
+0,1.3375,2.53125,
+-1.4375,0.805,2.53125,
+-0.805,1.4375,2.53125,
+0,1.4375,2.53125,
+-1.5,0.84,2.4,
+-0.84,1.5,2.4,
+0,1.5,2.4,
+0.784,1.4,2.4,
+1.4,0.784,2.4,
+0.749,1.3375,2.53125,
+1.3375,0.749,2.53125,
+0.805,1.4375,2.53125,
+1.4375,0.805,2.53125,
+0.84,1.5,2.4,
+1.5,0.84,2.4,
+1.75,0,1.875,
+1.75,-0.98,1.875,
+0.98,-1.75,1.875,
+0,-1.75,1.875,
+2,0,1.35,
+2,-1.12,1.35,
+1.12,-2,1.35,
+0,-2,1.35,
+2,0,0.9,
+2,-1.12,0.9,
+1.12,-2,0.9,
+0,-2,0.9,
+-0.98,-1.75,1.875,
+-1.75,-0.98,1.875,
+-1.75,0,1.875,
+-1.12,-2,1.35,
+-2,-1.12,1.35,
+-2,0,1.35,
+-1.12,-2,0.9,
+-2,-1.12,0.9,
+-2,0,0.9,
+-1.75,0.98,1.875,
+-0.98,1.75,1.875,
+0,1.75,1.875,
+-2,1.12,1.35,
+-1.12,2,1.35,
+0,2,1.35,
+-2,1.12,0.9,
+-1.12,2,0.9,
+0,2,0.9,
+0.98,1.75,1.875,
+1.75,0.98,1.875,
+1.12,2,1.35,
+2,1.12,1.35,
+1.12,2,0.9,
+2,1.12,0.9,
+2,0,0.45,
+2,-1.12,0.45,
+1.12,-2,0.45,
+0,-2,0.45,
+1.5,0,0.225,
+1.5,-0.84,0.225,
+0.84,-1.5,0.225,
+0,-1.5,0.225,
+1.5,0,0.15,
+1.5,-0.84,0.15,
+0.84,-1.5,0.15,
+0,-1.5,0.15,
+-1.12,-2,0.45,
+-2,-1.12,0.45,
+-2,0,0.45,
+-0.84,-1.5,0.225,
+-1.5,-0.84,0.225,
+-1.5,0,0.225,
+-0.84,-1.5,0.15,
+-1.5,-0.84,0.15,
+-1.5,0,0.15,
+-2,1.12,0.45,
+-1.12,2,0.45,
+0,2,0.45,
+-1.5,0.84,0.225,
+-0.84,1.5,0.225,
+0,1.5,0.225,
+-1.5,0.84,0.15,
+-0.84,1.5,0.15,
+0,1.5,0.15,
+1.12,2,0.45,
+2,1.12,0.45,
+0.84,1.5,0.225,
+1.5,0.84,0.225,
+0.84,1.5,0.15,
+1.5,0.84,0.15,
+-1.6,0,2.025,
+-1.6,-0.3,2.025,
+-1.5,-0.3,2.25,
+-1.5,0,2.25,
+-2.3,0,2.025,
+-2.3,-0.3,2.025,
+-2.5,-0.3,2.25,
+-2.5,0,2.25,
+-2.7,0,2.025,
+-2.7,-0.3,2.025,
+-3,-0.3,2.25,
+-3,0,2.25,
+-2.7,0,1.8,
+-2.7,-0.3,1.8,
+-3,-0.3,1.8,
+-3,0,1.8,
+-1.5,0.3,2.25,
+-1.6,0.3,2.025,
+-2.5,0.3,2.25,
+-2.3,0.3,2.025,
+-3,0.3,2.25,
+-2.7,0.3,2.025,
+-3,0.3,1.8,
+-2.7,0.3,1.8,
+-2.7,0,1.575,
+-2.7,-0.3,1.575,
+-3,-0.3,1.35,
+-3,0,1.35,
+-2.5,0,1.125,
+-2.5,-0.3,1.125,
+-2.65,-0.3,0.9375,
+-2.65,0,0.9375,
+-2,-0.3,0.9,
+-1.9,-0.3,0.6,
+-1.9,0,0.6,
+-3,0.3,1.35,
+-2.7,0.3,1.575,
+-2.65,0.3,0.9375,
+-2.5,0.3,1.125,
+-1.9,0.3,0.6,
+-2,0.3,0.9,
+1.7,0,1.425,
+1.7,-0.66,1.425,
+1.7,-0.66,0.6,
+1.7,0,0.6,
+2.6,0,1.425,
+2.6,-0.66,1.425,
+3.1,-0.66,0.825,
+3.1,0,0.825,
+2.3,0,2.1,
+2.3,-0.25,2.1,
+2.4,-0.25,2.025,
+2.4,0,2.025,
+2.7,0,2.4,
+2.7,-0.25,2.4,
+3.3,-0.25,2.4,
+3.3,0,2.4,
+1.7,0.66,0.6,
+1.7,0.66,1.425,
+3.1,0.66,0.825,
+2.6,0.66,1.425,
+2.4,0.25,2.025,
+2.3,0.25,2.1,
+3.3,0.25,2.4,
+2.7,0.25,2.4,
+2.8,0,2.475,
+2.8,-0.25,2.475,
+3.525,-0.25,2.49375,
+3.525,0,2.49375,
+2.9,0,2.475,
+2.9,-0.15,2.475,
+3.45,-0.15,2.5125,
+3.45,0,2.5125,
+2.8,0,2.4,
+2.8,-0.15,2.4,
+3.2,-0.15,2.4,
+3.2,0,2.4,
+3.525,0.25,2.49375,
+2.8,0.25,2.475,
+3.45,0.15,2.5125,
+2.9,0.15,2.475,
+3.2,0.15,2.4,
+2.8,0.15,2.4,
+0,0,3.15,
+0.8,0,3.15,
+0.8,-0.45,3.15,
+0.45,-0.8,3.15,
+0,-0.8,3.15,
+0,0,2.85,
+0.2,0,2.7,
+0.2,-0.112,2.7,
+0.112,-0.2,2.7,
+0,-0.2,2.7,
+-0.45,-0.8,3.15,
+-0.8,-0.45,3.15,
+-0.8,0,3.15,
+-0.112,-0.2,2.7,
+-0.2,-0.112,2.7,
+-0.2,0,2.7,
+-0.8,0.45,3.15,
+-0.45,0.8,3.15,
+0,0.8,3.15,
+-0.2,0.112,2.7,
+-0.112,0.2,2.7,
+0,0.2,2.7,
+0.45,0.8,3.15,
+0.8,0.45,3.15,
+0.112,0.2,2.7,
+0.2,0.112,2.7,
+0.4,0,2.55,
+0.4,-0.224,2.55,
+0.224,-0.4,2.55,
+0,-0.4,2.55,
+1.3,0,2.55,
+1.3,-0.728,2.55,
+0.728,-1.3,2.55,
+0,-1.3,2.55,
+1.3,0,2.4,
+1.3,-0.728,2.4,
+0.728,-1.3,2.4,
+0,-1.3,2.4,
+-0.224,-0.4,2.55,
+-0.4,-0.224,2.55,
+-0.4,0,2.55,
+-0.728,-1.3,2.55,
+-1.3,-0.728,2.55,
+-1.3,0,2.55,
+-0.728,-1.3,2.4,
+-1.3,-0.728,2.4,
+-1.3,0,2.4,
+-0.4,0.224,2.55,
+-0.224,0.4,2.55,
+0,0.4,2.55,
+-1.3,0.728,2.55,
+-0.728,1.3,2.55,
+0,1.3,2.55,
+-1.3,0.728,2.4,
+-0.728,1.3,2.4,
+0,1.3,2.4,
+0.224,0.4,2.55,
+0.4,0.224,2.55,
+0.728,1.3,2.55,
+1.3,0.728,2.55,
+0.728,1.3,2.4,
+1.3,0.728,2.4,
+0,0,0,
+1.425,0,0,
+1.425,0.798,0,
+0.798,1.425,0,
+0,1.425,0,
+1.5,0,0.075,
+1.5,0.84,0.075,
+0.84,1.5,0.075,
+0,1.5,0.075,
+-0.798,1.425,0,
+-1.425,0.798,0,
+-1.425,0,0,
+-0.84,1.5,0.075,
+-1.5,0.84,0.075,
+-1.5,0,0.075,
+-1.425,-0.798,0,
+-0.798,-1.425,0,
+0,-1.425,0,
+-1.5,-0.84,0.075,
+-0.84,-1.5,0.075,
+0,-1.5,0.075,
+0.798,-1.425,0,
+1.425,-0.798,0,
+0.84,-1.5,0.075,
+1.5,-0.84,0.075
+	] ;
+
+	THREE.Geometry.call( this );
+
+	this.type = 'TeapotGeometry';
+
+	this.parameters = {
+		size: size,
+		segments: segments,
+		bottom: bottom,
+		lid: lid,
+		body: body,
+		fitLid: fitLid,
+		blinn: blinn
+	};
+
+	size = size || 50;
+
+	// number of segments per patch
+	segments = segments !== undefined ? Math.max( 2, Math.floor( segments ) || 10 ) : 10;
+
+	// which parts should be visible
+	bottom = bottom === undefined ? true : bottom;
+	lid = lid === undefined ? true : lid;
+	body = body === undefined ? true : body;
+
+	// Should the lid be snug? It's not traditional, so off by default
+	fitLid = fitLid === undefined ? false : fitLid;
+
+	// Jim Blinn scaled the teapot down in size by about 1.3 for
+	// some rendering tests. He liked the new proportions that he kept
+	// the data in this form. The model was distributed with these new
+	// proportions and became the norm. Trivia: comparing images of the
+	// real teapot and the computer model, the ratio for the bowl of the
+	// real teapot is more like 1.25, but since 1.3 is the traditional
+	// value given, we use it here.
+	var blinnScale = 1.3;
+	blinn = blinn === undefined ? true : blinn;
+
+	// scale the size to be the real scaling factor
+	var maxHeight = 3.15 * ( blinn ? 1 : blinnScale );
+
+	var maxHeight2 = maxHeight / 2;
+	var trueSize = size / maxHeight2;
+
+	// Number of elements depends on what is needed. Subtract degenerate
+	// triangles at tip of bottom and lid out in advance.
+	var numTriangles = bottom ? ( 8 * segments - 4 ) * segments : 0;
+	numTriangles += lid ? ( 16 * segments - 4 ) * segments : 0;
+	numTriangles += body ? 40 * segments * segments : 0;
+
+	var numVertices = bottom ? 4 : 0;
+	numVertices += lid ? 8 : 0;
+	numVertices += body ? 20 : 0;
+	numVertices *= ( segments + 1 ) * ( segments + 1 );
+
+	var i;
+	var normals = [];
+	var uvs = [];
+	for ( i = 0; i < numVertices; i++ ) {
+		this.vertices.push( new THREE.Vector3() );
+		normals.push( new THREE.Vector3() );
+		uvs.push( new THREE.Vector2() );
+	}
+
+	// Bezier form
+	var ms = new THREE.Matrix4();
+	ms.set( -1.0,  3.0, -3.0,  1.0,
+			 3.0, -6.0,  3.0,  0.0,
+			-3.0,  3.0,  0.0,  0.0,
+			 1.0,  0.0,  0.0,  0.0 ) ;
+
+	var g = [];
+	var i, r, c;
+
+	var sp = [];
+	var tp = [];
+	var dsp = [];
+	var dtp = [];
+
+	// M * G * M matrix, sort of see
+	// http://www.cs.helsinki.fi/group/goa/mallinnus/curves/surfaces.html
+	var mgm = [];
+
+	var vert = [];
+	var sdir = [];
+	var tdir = [];
+
+	var norm = new THREE.Vector3();
+
+	var tcoord;
+
+	var sstep, tstep;
+	var vertPerRow, eps;
+
+	var s, t, sval, tval, p, dsval, dtval;
+
+	var normOut = new THREE.Vector3();
+	var v1, v2, v3, v4;
+
+	var gmx = new THREE.Matrix4();
+	var tmtx = new THREE.Matrix4();
+
+	var vsp = new THREE.Vector4();
+	var vtp = new THREE.Vector4();
+	var vdsp = new THREE.Vector4();
+	var vdtp = new THREE.Vector4();
+
+	var vsdir = new THREE.Vector3();
+	var vtdir = new THREE.Vector3();
+
+	var mst = ms.clone();
+	mst.transpose();
+
+	// internal function: test if triangle has any matching vertices;
+	// if so, don't save triangle, since it won't display anything.
+	var notDegenerate = function ( vtx1, vtx2, vtx3 ) {
+
+		// if any vertex matches, return false
+		if ( vtx1.equals( vtx2 ) ) { return false; }
+		if ( vtx1.equals( vtx3 ) ) { return false; }
+		if ( vtx2.equals( vtx3 ) ) { return false; }
+		return true;
+
+	};
+
+
+	for ( i = 0; i < 3; i ++ )
+	{
+
+		mgm[ i ] = new THREE.Matrix4();
+
+	}
+
+	var minPatches = body ? 0 : 20;
+	var maxPatches = bottom ? 32 : 28;
+
+	vertPerRow = segments + 1;
+
+	eps = 0.0000001;
+
+	var surfCount = 0;
+	var vertCount = 0;
+	var normCount = 0;
+	var uvCount = 0;
+
+	for ( var surf = minPatches ; surf < maxPatches ; surf ++ ) {
+
+		// lid is in the middle of the data, patches 20-27,
+		// so ignore it for this part of the loop if the lid is not desired
+		if ( lid || ( surf < 20 || surf >= 28 ) ) {
+
+			// get M * G * M matrix for x,y,z
+			for ( i = 0 ; i < 3 ; i ++ ) {
+
+				// get control patches
+				for ( r = 0 ; r < 4 ; r ++ ) {
+
+					for ( c = 0 ; c < 4 ; c ++ ) {
+
+						// transposed
+						g[ c * 4 + r ] = teapotVertices[ teapotPatches[ surf * 16 + r * 4 + c ] * 3 + i ] ;
+
+						// is the lid to be made larger, and is this a point on the lid
+						// that is X or Y?
+						if ( fitLid && ( surf >= 20 && surf < 28 ) && ( i !== 2 ) ) {
+
+							// increase XY size by 7.7%, found empirically. I don't
+							// increase Z so that the teapot will continue to fit in the
+							// space -1 to 1 for Y (Y is up for the final model).
+							g[ c * 4 + r ] *= 1.077;
+
+						}
+
+						// Blinn "fixed" the teapot by dividing Z by blinnScale, and that's the
+						// data we now use. The original teapot is taller. Fix it:
+						if ( ! blinn && ( i === 2 ) ) {
+
+							g[ c * 4 + r ] *= blinnScale;
+
+						}
+
+					}
+
+				}
+
+				gmx.set( g[ 0 ], g[ 1 ], g[ 2 ], g[ 3 ], g[ 4 ], g[ 5 ], g[ 6 ], g[ 7 ], g[ 8 ], g[ 9 ], g[ 10 ], g[ 11 ], g[ 12 ], g[ 13 ], g[ 14 ], g[ 15 ] );
+
+				tmtx.multiplyMatrices( gmx, ms );
+				mgm[ i ].multiplyMatrices( mst, tmtx );
+
+			}
+
+			// step along, get points, and output
+			for ( sstep = 0 ; sstep <= segments ; sstep ++ ) {
+
+				s = sstep / segments;
+
+				for ( tstep = 0 ; tstep <= segments ; tstep ++ ) {
+
+					t = tstep / segments;
+
+					// point from basis
+					// get power vectors and their derivatives
+					for ( p = 4, sval = tval = 1.0 ; p -- ; ) {
+
+						sp[ p ] = sval ;
+						tp[ p ] = tval ;
+						sval *= s ;
+						tval *= t ;
+
+						if ( p === 3 ) {
+
+							dsp[ p ] = dtp[ p ] = 0.0 ;
+							dsval = dtval = 1.0 ;
+
+						} else {
+
+							dsp[ p ] = dsval * ( 3 - p ) ;
+							dtp[ p ] = dtval * ( 3 - p ) ;
+							dsval *= s ;
+							dtval *= t ;
+
+						}
+
+					}
+
+					vsp.set( sp[0], sp[1], sp[2], sp[3] );
+					vtp.set( tp[0], tp[1], tp[2], tp[3] );
+					vdsp.set( dsp[0], dsp[1], dsp[2], dsp[3] );
+					vdtp.set( dtp[0], dtp[1], dtp[2], dtp[3] );
+
+					// do for x,y,z
+					for ( i = 0 ; i < 3 ; i ++ ) {
+
+						// multiply power vectors times matrix to get value
+						tcoord = vsp.clone();
+						tcoord.applyMatrix4( mgm[ i ] );
+						vert[ i ] = tcoord.dot( vtp );
+
+						// get s and t tangent vectors
+						tcoord = vdsp.clone();
+						tcoord.applyMatrix4( mgm[ i ] );
+						sdir[ i ] = tcoord.dot( vtp ) ;
+
+						tcoord = vsp.clone();
+						tcoord.applyMatrix4( mgm[ i ] );
+						tdir[ i ] = tcoord.dot( vdtp ) ;
+
+					}
+
+					// find normal
+					vsdir.set( sdir[0], sdir[1], sdir[2], sdir[3] );
+					vtdir.set( tdir[0], tdir[1], tdir[2], tdir[3] );
+					norm.crossVectors( vtdir, vsdir );
+					norm.normalize();
+
+					// if X and Z length is 0, at the cusp, so point the normal up or down, depending on patch number
+					if ( vert[ 0 ] === 0 && vert[ 1 ] === 0 )
+					{
+
+						// if above the middle of the teapot, normal points up, else down
+						normOut.set( 0, vert[ 2 ] > maxHeight2 ? 1 : - 1, 0 );
+
+					}
+					else
+					{
+
+						// standard output: rotate on X axis
+						normOut.set( norm.x, norm.z, - norm.y );
+
+					}
+
+					// three.js uses Y up, the code makes Z up, so time for a trick:
+					// rotate on X axis, and offset down on Y axis so object ranges from -1 to 1 in Y
+					this.vertices[vertCount++].set( trueSize * vert[ 0 ], trueSize * ( vert[ 2 ] - maxHeight2 ), - trueSize * vert[ 1 ] );
+
+					normals[ normCount ++ ].set( normOut.x, normOut.y, normOut.z );
+
+					uvs[ uvCount ++ ].set( 1 - t, 1 - s );
+
+				}
+
+			}
+
+			// save the faces
+			for ( sstep = 0 ; sstep < segments ; sstep ++ ) {
+
+				for ( tstep = 0 ; tstep < segments ; tstep ++ ) {
+
+					v1 = surfCount * vertPerRow * vertPerRow + sstep * vertPerRow + tstep;
+					v2 = v1 + 1;
+					v3 = v2 + vertPerRow;
+					v4 = v1 + vertPerRow;
+
+					// Normals and UVs cannot be shared. Without clone(), you can see the consequences
+					// of sharing if you call geometry.applyMatrix( matrix ).
+					if ( notDegenerate ( this.vertices[v1], this.vertices[v2], this.vertices[v3] ) ) {
+
+						this.faces.push( new THREE.Face3( v1, v2, v3, [ normals[v1], normals[v2], normals[v3] ] ) );
+						this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v2], uvs[v3] ] );
+
+					}
+					if ( notDegenerate ( this.vertices[v1], this.vertices[v3], this.vertices[v4] ) ) {
+
+						this.faces.push( new THREE.Face3( v1, v3, v4, [ normals[v1], normals[v3], normals[v4] ] ) );
+						this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v3], uvs[v4] ] );
+
+					}
+
+				}
+
+			}
+
+			// increment only if a surface was used
+			surfCount ++;
+
+		}
+
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.mergeVertices();
+
+};
+
+
+THREE.TeapotGeometry.prototype = Object.create( THREE.Geometry.prototype );
+THREE.TeapotGeometry.prototype.constructor = THREE.TeapotGeometry;
+
+THREE.TeapotGeometry.prototype.clone = function () {
+
+	var geometry = new THREE.TeapotGeometry(
+		this.parameters.size,
+		this.parameters.segments,
+		this.parameters.bottom,
+		this.parameters.lid,
+		this.parameters.body,
+		this.parameters.fitLid,
+		this.parameters.blinn
+	);
+
+	return geometry;
+
+};
diff --git a/COGNET/lib/uclass_TeaspoonGeometry.js b/COGNET/lib/uclass_TeaspoonGeometry.js
new file mode 100644
index 0000000..4df9ae5
--- /dev/null
+++ b/COGNET/lib/uclass_TeaspoonGeometry.js
@@ -0,0 +1,527 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author Eric Haines / http://erichaines.com/
+ *
+ * Created for the Udacity course "Interactive Rendering", http://bit.ly/ericity
+ *
+ * Tessellate a teaspoon into triangular patches.
+ *
+ * See http://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teaspoon for
+ *	the history of the Teaspoon and teaspoon
+ *
+ * THREE.TeaspoonGeometry = function ( size, segments )
+ *
+ * defaults: size = 50, segments = 10
+ *
+ * size is a relative scale: I've scaled the Teaspoon to fit vertically between -1 and 1.
+ *	Think of it as a "radius".
+ * segments - number of line segments to subdivide each patch edge;
+ *	1 is possible but gives degenerates, so two is the real minimum.
+ *
+ * segments 'n' determines the number of objects output.
+ *  Total patches = 16*2*n*n
+ *
+ *  size_factor  # triangles
+ *       1			32
+ *       2         128
+ *       3         288
+ *       4         512
+ *       5         800
+ *       6        1152
+ *
+ *		10        3200
+ *		20       12800
+ *		30       28800
+ *		40       51200
+ */
+/*global THREE */
+
+THREE.TeaspoonGeometry = function ( size, segments ) {
+	"use strict";
+
+	// 26 * 4 * 4 Bezier spline patches, note +1 start
+	// Data from ftp://ftp.funet.fi/pub/sci/graphics/packages/objects/teaset.tar.Z
+	var TeaspoonPatches = [
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
+17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
+33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,
+49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,
+65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
+81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,
+129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
+145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,
+161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,
+177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,
+193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,
+209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,
+225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,
+241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256
+	] ;
+
+	var TeaspoonVertices = [
+-0.000107143,0.205357,0.0,
+0.0,0.196429,-0.0178571,
+0.0,0.196429,-0.0178571,
+0.000107143,0.205357,0.0,
+-0.0535714,0.205357,0.0,
+-0.0222714,0.178571,-0.0534286,
+0.0222714,0.178571,-0.0534286,
+0.0535714,0.205357,0.0,
+-0.107143,0.0952429,-0.0178571,
+-0.0446429,0.0952429,-0.0892857,
+0.0446429,0.0952429,-0.0892857,
+0.107143,0.0952429,-0.0178571,
+-0.107143,0.0,-0.0178571,
+-0.0446429,0.0,-0.0892857,
+0.0446429,0.0,-0.0892857,
+0.107143,0.0,-0.0178571,
+0.000107143,0.205357,0.0,
+0.000135714,0.207589,0.00446429,
+0.000157143,0.216518,0.00446429,
+0.000125,0.214286,0.0,
+0.0535714,0.205357,0.0,
+0.0613964,0.212054,0.0133571,
+0.0714286,0.220982,0.015625,
+0.0625,0.214286,0.0,
+0.107143,0.0952429,-0.0178571,
+0.122768,0.0952429,0.0,
+0.142857,0.0952429,0.00446429,
+0.125,0.0952429,-0.0178571,
+0.107143,0.0,-0.0178571,
+0.122768,0.0,0.0,
+0.142857,0.0,0.00446429,
+0.125,0.0,-0.0178571,
+0.000125,0.214286,0.0,
+0.0,0.205357,-0.0178571,
+0.0,0.205357,-0.0178571,
+-0.000125,0.214286,0.0,
+0.0625,0.214286,0.0,
+0.0267857,0.1875,-0.0625,
+-0.0267857,0.1875,-0.0625,
+-0.0625,0.214286,0.0,
+0.125,0.0952429,-0.0178571,
+0.0535714,0.0952429,-0.107143,
+-0.0535714,0.0952429,-0.107143,
+-0.125,0.0952429,-0.0178571,
+0.125,0.0,-0.0178571,
+0.0535714,0.0,-0.107143,
+-0.0535714,0.0,-0.107143,
+-0.125,0.0,-0.0178571,
+-0.000125,0.214286,0.0,
+-0.000157143,0.216518,0.00446429,
+-0.000135714,0.207589,0.00446429,
+-0.000107143,0.205357,0.0,
+-0.0625,0.214286,0.0,
+-0.0714286,0.220982,0.015625,
+-0.0613964,0.212054,0.0133571,
+-0.0535714,0.205357,0.0,
+-0.125,0.0952429,-0.0178571,
+-0.142857,0.0952429,0.00446429,
+-0.122768,0.0952429,0.0,
+-0.107143,0.0952429,-0.0178571,
+-0.125,0.0,-0.0178571,
+-0.142857,0.0,0.00446429,
+-0.122768,0.0,0.0,
+-0.107143,0.0,-0.0178571,
+-0.107143,0.0,-0.0178571,
+-0.0446429,0.0,-0.0892857,
+0.0446429,0.0,-0.0892857,
+0.107143,0.0,-0.0178571,
+-0.107143,-0.142857,-0.0178571,
+-0.0446429,-0.142857,-0.0892857,
+0.0446429,-0.142857,-0.0892857,
+0.107143,-0.142857,-0.0178571,
+-0.0133929,-0.160714,0.0386893,
+-0.00557857,-0.160714,0.0386893,
+0.00557857,-0.160714,0.0386893,
+0.0133929,-0.160714,0.0386893,
+-0.0133929,-0.25,0.0535714,
+-0.00557857,-0.25,0.0535714,
+0.00557857,-0.25,0.0535714,
+0.0133929,-0.25,0.0535714,
+0.107143,0.0,-0.0178571,
+0.122768,0.0,0.0,
+0.142857,0.0,0.00446429,
+0.125,0.0,-0.0178571,
+0.107143,-0.142857,-0.0178571,
+0.122768,-0.142857,0.0,
+0.142857,-0.142857,0.00446429,
+0.125,-0.142857,-0.0178571,
+0.0133929,-0.160714,0.0386893,
+0.0153464,-0.160714,0.0386893,
+0.0178571,-0.160714,0.0314357,
+0.015625,-0.160714,0.0297607,
+0.0133929,-0.25,0.0535714,
+0.0153464,-0.25,0.0535714,
+0.0178571,-0.25,0.0463179,
+0.015625,-0.25,0.0446429,
+0.125,0.0,-0.0178571,
+0.0535714,0.0,-0.107143,
+-0.0535714,0.0,-0.107143,
+-0.125,0.0,-0.0178571,
+0.125,-0.142857,-0.0178571,
+0.0535714,-0.142857,-0.107143,
+-0.0535714,-0.142857,-0.107143,
+-0.125,-0.142857,-0.0178571,
+0.015625,-0.160714,0.0297607,
+0.00669643,-0.160714,0.0230643,
+-0.00781071,-0.160714,0.0208321,
+-0.015625,-0.160714,0.0297607,
+0.015625,-0.25,0.0446429,
+0.00669643,-0.25,0.0379464,
+-0.00781071,-0.25,0.0357143,
+-0.015625,-0.25,0.0446429,
+-0.125,0.0,-0.0178571,
+-0.142857,0.0,0.00446429,
+-0.122768,0.0,0.0,
+-0.107143,0.0,-0.0178571,
+-0.125,-0.142857,-0.0178571,
+-0.142857,-0.142857,0.00446429,
+-0.122768,-0.142857,0.0,
+-0.107143,-0.142857,-0.0178571,
+-0.015625,-0.160714,0.0297607,
+-0.0175786,-0.160714,0.0319929,
+-0.0153464,-0.160714,0.0386893,
+-0.0133929,-0.160714,0.0386893,
+-0.015625,-0.25,0.0446429,
+-0.0175786,-0.25,0.046875,
+-0.0153464,-0.25,0.0535714,
+-0.0133929,-0.25,0.0535714,
+-0.0133929,-0.25,0.0535714,
+-0.00557857,-0.25,0.0535714,
+0.00557857,-0.25,0.0535714,
+0.0133929,-0.25,0.0535714,
+-0.0133929,-0.46425,0.0892857,
+-0.00557857,-0.46425,0.0892857,
+0.00557857,-0.46425,0.0892857,
+0.0133929,-0.46425,0.0892857,
+-0.0446429,-0.678571,0.0535714,
+-0.00892857,-0.678571,0.0625,
+0.00892857,-0.678571,0.0625,
+0.0446429,-0.678571,0.0535714,
+-0.0446429,-0.857143,0.0357143,
+-0.00892857,-0.857143,0.0446429,
+0.00892857,-0.857143,0.0446429,
+0.0446429,-0.857143,0.0357143,
+0.0133929,-0.25,0.0535714,
+0.0153464,-0.25,0.0535714,
+0.0178571,-0.25,0.0463179,
+0.015625,-0.25,0.0446429,
+0.0133929,-0.46425,0.0892857,
+0.0153464,-0.464286,0.0892857,
+0.0178571,-0.46425,0.0820321,
+0.015625,-0.46425,0.0803571,
+0.0446429,-0.678571,0.0535714,
+0.0535714,-0.678571,0.0513393,
+0.0535714,-0.678571,0.0334821,
+0.0446429,-0.678571,0.0357143,
+0.0446429,-0.857143,0.0357143,
+0.0535714,-0.857143,0.0334821,
+0.0535714,-0.857143,0.015625,
+0.0446429,-0.857143,0.0178571,
+0.015625,-0.25,0.0446429,
+0.00669643,-0.25,0.0379464,
+-0.00781071,-0.25,0.0357143,
+-0.015625,-0.25,0.0446429,
+0.015625,-0.46425,0.0803571,
+0.00669643,-0.464286,0.0736607,
+-0.00781071,-0.46425,0.0714286,
+-0.015625,-0.46425,0.0803571,
+0.0446429,-0.678571,0.0357143,
+0.00892857,-0.678571,0.0446429,
+-0.00892857,-0.678571,0.0446429,
+-0.0446429,-0.678571,0.0357143,
+0.0446429,-0.857143,0.0178571,
+0.00892857,-0.857143,0.0267857,
+-0.00892857,-0.857143,0.0267857,
+-0.0446429,-0.857143,0.0178571,
+-0.015625,-0.25,0.0446429,
+-0.0175786,-0.25,0.046875,
+-0.0153464,-0.25,0.0535714,
+-0.0133929,-0.25,0.0535714,
+-0.015625,-0.46425,0.0803571,
+-0.0175786,-0.464286,0.0825893,
+-0.0153464,-0.464286,0.0892857,
+-0.0133929,-0.46425,0.0892857,
+-0.0446429,-0.678571,0.0357143,
+-0.0535714,-0.678571,0.0334821,
+-0.0535714,-0.678571,0.0513393,
+-0.0446429,-0.678571,0.0535714,
+-0.0446429,-0.857143,0.0178571,
+-0.0535714,-0.857143,0.015625,
+-0.0535714,-0.857143,0.0334821,
+-0.0446429,-0.857143,0.0357143,
+-0.0446429,-0.857143,0.0357143,
+-0.00892857,-0.857143,0.0446429,
+0.00892857,-0.857143,0.0446429,
+0.0446429,-0.857143,0.0357143,
+-0.0446429,-0.928571,0.0285714,
+-0.00892857,-0.928571,0.0375,
+0.00892857,-0.928571,0.0375,
+0.0446429,-0.928571,0.0285714,
+-0.0539286,-0.999643,0.0178571,
+0.000357143,-0.999643,0.0178571,
+0.0,-0.999643,0.0178571,
+0.0535714,-0.999643,0.0178571,
+-0.000357143,-1,0.0178571,
+0.000357143,-1,0.0178571,
+0.0,-1,0.0178571,
+0.0,-1,0.0178571,
+0.0446429,-0.857143,0.0357143,
+0.0535714,-0.857143,0.0334821,
+0.0535714,-0.857143,0.015625,
+0.0446429,-0.857143,0.0178571,
+0.0446429,-0.928571,0.0285714,
+0.0535714,-0.928571,0.0263393,
+0.0535714,-0.928571,0.00848214,
+0.0446429,-0.928571,0.0107143,
+0.0535714,-0.999643,0.0178571,
+0.0669643,-0.999643,0.0178571,
+0.0673214,-0.999643,0.0,
+0.0539286,-0.999643,0.0,
+0.0,-1,0.0178571,
+0.0,-1,0.0178571,
+0.000357143,-1,0.0,
+0.000357143,-1,0.0,
+0.0446429,-0.857143,0.0178571,
+0.00892857,-0.857143,0.0267857,
+-0.00892857,-0.857143,0.0267857,
+-0.0446429,-0.857143,0.0178571,
+0.0446429,-0.928571,0.0107143,
+0.00892857,-0.928571,0.0196429,
+-0.00892857,-0.928571,0.0196429,
+-0.0446429,-0.928571,0.0107143,
+0.0539286,-0.999643,0.0,
+0.000357143,-0.999643,0.0,
+-0.000357143,-0.999643,0.0,
+-0.0539286,-0.999643,0.0,
+0.000357143,-1,0.0,
+0.000357143,-1,0.0,
+-0.000357143,-1,0.0,
+-0.000357143,-1,0.0,
+-0.0446429,-0.857143,0.0178571,
+-0.0535714,-0.857143,0.015625,
+-0.0535714,-0.857143,0.0334821,
+-0.0446429,-0.857143,0.0357143,
+-0.0446429,-0.928571,0.0107143,
+-0.0535714,-0.928571,0.00848214,
+-0.0535714,-0.928571,0.0263393,
+-0.0446429,-0.928571,0.0285714,
+-0.0539286,-0.999643,0.0,
+-0.0673214,-0.999643,0.0,
+-0.0675,-0.999643,0.0178571,
+-0.0539286,-0.999643,0.0178571,
+-0.000357143,-1,0.0,
+-0.000357143,-1,0.0,
+-0.000535714,-1,0.0178571,
+-0.000357143,-1,0.0178571
+	] ;
+
+	var minPatches = 0;
+	var maxPatches = 16;
+
+	THREE.Geometry.call( this );
+
+	this.size = size || 50;
+
+	// number of segments per patch
+	this.segments = Math.max( 2, Math.floor( segments ) || 10 );
+
+	// scale the size to be the real scaling factor
+	var maxHeight = 0.21463862761855126;
+	var minHeight = -1;
+
+	var fullHeight = maxHeight - minHeight;
+	var fullHeight2 = fullHeight/2;
+	var heightOffset = - fullHeight2 - minHeight;
+	var trueSize = this.size / fullHeight2;
+
+	var normals = [], uvs = [];
+	// bezier form
+	var ms = new THREE.Matrix4(  -1.0,  3.0, -3.0,  1.0,
+                                  3.0, -6.0,  3.0,  0.0,
+                                 -3.0,  3.0,  0.0,  0.0,
+                                  1.0,  0.0,  0.0,  0.0 ) ;
+
+	var g = [];
+	var i, r, c;
+
+	var sp = [];
+	var tp = [];
+	var dsp = [];
+	var dtp = [];
+
+	// M * G * M matrix, sort of see
+	// http://www.cs.helsinki.fi/group/goa/mallinnus/curves/surfaces.html
+	var mgm = [];
+
+	var vert = [];
+	var sdir = [];
+	var tdir = [];
+
+	var norm = new THREE.Vector3();
+
+	var tcoord;
+
+	var sstep, tstep;
+	var gmx, tmtx;
+
+	var vertPerRow;
+
+	var s, t, sval, tval, p, dsval, dtval;
+
+	var vsp, vtp, vdsp, vdtp;
+	var vsdir, vtdir, vertOut;
+	var v1, v2, v3, v4;
+
+	var mst = ms.clone();
+	mst.transpose();
+
+	// internal function: test if triangle has any matching vertices;
+	// if so, don't output, since it won't display anything.
+	var notDegenerate = function ( vtx1, vtx2, vtx3 ) {
+		if ( vtx1.equals( vtx2 ) ) { return false; }
+		if ( vtx1.equals( vtx3 ) ) { return false; }
+		if ( vtx2.equals( vtx3 ) ) { return false; }
+		return true;
+	};
+
+
+	for ( i = 0; i < 3; i++ )
+	{
+		mgm[i] = new THREE.Matrix4();
+	}
+
+	vertPerRow = (this.segments+1);
+
+	var surfCount = 0;
+	//var faceCount = 0;
+
+	for ( var surf = minPatches ; surf < maxPatches ; surf++ ) {
+		// get M * G * M matrix for x,y,z
+		for ( i = 0 ; i < 3 ; i++ ) {
+			// get control patches
+			for ( r = 0 ; r < 4 ; r++ ) {
+				for ( c = 0 ; c < 4 ; c++ ) {
+					// transposed; note subtraction of 1 for index
+					g[c*4+r] = TeaspoonVertices[(TeaspoonPatches[surf*16 + r*4 + c]-1)*3 + i] ;
+				}
+			}
+
+			// Shockingly, the following three.js does NOT work. Setting this way appears to give the order
+			// g[0], g[4], g[8], etc. to the elements! I could avoid the transpose above
+			// and things would "just work", but this weird ordering would be mysterious.
+			//var gmx = new THREE.Matrix4();
+			//gmx.elements.set( g );
+			// So, explicitly set the matrix this way:
+			gmx = new THREE.Matrix4( g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15] );
+
+			tmtx = new THREE.Matrix4();
+			tmtx.multiplyMatrices( gmx, ms );
+			mgm[i].multiplyMatrices( mst, tmtx );
+		}
+
+		// step along, get points, and output
+		for ( sstep = 0 ; sstep <= this.segments ; sstep++ ) {
+			s = sstep / this.segments;
+
+			for ( tstep = 0 ; tstep <= this.segments ; tstep++ ) {
+				t = tstep / this.segments;
+
+				// point from basis
+				// get power vectors and their derivatives
+				for ( p = 4, sval = tval = 1.0 ; p-- ; ) {
+					sp[p] = sval ;
+					tp[p] = tval ;
+					sval *= s ;
+					tval *= t ;
+
+					if ( p === 3 ) {
+						dsp[p] = dtp[p] = 0.0 ;
+						dsval = dtval = 1.0 ;
+					} else {
+						dsp[p] = dsval * (3-p) ;
+						dtp[p] = dtval * (3-p) ;
+						dsval *= s ;
+						dtval *= t ;
+					}
+				}
+
+				vsp = new THREE.Vector4( sp[0], sp[1], sp[2], sp[3] );
+				vtp = new THREE.Vector4( tp[0], tp[1], tp[2], tp[3] );
+				vdsp = new THREE.Vector4( dsp[0], dsp[1], dsp[2], dsp[3] );
+				vdtp = new THREE.Vector4( dtp[0], dtp[1], dtp[2], dtp[3] );
+
+				// do for x,y,z
+				for ( i = 0 ; i < 3 ; i++ ) {
+					// multiply power vectors times matrix to get value
+					tcoord = vsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					vert[i] = tcoord.dot( vtp );
+
+					// get s and t tangent vectors
+					tcoord = vdsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					sdir[i] = tcoord.dot( vtp ) ;
+
+					tcoord = vsp.clone();
+					tcoord.applyMatrix4( mgm[i] );
+					tdir[i] = tcoord.dot( vdtp ) ;
+				}
+
+				// find normal
+				vsdir = new THREE.Vector3( sdir[0], sdir[1], sdir[2] );
+				vtdir = new THREE.Vector3( tdir[0], tdir[1], tdir[2] );
+				norm.crossVectors( vtdir, vsdir );
+				norm.normalize();
+
+				// rotate on X axis
+				// interestingly, normals need to be reversed; I suspect the patch
+				// has opposite handedness from the teapot. Also, Y is along axis for the teaspoon.
+				normals.push( new THREE.Vector3( -norm.x, -norm.y, -norm.z ) );
+
+				// TODO: check texturing
+				uvs.push( new THREE.Vector2( 1-t, 1-s ) );
+
+				// three.js uses Y up, the code makes Y up, all is fine.
+				// Move teaspoon to be centered around origin, three.js style.
+				vertOut = new THREE.Vector3( trueSize*vert[0], trueSize*(vert[1]+heightOffset), trueSize*vert[2] );
+
+				this.vertices.push( vertOut );
+
+			}
+		}
+
+		// save the faces
+		for ( sstep = 0 ; sstep < this.segments ; sstep++ ) {
+			for ( tstep = 0 ; tstep < this.segments ; tstep++ ) {
+				v1 = surfCount * vertPerRow * vertPerRow + sstep * vertPerRow + tstep;
+				v2 = v1 + 1;
+				v3 = v2 + vertPerRow;
+				v4 = v1 + vertPerRow;
+
+				if ( notDegenerate ( this.vertices[v1], this.vertices[v2], this.vertices[v3] ) ) {
+					this.faces.push( new THREE.Face3( v1, v2, v3, [ normals[v1], normals[v2], normals[v3] ] ) );
+					this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v2], uvs[v3] ] );
+				}
+				if ( notDegenerate ( this.vertices[v1], this.vertices[v3], this.vertices[v4] ) ) {
+					this.faces.push( new THREE.Face3( v1, v3, v4, [ normals[v1], normals[v3], normals[v4] ] ) );
+					this.faceVertexUvs[ 0 ].push( [ uvs[v1], uvs[v3], uvs[v4] ] );
+				}
+				//faceCount+=2;
+			}
+		}
+		// increment only if a surface was used
+		surfCount++;
+	}
+
+	this.computeCentroids();
+	this.computeFaceNormals();
+	this.mergeVertices();
+
+};
+
+
+THREE.TeaspoonGeometry.prototype = Object.create( THREE.Geometry.prototype );
diff --git a/COGNET/lib/uclass_shaders.js b/COGNET/lib/uclass_shaders.js
new file mode 100644
index 0000000..462ec57
--- /dev/null
+++ b/COGNET/lib/uclass_shaders.js
@@ -0,0 +1,286 @@
+"use strict"; // good practice - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
+/**
+ * @author Eric Haines / http://erichaines.com/
+ *
+ * Various useful shaders for the Udacity course "Interactive Rendering"
+ * http://bit.ly/ericity
+ */
+/*global THREE */
+
+THREE.ShaderTypes = {
+
+'gouraud' : {
+
+	uniforms: {
+
+		"uDirLightPos":	{ type: "v3", value: new THREE.Vector3() },
+		"uDirLightColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		"uAmbientLightColor": { type: "c", value: new THREE.Color( 0x050505 ) },
+
+		"uMaterialColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+		"uSpecularColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		uKd: {
+			type: "f",
+			value: 0.7
+		},
+		uKs: {
+			type: "f",
+			value: 0.3
+		},
+		shininess: {
+			type: "f",
+			value: 100.0
+		}
+	},
+
+	vertexShader: [
+
+		"uniform vec3 uMaterialColor;",
+		"uniform vec3 uSpecularColor;",
+
+		"uniform vec3 uDirLightPos;",
+		"uniform vec3 uDirLightColor;",
+
+		"uniform vec3 uAmbientLightColor;",
+
+		"uniform float uKd;",
+		"uniform float uKs;",
+		"uniform float shininess;",
+
+		"varying vec3 vColor;",
+
+		"void main() {",
+
+			"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
+			"vec3 vNormal = normalize( normalMatrix * normal );",
+			"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+			"vec3 vViewPosition = -mvPosition.xyz;",
+
+			"vColor = uAmbientLightColor * uMaterialColor;",
+
+			"vec4 lDirection = viewMatrix * vec4( uDirLightPos, 0.0 );",
+			"vec3 lVector = normalize( lDirection.xyz );",
+
+			// diffuse: N * L
+			"float diffuse = max( dot( vNormal, lVector ), 0.0);",
+
+			"vColor += uKd * uMaterialColor * uDirLightColor * diffuse;",
+
+			// specular: N * H to a power. H is light vector + view vector
+			"vec3 viewPosition = normalize( vViewPosition );",
+			"vec3 pointHalfVector = normalize( lVector + viewPosition );",
+			"float pointDotNormalHalf = max( dot( vNormal, pointHalfVector ), 0.0 );",
+			"float specular = uKs * pow( pointDotNormalHalf, shininess );",
+			// however, if N * L is < 0, the light is below the horizon and should not affect the surface
+			// This can give a hard termination to the highlight, but it's better than some weird sparkle.
+			"if (diffuse <= 0.0) {",
+				"specular = 0.0;",
+			"}",
+
+			"vColor += uDirLightColor * uSpecularColor * specular;",
+		"}"
+
+	].join("\n"),
+
+	fragmentShader: [
+
+		"varying vec3 vColor;",
+
+		"void main() {",
+			"gl_FragColor = vec4(vColor, 1.0);",
+		"}"
+
+	].join("\n")
+
+},
+
+
+'phong' : {
+
+	uniforms: {
+
+		"uDirLightPos":	{ type: "v3", value: new THREE.Vector3() },
+		"uDirLightColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		"uAmbientLightColor": { type: "c", value: new THREE.Color( 0x050505 ) },
+
+		"uMaterialColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+		"uSpecularColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		uKd: {
+			type: "f",
+			value: 0.7
+		},
+		uKs: {
+			type: "f",
+			value: 0.3
+		},
+		shininess: {
+			type: "f",
+			value: 100.0
+		}
+	},
+
+	vertexShader: [
+
+		"varying vec3 vNormal;",
+		"varying vec3 vViewPosition;",
+
+		"void main() {",
+
+			"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
+			"vNormal = normalize( normalMatrix * normal );",
+			"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+			"vViewPosition = -mvPosition.xyz;",
+
+		"}"
+
+	].join("\n"),
+
+	fragmentShader: [
+
+		"uniform vec3 uMaterialColor;",
+		"uniform vec3 uSpecularColor;",
+
+		"uniform vec3 uDirLightPos;",
+		"uniform vec3 uDirLightColor;",
+
+		"uniform vec3 uAmbientLightColor;",
+
+		"uniform float uKd;",
+		"uniform float uKs;",
+		"uniform float shininess;",
+
+		"varying vec3 vNormal;",
+		"varying vec3 vViewPosition;",
+
+		"void main() {",
+
+			// ambient
+			"gl_FragColor = vec4( uAmbientLightColor * uMaterialColor, 1.0 );",
+
+			"vec4 lDirection = viewMatrix * vec4( uDirLightPos, 0.0 );",
+			"vec3 lVector = normalize( lDirection.xyz );",
+
+			// diffuse: N * L. Normal must be normalized, since it's interpolated.
+			"vec3 normal = normalize( vNormal );",
+			"float diffuse = max( dot( normal, lVector ), 0.0);",
+
+			"gl_FragColor.xyz += uKd * uMaterialColor * uDirLightColor * diffuse;",
+
+			// specular: N * H to a power. H is light vector + view vector
+			"vec3 viewPosition = normalize( vViewPosition );",
+			"vec3 pointHalfVector = normalize( lVector + viewPosition );",
+			"float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );",
+			"float specular = uKs * pow( pointDotNormalHalf, shininess );",
+			// however, if N * L is < 0, the light is below the horizon and should not affect the surface
+			// This can give a hard termination to the highlight, but it's better than some weird sparkle.
+			"if (diffuse <= 0.0) {",
+				"specular = 0.0;",
+			"}",
+
+			"gl_FragColor.xyz += uDirLightColor * uSpecularColor * specular;",
+
+		"}"
+
+	].join("\n")
+
+},
+
+'phongBalanced' : {
+
+	uniforms: {
+
+		"uDirLightPos":	{ type: "v3", value: new THREE.Vector3() },
+		"uDirLightColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		"uAmbientLightColor": { type: "c", value: new THREE.Color( 0x050505 ) },
+
+		"uMaterialColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+		"uSpecularColor": { type: "c", value: new THREE.Color( 0xFFFFFF ) },
+
+		uKd: {
+			type: "f",
+			value: 0.7
+		},
+		uKs: {
+			type: "f",
+			value: 0.3
+		},
+		shininess: {
+			type: "f",
+			value: 100.0
+		}
+	},
+
+	vertexShader: [
+
+		"varying vec3 vNormal;",
+		"varying vec3 vViewPosition;",
+
+		"void main() {",
+
+			"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
+			"vNormal = normalize( normalMatrix * normal );",
+			"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
+			"vViewPosition = -mvPosition.xyz;",
+
+		"}"
+
+	].join("\n"),
+
+	fragmentShader: [
+
+		"uniform vec3 uMaterialColor;",
+		"uniform vec3 uSpecularColor;",
+
+		"uniform vec3 uDirLightPos;",
+		"uniform vec3 uDirLightColor;",
+
+		"uniform vec3 uAmbientLightColor;",
+
+		"uniform float uKd;",
+		"uniform float uKs;",
+		"uniform float shininess;",
+
+		"varying vec3 vNormal;",
+		"varying vec3 vViewPosition;",
+
+		"void main() {",
+
+			// ambient
+			"gl_FragColor = vec4( uAmbientLightColor * uMaterialColor, 1.0 );",
+
+			"vec4 lDirection = viewMatrix * vec4( uDirLightPos, 0.0 );",
+			"vec3 lVector = normalize( lDirection.xyz );",
+
+			// diffuse: N * L. Normal must be normalized, since it's interpolated.
+			"vec3 normal = normalize( vNormal );",
+			"float diffuse = max( dot( normal, lVector ), 0.0);",
+
+			"gl_FragColor.xyz += uKd * uMaterialColor * uDirLightColor * diffuse;",
+
+			// specular: N * H to a power. H is light vector + view vector
+			"vec3 viewPosition = normalize( vViewPosition );",
+			"vec3 pointHalfVector = normalize( lVector + viewPosition );",
+			"float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );",
+			"float specular = uKs * pow( pointDotNormalHalf, shininess );",
+			"specular *= (8.0 + shininess)/(8.0*3.14);",
+			//"float specular = uKs * ((float)shininess + 8.0 ) * pow( pointDotNormalHalf, shininess ) / (8 * 3.14);",
+			// however, if N * L is < 0, the light is below the horizon and should not affect the surface
+			// This can give a hard termination to the highlight, but it's better than some weird sparkle.
+			"if (diffuse <= 0.0) {",
+				"specular = 0.0;",
+			"}",
+
+			"gl_FragColor.xyz += uDirLightColor * uSpecularColor * specular;",
+
+		"}"
+
+	].join("\n")
+
+}
+
+};
diff --git a/COGNET/main.js b/COGNET/main.js
index e69de29..379f630 100644
--- a/COGNET/main.js
+++ b/COGNET/main.js
@@ -0,0 +1,81 @@
+import * as THREE from 'three';
+import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
+import { OBJLoader } from 'three/addons/loaders/OBJLoader.js';
+
+// Initialisation de la scène, de la caméra et du rendu
+const scene = new THREE.Scene();
+const renderer = new THREE.WebGLRenderer();
+renderer.setSize(window.innerWidth, window.innerHeight);
+document.getElementById('webGL').appendChild(renderer.domElement);
+
+let camera;
+
+// Ajout des contrôles de la caméra
+let controls;
+function init() {
+    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 20);
+    camera.position.z = 1.5; // Rapprochez la caméra
+
+    // scene
+    const ambientLight = new THREE.AmbientLight(0xffffff);
+    scene.add(ambientLight);
+
+    const pointLight = new THREE.PointLight(0xffffff, 1);
+    camera.add(pointLight);
+    scene.add(camera);
+
+    // renderer
+    renderer.setPixelRatio(window.devicePixelRatio);
+    renderer.setSize(window.innerWidth, window.innerHeight);
+    renderer.setAnimationLoop(animate);
+
+    // controls
+    controls = new OrbitControls(camera, renderer.domElement);
+    controls.minDistance = 1;
+    controls.maxDistance = 3;
+
+    // resize event
+    window.addEventListener('resize', onWindowResize);
+
+    // Load the violin object with textures
+    ObjectWithTextures();
+}
+
+// Fonction pour charger l'objet avec des textures
+function ObjectWithTextures() {
+    const textureLoader = new THREE.TextureLoader();
+    const texture = textureLoader.load('textures/violon/map.jpg');
+
+    new OBJLoader()
+        .setPath('textures/violon/')
+        .load('Violin.obj', function (object) {
+            object.traverse(function (child) {
+                if (child.isMesh) {
+                    child.material = new THREE.MeshStandardMaterial({
+                        map: texture,
+                        color: 0x8B4513 // Wood color
+                    });
+                    child.material.needsUpdate = true;
+                }
+            });
+            object.position.set(0, 0, -1); // Position the object in front of the camera
+            object.scale.setScalar(0.05); // Augmentez l'échelle de l'objet
+            scene.add(object);
+        });
+}
+
+// Fonction d'animation
+function animate() {
+    requestAnimationFrame(animate);
+    controls.update();
+    renderer.render(scene, camera);
+}
+
+function onWindowResize() {
+    camera.aspect = window.innerWidth / window.innerHeight;
+    camera.updateProjectionMatrix();
+    renderer.setSize(window.innerWidth, window.innerHeight);
+}
+
+init();
+animate();
\ No newline at end of file
diff --git a/COGNET/textures/violon/map.jpg b/COGNET/textures/violon/map.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c5e5cf87259d75dbf8fbfaa32e40c6dcf907786c
GIT binary patch
literal 1318405
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%0Ar%l`%Mbm1hu8iUo
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%0DZYir5y^MEb-nZQ7^p-b|6J7S6T%p2M
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

literal 0
HcmV?d00001

-- 
GitLab