From 427afcfea9d42d0ec082003ff6369008f11842ef Mon Sep 17 00:00:00 2001 From: Chandler Prall Date: Wed, 16 Jan 2019 18:15:54 -0700 Subject: [PATCH 01/32] Initial code commit for v1 alpha --- .gitignore | 4 + LICENSE | 32 +- README.md | 11 + ThreeCSG.js | 552 --- examples.html | 123 - examples/combination.html | 57 + examples/intersect1.html | 56 + examples/intersect2.html | 56 + examples/subtract.html | 54 + examples/union.html | 54 + package.json | 44 + src/BSPNode.test.ts | 21 + src/BSPNode.ts | 320 ++ src/Triangle.test.ts | 142 + src/Triangle.ts | 65 + .../convertMeshToTriangles.test.ts.snap | 282 ++ src/boolean.ts | 37 + src/convertMeshToTriangles.test.ts | 14 + src/convertMeshToTriangles.ts | 32 + src/index.ts | 39 + src/utils.test.ts | 41 + src/utils.ts | 16 + texture.png | Bin 495055 -> 0 bytes threeCSG.es6 | 583 --- threecsg.js | 459 ++ tsconfig.json | 13 + yarn.lock | 3721 +++++++++++++++++ 27 files changed, 5553 insertions(+), 1275 deletions(-) create mode 100644 .gitignore create mode 100644 README.md delete mode 100644 ThreeCSG.js delete mode 100644 examples.html create mode 100644 examples/combination.html create mode 100644 examples/intersect1.html create mode 100644 examples/intersect2.html create mode 100644 examples/subtract.html create mode 100644 examples/union.html create mode 100644 package.json create mode 100644 src/BSPNode.test.ts create mode 100644 src/BSPNode.ts create mode 100644 src/Triangle.test.ts create mode 100644 src/Triangle.ts create mode 100644 src/__snapshots__/convertMeshToTriangles.test.ts.snap create mode 100644 src/boolean.ts create mode 100644 src/convertMeshToTriangles.test.ts create mode 100644 src/convertMeshToTriangles.ts create mode 100644 src/index.ts create mode 100644 src/utils.test.ts create mode 100644 src/utils.ts delete mode 100644 texture.png delete mode 100644 threeCSG.es6 create mode 100644 threecsg.js create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..401239b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea +node_modules +lib +types \ No newline at end of file diff --git a/LICENSE b/LICENSE index c4aa0fa..3957343 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,19 @@ -The MIT License +Zlib License -Copyright (c) 2012 Chandler Prall. All rights reserved. +Copyright © 2018 Chandler Prall -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8e19d5 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +Constructive Solid Geometry library for Three.js + +## Installation + +### npm/yarn + +`npm install --save threecsg` + +`yarn add threecsg` + +### \ No newline at end of file diff --git a/ThreeCSG.js b/ThreeCSG.js deleted file mode 100644 index cda7078..0000000 --- a/ThreeCSG.js +++ /dev/null @@ -1,552 +0,0 @@ -'use strict'; -window.ThreeBSP = (function() { - - var ThreeBSP, - EPSILON = 1e-5, - COPLANAR = 0, - FRONT = 1, - BACK = 2, - SPANNING = 3; - - ThreeBSP = function( geometry ) { - // Convert THREE.Geometry to ThreeBSP - var i, _length_i, - face, vertex, faceVertexUvs, uvs, - polygon, - polygons = [], - tree; - - if ( geometry instanceof THREE.Geometry ) { - this.matrix = new THREE.Matrix4; - } else if ( geometry instanceof THREE.Mesh ) { - // #todo: add hierarchy support - geometry.updateMatrix(); - this.matrix = geometry.matrix.clone(); - geometry = geometry.geometry; - } else if ( geometry instanceof ThreeBSP.Node ) { - this.tree = geometry; - this.matrix = new THREE.Matrix4; - return this; - } else { - throw 'ThreeBSP: Given geometry is unsupported'; - } - - for ( i = 0, _length_i = geometry.faces.length; i < _length_i; i++ ) { - face = geometry.faces[i]; - faceVertexUvs = geometry.faceVertexUvs[0][i]; - polygon = new ThreeBSP.Polygon; - - if ( face instanceof THREE.Face3 ) { - vertex = geometry.vertices[ face.a ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[0].x, faceVertexUvs[0].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - - vertex = geometry.vertices[ face.b ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[1].x, faceVertexUvs[1].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - - vertex = geometry.vertices[ face.c ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[2].x, faceVertexUvs[2].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - } else if ( typeof THREE.Face4 ) { - vertex = geometry.vertices[ face.a ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[0].x, faceVertexUvs[0].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - - vertex = geometry.vertices[ face.b ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[1].x, faceVertexUvs[1].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - - vertex = geometry.vertices[ face.c ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[2].x, faceVertexUvs[2].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - - vertex = geometry.vertices[ face.d ]; - uvs = faceVertexUvs ? new THREE.Vector2( faceVertexUvs[3].x, faceVertexUvs[3].y ) : null; - vertex = new ThreeBSP.Vertex( vertex.x, vertex.y, vertex.z, face.vertexNormals[3], uvs ); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push( vertex ); - } else { - throw 'Invalid face type at index ' + i; - } - - polygon.calculateProperties(); - polygons.push( polygon ); - }; - - this.tree = new ThreeBSP.Node( polygons ); - }; - ThreeBSP.prototype.subtract = function( other_tree ) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.invert(); - a.clipTo( b ); - b.clipTo( a ); - b.invert(); - b.clipTo( a ); - b.invert(); - a.build( b.allPolygons() ); - a.invert(); - a = new ThreeBSP( a ); - a.matrix = this.matrix; - return a; - }; - ThreeBSP.prototype.union = function( other_tree ) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.clipTo( b ); - b.clipTo( a ); - b.invert(); - b.clipTo( a ); - b.invert(); - a.build( b.allPolygons() ); - a = new ThreeBSP( a ); - a.matrix = this.matrix; - return a; - }; - ThreeBSP.prototype.intersect = function( other_tree ) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.invert(); - b.clipTo( a ); - b.invert(); - a.clipTo( b ); - b.clipTo( a ); - a.build( b.allPolygons() ); - a.invert(); - a = new ThreeBSP( a ); - a.matrix = this.matrix; - return a; - }; - ThreeBSP.prototype.toGeometry = function() { - var i, j, - matrix = new THREE.Matrix4().getInverse( this.matrix ), - geometry = new THREE.Geometry(), - polygons = this.tree.allPolygons(), - polygon_count = polygons.length, - polygon, polygon_vertice_count, - vertice_dict = {}, - vertex_idx_a, vertex_idx_b, vertex_idx_c, - vertex, face, - verticeUvs; - - for ( i = 0; i < polygon_count; i++ ) { - polygon = polygons[i]; - polygon_vertice_count = polygon.vertices.length; - - for ( j = 2; j < polygon_vertice_count; j++ ) { - verticeUvs = []; - - vertex = polygon.vertices[0]; - verticeUvs.push( new THREE.Vector2( vertex.uv.x, vertex.uv.y ) ); - vertex = new THREE.Vector3( vertex.x, vertex.y, vertex.z ); - vertex.applyMatrix4(matrix); - - if ( typeof vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] !== 'undefined' ) { - vertex_idx_a = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ]; - } else { - geometry.vertices.push( vertex ); - vertex_idx_a = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] = geometry.vertices.length - 1; - } - - vertex = polygon.vertices[j-1]; - verticeUvs.push( new THREE.Vector2( vertex.uv.x, vertex.uv.y ) ); - vertex = new THREE.Vector3( vertex.x, vertex.y, vertex.z ); - vertex.applyMatrix4(matrix); - if ( typeof vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] !== 'undefined' ) { - vertex_idx_b = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ]; - } else { - geometry.vertices.push( vertex ); - vertex_idx_b = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] = geometry.vertices.length - 1; - } - - vertex = polygon.vertices[j]; - verticeUvs.push( new THREE.Vector2( vertex.uv.x, vertex.uv.y ) ); - vertex = new THREE.Vector3( vertex.x, vertex.y, vertex.z ); - vertex.applyMatrix4(matrix); - if ( typeof vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] !== 'undefined' ) { - vertex_idx_c = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ]; - } else { - geometry.vertices.push( vertex ); - vertex_idx_c = vertice_dict[ vertex.x + ',' + vertex.y + ',' + vertex.z ] = geometry.vertices.length - 1; - } - - face = new THREE.Face3( - vertex_idx_a, - vertex_idx_b, - vertex_idx_c, - new THREE.Vector3( polygon.normal.x, polygon.normal.y, polygon.normal.z ) - ); - - geometry.faces.push( face ); - geometry.faceVertexUvs[0].push( verticeUvs ); - } - - } - return geometry; - }; - ThreeBSP.prototype.toMesh = function( material ) { - var geometry = this.toGeometry(), - mesh = new THREE.Mesh( geometry, material ); - - mesh.position.setFromMatrixPosition( this.matrix ); - mesh.rotation.setFromRotationMatrix( this.matrix ); - - return mesh; - }; - - - ThreeBSP.Polygon = function( vertices, normal, w ) { - if ( !( vertices instanceof Array ) ) { - vertices = []; - } - - this.vertices = vertices; - if ( vertices.length > 0 ) { - this.calculateProperties(); - } else { - this.normal = this.w = undefined; - } - }; - ThreeBSP.Polygon.prototype.calculateProperties = function() { - var a = this.vertices[0], - b = this.vertices[1], - c = this.vertices[2]; - - this.normal = b.clone().subtract( a ).cross( - c.clone().subtract( a ) - ).normalize(); - - this.w = this.normal.clone().dot( a ); - - return this; - }; - ThreeBSP.Polygon.prototype.clone = function() { - var i, vertice_count, - polygon = new ThreeBSP.Polygon; - - for ( i = 0, vertice_count = this.vertices.length; i < vertice_count; i++ ) { - polygon.vertices.push( this.vertices[i].clone() ); - }; - polygon.calculateProperties(); - - return polygon; - }; - - ThreeBSP.Polygon.prototype.flip = function() { - var i, vertices = []; - - this.normal.multiplyScalar( -1 ); - this.w *= -1; - - for ( i = this.vertices.length - 1; i >= 0; i-- ) { - vertices.push( this.vertices[i] ); - }; - this.vertices = vertices; - - return this; - }; - ThreeBSP.Polygon.prototype.classifyVertex = function( vertex ) { - var side_value = this.normal.dot( vertex ) - this.w; - - if ( side_value < -EPSILON ) { - return BACK; - } else if ( side_value > EPSILON ) { - return FRONT; - } else { - return COPLANAR; - } - }; - ThreeBSP.Polygon.prototype.classifySide = function( polygon ) { - var i, vertex, classification, - num_positive = 0, - num_negative = 0, - vertice_count = polygon.vertices.length; - - for ( i = 0; i < vertice_count; i++ ) { - vertex = polygon.vertices[i]; - classification = this.classifyVertex( vertex ); - if ( classification === FRONT ) { - num_positive++; - } else if ( classification === BACK ) { - num_negative++; - } - } - - if ( num_positive === vertice_count && num_negative === 0 ) { - return FRONT; - } else if ( num_positive === 0 && num_negative === vertice_count ) { - return BACK; - } else if ( num_positive > 0 && num_negative > 0 ) { - return SPANNING; - } else { - return COPLANAR; - } - }; - ThreeBSP.Polygon.prototype.splitPolygon = function( polygon, coplanar_front, coplanar_back, front, back ) { - var classification = this.classifySide( polygon ); - - if ( classification === COPLANAR ) { - - ( this.normal.dot( polygon.normal ) > 0 ? coplanar_front : coplanar_back ).push( polygon ); - - } else if ( classification === FRONT ) { - - front.push( polygon ); - - } else if ( classification === BACK ) { - - back.push( polygon ); - - } else { - - var vertice_count, - i, j, ti, tj, vi, vj, - t, v, - f = [], - b = []; - - for ( i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++ ) { - - j = (i + 1) % vertice_count; - vi = polygon.vertices[i]; - vj = polygon.vertices[j]; - ti = this.classifyVertex( vi ); - tj = this.classifyVertex( vj ); - - if ( ti != BACK ) f.push( vi ); - if ( ti != FRONT ) b.push( vi ); - if ( (ti | tj) === SPANNING ) { - t = ( this.w - this.normal.dot( vi ) ) / this.normal.dot( vj.clone().subtract( vi ) ); - v = vi.interpolate( vj, t ); - f.push( v ); - b.push( v ); - } - } - - - if ( f.length >= 3 ) front.push( new ThreeBSP.Polygon( f ).calculateProperties() ); - if ( b.length >= 3 ) back.push( new ThreeBSP.Polygon( b ).calculateProperties() ); - } - }; - - ThreeBSP.Vertex = function( x, y, z, normal, uv ) { - this.x = x; - this.y = y; - this.z = z; - this.normal = normal || new THREE.Vector3; - this.uv = uv || new THREE.Vector2; - }; - ThreeBSP.Vertex.prototype.clone = function() { - return new ThreeBSP.Vertex( this.x, this.y, this.z, this.normal.clone(), this.uv.clone() ); - }; - ThreeBSP.Vertex.prototype.add = function( vertex ) { - this.x += vertex.x; - this.y += vertex.y; - this.z += vertex.z; - return this; - }; - ThreeBSP.Vertex.prototype.subtract = function( vertex ) { - this.x -= vertex.x; - this.y -= vertex.y; - this.z -= vertex.z; - return this; - }; - ThreeBSP.Vertex.prototype.multiplyScalar = function( scalar ) { - this.x *= scalar; - this.y *= scalar; - this.z *= scalar; - return this; - }; - ThreeBSP.Vertex.prototype.cross = function( vertex ) { - var x = this.x, - y = this.y, - z = this.z; - - this.x = y * vertex.z - z * vertex.y; - this.y = z * vertex.x - x * vertex.z; - this.z = x * vertex.y - y * vertex.x; - - return this; - }; - ThreeBSP.Vertex.prototype.normalize = function() { - var length = Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z ); - - this.x /= length; - this.y /= length; - this.z /= length; - - return this; - }; - ThreeBSP.Vertex.prototype.dot = function( vertex ) { - return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z; - }; - ThreeBSP.Vertex.prototype.lerp = function( a, t ) { - this.add( - a.clone().subtract( this ).multiplyScalar( t ) - ); - - this.normal.add( - a.normal.clone().sub( this.normal ).multiplyScalar( t ) - ); - - this.uv.add( - a.uv.clone().sub( this.uv ).multiplyScalar( t ) - ); - - return this; - }; - ThreeBSP.Vertex.prototype.interpolate = function( other, t ) { - return this.clone().lerp( other, t ); - }; - ThreeBSP.Vertex.prototype.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; - - } - - - ThreeBSP.Node = function( polygons ) { - var i, polygon_count, - front = [], - back = []; - - this.polygons = []; - this.front = this.back = undefined; - - if ( !(polygons instanceof Array) || polygons.length === 0 ) return; - - this.divider = polygons[0].clone(); - - for ( i = 0, polygon_count = polygons.length; i < polygon_count; i++ ) { - this.divider.splitPolygon( polygons[i], this.polygons, this.polygons, front, back ); - } - - if ( front.length > 0 ) { - this.front = new ThreeBSP.Node( front ); - } - - if ( back.length > 0 ) { - this.back = new ThreeBSP.Node( back ); - } - }; - ThreeBSP.Node.isConvex = function( polygons ) { - var i, j; - for ( i = 0; i < polygons.length; i++ ) { - for ( j = 0; j < polygons.length; j++ ) { - if ( i !== j && polygons[i].classifySide( polygons[j] ) !== BACK ) { - return false; - } - } - } - return true; - }; - ThreeBSP.Node.prototype.build = function( polygons ) { - var i, polygon_count, - front = [], - back = []; - - if ( !this.divider ) { - this.divider = polygons[0].clone(); - } - - for ( i = 0, polygon_count = polygons.length; i < polygon_count; i++ ) { - this.divider.splitPolygon( polygons[i], this.polygons, this.polygons, front, back ); - } - - if ( front.length > 0 ) { - if ( !this.front ) this.front = new ThreeBSP.Node(); - this.front.build( front ); - } - - if ( back.length > 0 ) { - if ( !this.back ) this.back = new ThreeBSP.Node(); - this.back.build( back ); - } - }; - ThreeBSP.Node.prototype.allPolygons = function() { - var polygons = this.polygons.slice(); - if ( this.front ) polygons = polygons.concat( this.front.allPolygons() ); - if ( this.back ) polygons = polygons.concat( this.back.allPolygons() ); - return polygons; - }; - ThreeBSP.Node.prototype.clone = function() { - var node = new ThreeBSP.Node(); - - node.divider = this.divider.clone(); - node.polygons = this.polygons.map( function( polygon ) { return polygon.clone(); } ); - node.front = this.front && this.front.clone(); - node.back = this.back && this.back.clone(); - - return node; - }; - ThreeBSP.Node.prototype.invert = function() { - var i, polygon_count, temp; - - for ( i = 0, polygon_count = this.polygons.length; i < polygon_count; i++ ) { - this.polygons[i].flip(); - } - - this.divider.flip(); - if ( this.front ) this.front.invert(); - if ( this.back ) this.back.invert(); - - temp = this.front; - this.front = this.back; - this.back = temp; - - return this; - }; - ThreeBSP.Node.prototype.clipPolygons = function( polygons ) { - var i, polygon_count, - front, back; - - if ( !this.divider ) return polygons.slice(); - - front = [], back = []; - - for ( i = 0, polygon_count = polygons.length; i < polygon_count; i++ ) { - this.divider.splitPolygon( polygons[i], front, back, front, back ); - } - - if ( this.front ) front = this.front.clipPolygons( front ); - if ( this.back ) back = this.back.clipPolygons( back ); - else back = []; - - return front.concat( back ); - }; - - ThreeBSP.Node.prototype.clipTo = function( node ) { - this.polygons = node.clipPolygons( this.polygons ); - if ( this.front ) this.front.clipTo( node ); - if ( this.back ) this.back.clipTo( node ); - }; - - - return ThreeBSP; -})(); diff --git a/examples.html b/examples.html deleted file mode 100644 index 4de099a..0000000 --- a/examples.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - -
- - - - diff --git a/examples/combination.html b/examples/combination.html new file mode 100644 index 0000000..ac730a4 --- /dev/null +++ b/examples/combination.html @@ -0,0 +1,57 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/intersect1.html b/examples/intersect1.html new file mode 100644 index 0000000..cd49ddf --- /dev/null +++ b/examples/intersect1.html @@ -0,0 +1,56 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/intersect2.html b/examples/intersect2.html new file mode 100644 index 0000000..70dae71 --- /dev/null +++ b/examples/intersect2.html @@ -0,0 +1,56 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/subtract.html b/examples/subtract.html new file mode 100644 index 0000000..8807249 --- /dev/null +++ b/examples/subtract.html @@ -0,0 +1,54 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/union.html b/examples/union.html new file mode 100644 index 0000000..25119d2 --- /dev/null +++ b/examples/union.html @@ -0,0 +1,54 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..59db3fb --- /dev/null +++ b/package.json @@ -0,0 +1,44 @@ +{ + "name": "threecsg", + "version": "1.0.0-alpha.1", + "description": "Constructive Solid Geometry for Three.JS", + "main": "lib", + "author": "Chandler Prall ", + "license": "Zlib", + "repository": "https://github.com/chandlerprall/ThreeCSG/", + "scripts": { + "build": "tsc", + "postbuild": "rollup lib/index.js --file threecsg.js --format umd --globals three:THREE --name threecsg", + "test": "jest" + }, + "jest": { + "rootDir": ".", + "roots": [ + "/src" + ], + "testMatch": [ + "**/*.test.ts" + ], + "transform": { + "^.+\\.ts$": "ts-jest" + }, + "moduleFileExtensions": [ + "ts", + "js", + "jsx", + "json" + ] + }, + "devDependencies": { + "@types/jest": "^23.3.12", + "@types/three": "^0.93.15", + "jest": "^23.6.0", + "rollup": "^1.1.0", + "three": "^0.100.0", + "ts-jest": "^23.10.5", + "typescript": "^3.2.2" + }, + "peerDependencies": { + "three": "^0.100.0" + } +} diff --git a/src/BSPNode.test.ts b/src/BSPNode.test.ts new file mode 100644 index 0000000..2b88450 --- /dev/null +++ b/src/BSPNode.test.ts @@ -0,0 +1,21 @@ +import {BoxGeometry, Mesh} from 'three'; +import convertMeshToTriangles from './convertMeshToTriangles'; +import BSPNode from './BSPNode'; + +describe('BSPNode', () => { + describe('buildFrom', () => { + it('creates a single-node tree for already convex geometry', () => { + const boxGeometry = new BoxGeometry(5); + const boxMesh = new Mesh(boxGeometry); + const triangles = convertMeshToTriangles(boxMesh); + const bspTree = new BSPNode(); + bspTree.buildFrom(triangles); + + expect(bspTree.divider).not.toBe(triangles[0]); + expect(bspTree.divider).toEqual(triangles[0]); + expect(bspTree.triangles).toBe(triangles); + expect(bspTree).not.toHaveProperty('front'); + expect(bspTree).not.toHaveProperty('back'); + }); + }); +}); \ No newline at end of file diff --git a/src/BSPNode.ts b/src/BSPNode.ts new file mode 100644 index 0000000..62ea273 --- /dev/null +++ b/src/BSPNode.ts @@ -0,0 +1,320 @@ +import Triangle, {CLASSIFY_BACK, CLASSIFY_COPLANAR, CLASSIFY_FRONT, CLASSIFY_SPANNING} from './Triangle'; +import {isConvexSet} from './utils'; +import {Face3, Geometry, Vector3} from 'three'; + +const MINIMUM_RELATION = 0.5; // 0 -> 1 +const MINIMUM_RELATION_SCALE = 5; // should always be >2 + +function chooseDividingTriangle(triangles: Triangle[]): Triangle | undefined { + if (isConvexSet(triangles)) return undefined; + + let minimumRelation = MINIMUM_RELATION; + let bestTriangle: Triangle | undefined = undefined; + let leastSplits = Infinity; + let bestRelation = 0; + + // Find the triangle that best divides the set + while (bestTriangle === undefined) { + for (let i = 0; i < triangles.length; i++) { + const triangleOuter = triangles[i]; + + // Count the number of polygons on the positive side, negative side, and spanning the plane defined by the current triangle + let numFront = 0; + let numBack = 0; + let numSpanning = 0; + for (let j = 0; j < triangles.length; j++) { + if (i === j) continue; + const triangleInner = triangles[j]; + const side = triangleOuter.classifySide(triangleInner); + + if (side === CLASSIFY_SPANNING) { + numSpanning++; + } else if (side === CLASSIFY_FRONT) { + numFront++; + } else if (side === CLASSIFY_BACK) { + numBack++; + } + } + + // Calculate the relation between the number of triangles in the two sets divided by the current triangle + const relation = numFront < numBack ? numFront / numBack : numBack / numFront; + + // Compare the results given by the current triangle to the best so far. + // If the this triangle splits fewer triangles and the relation + // between the resulting sets is acceptable this is the new candidate + // triangle. If the current triangle splits the same amount of triangles + // as the best triangle so far and the relation between the two + // resulting sets is better then this triangle is the new candidate + // triangle. + if ( + relation > minimumRelation && + ( + numSpanning < leastSplits || + (numSpanning === leastSplits && relation > bestRelation) + ) + ) { + bestTriangle = triangleOuter; + leastSplits = numSpanning; + bestRelation = relation; + } + } + minimumRelation = minimumRelation / MINIMUM_RELATION_SCALE; + } + + return bestTriangle; +} + +export default class BSPNode { + divider?: Triangle; + front?: BSPNode; + back?: BSPNode; + triangles: Triangle[]; + isInverted: boolean; + + static interpolateVectors(a: Vector3, b: Vector3, t: number): Vector3 { + return a.clone().lerp(b, t); + } + + static splitTriangle = function splitTriangle(triangle: Triangle, divider: Triangle, frontTriangles: Triangle[], backTriangles: Triangle[]) { + const vertices = [triangle.a, triangle.b, triangle.c]; + const frontVertices: Vector3[] = []; + const backVertices: Vector3[] = []; + + for (let i = 0; i < 3; i++) { + const j = (i + 1) % 3; + const vi = vertices[i]; + const vj = vertices[j]; + const ti = divider.classifyPoint(vi); + const tj = divider.classifyPoint(vj); + + if (ti != CLASSIFY_BACK) frontVertices.push(vi); + if (ti != CLASSIFY_FRONT) backVertices.push(vi); + if ((ti | tj) === CLASSIFY_SPANNING) { + const t = (divider.w - divider.normal.dot(vi)) / divider.normal.dot(vj.clone().sub(vi)); + const v = BSPNode.interpolateVectors(vi, vj, t); + frontVertices.push(v); + backVertices.push(v); + } + } + + if (frontVertices.length >= 3) Array.prototype.push.apply(frontTriangles, BSPNode.verticesToTriangles(frontVertices)); + if (backVertices.length >= 3) Array.prototype.push.apply(backTriangles, BSPNode.verticesToTriangles(backVertices)); + } + + static verticesToTriangles(vertices: Vector3[]): Triangle[] { + const triangles = []; + for (let i = 2; i < vertices.length; i++) { + const a = vertices[0]; + const b = vertices[i-1]; + const c = vertices[i]; + const triangle = new Triangle(a, b, c); + triangles.push(triangle); + } + return triangles; + } + + constructor(triangles?: Triangle[]) { + this.triangles = []; + this.isInverted = false; + + if (triangles !== undefined) { + this.buildFrom(triangles); + } + } + + buildFrom(triangles: Triangle[]) { + if (this.divider === undefined) { + const bestDivider = chooseDividingTriangle(triangles); + if (bestDivider === undefined) { + this.divider = triangles[0].clone(); + this.triangles = triangles; + } else { + this.divider = bestDivider.clone(); + this.triangles = []; + this.addTriangles(triangles); + } + } else { + this.addTriangles(triangles); + } + } + + private addTriangles(triangles: Triangle[]) { + const frontTriangles = []; + const backTriangles = []; + + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const side = this.divider!.classifySide(triangle); + + if (side === CLASSIFY_COPLANAR) { + this.triangles.push(triangle); + } else if (side === CLASSIFY_FRONT) { + frontTriangles.push(triangle); + } else if (side === CLASSIFY_BACK) { + backTriangles.push(triangle); + } else { + BSPNode.splitTriangle(triangle, this.divider!, frontTriangles, backTriangles); + } + } + + if (frontTriangles.length) { + if (this.front === undefined) { + this.front = new BSPNode(frontTriangles); + } else { + this.front.addTriangles(frontTriangles); + } + } + if (backTriangles.length) { + if (this.back === undefined) { + this.back = new BSPNode(backTriangles); + } else { + this.back.addTriangles(backTriangles); + } + } + } + + + invert() { + this.isInverted = !this.isInverted; + + if (this.divider !== undefined) this.divider.invert(); + if (this.front !== undefined) this.front.invert(); + if (this.back !== undefined) this.back.invert(); + + const temp = this.front; + this.front = this.back; + this.back = temp; + + for (let i = 0; i < this.triangles.length; i++) { + this.triangles[i].invert(); + } + } + + // Remove all triangles in this BSP tree that are inside the other BSP tree + clipTo(tree: BSPNode) { + this.triangles = tree.clipTriangles(this.triangles); + if (this.front !== undefined) this.front.clipTo(tree); + if (this.back !== undefined) this.back.clipTo(tree); + } + + // Recursively remove all triangles from `triangles` that are inside this BSP tree + clipTriangles(triangles: Triangle[]): Triangle[] { + if (!this.divider) return triangles.slice(); + + let frontTriangles: Triangle[] = []; + let backTriangles: Triangle[] = []; + + if (this.front === undefined && this.back === undefined) { + triangles = triangles.slice(); + // this is a leaf node and thus a convex set, return any triangles not contained by the set +outer: + for (let i = 0; i < triangles.length; i++) { + const candidate = triangles[i]; + + let backsideCount = 0; + let frontsideCount = 0; + for (let j = 0; j < this.triangles.length; j++) { + const side = this.triangles[j].classifySide(candidate); + if (side === CLASSIFY_BACK) { + backsideCount++; + } else if (side === CLASSIFY_FRONT) { + frontsideCount++; + } else if (side === CLASSIFY_COPLANAR) { + // keep coplanar triangles if they face the correct direction + const dot = this.triangles[j].normal.dot(candidate.normal); + if (dot < 0) { + backsideCount++; + } else { + frontsideCount++; + } + } else if (side === CLASSIFY_SPANNING) { + // exclude this triangle as it becomes split, + // push resulting front triangles into `triangles` for more splitting + BSPNode.splitTriangle(candidate, this.triangles[j], triangles, triangles); + continue outer; + } + } + + if (!this.isInverted && backsideCount !== this.triangles.length) { + frontTriangles.push(candidate); + } else if (this.isInverted && frontsideCount === this.triangles.length) { + frontTriangles.push(candidate); + } + } + return frontTriangles; + } + + // not a leaf node / convex set + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const side = this.divider.classifySide(triangle); + + if (side === CLASSIFY_FRONT) { + frontTriangles.push(triangle); + } else if (side === CLASSIFY_BACK) { + backTriangles.push(triangle); + } else if (side == CLASSIFY_COPLANAR) { + const dot = this.divider.normal.dot(triangle.normal); + if (dot > 0) { + frontTriangles.push(triangle); + } else { + backTriangles.push(triangle); + } + } else if (side === CLASSIFY_SPANNING) { + BSPNode.splitTriangle(triangle, this.divider, frontTriangles, backTriangles); + } + } + + if (this.front !== undefined) frontTriangles = this.front.clipTriangles(frontTriangles); + if (this.back !== undefined) { + backTriangles = this.back.clipTriangles(backTriangles); + } else { + backTriangles = []; + } + + return frontTriangles.concat(backTriangles); + } + + getTriangles() { + let triangles = this.triangles.slice(); + + if (this.front !== undefined) triangles = triangles.concat(this.front.getTriangles()); + if (this.back !== undefined) triangles = triangles.concat(this.back.getTriangles()); + + return triangles; + } + + clone(): BSPNode { + const clone = new BSPNode(); + + clone.isInverted = this.isInverted; + + if (this.divider !== undefined) clone.divider = this.divider.clone(); + if (this.front !== undefined) clone.front = this.front.clone(); + if (this.back !== undefined) clone.back = this.back.clone(); + + const clonedTriangles = []; + for (let i = 0; i < this.triangles.length; i++) { + clonedTriangles.push(this.triangles[i].clone()); + } + clone.triangles = clonedTriangles; + + return clone; + } + + toGeometry() { + const geometry = new Geometry(); + + const triangles = this.getTriangles(); + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const vertexIndex = geometry.vertices.length; + geometry.vertices.push(triangle.a, triangle.b, triangle.c); + + const face = new Face3(vertexIndex, vertexIndex+1, vertexIndex+2, triangle.normal); + geometry.faces.push(face); + } + + return geometry; + } +} \ No newline at end of file diff --git a/src/Triangle.test.ts b/src/Triangle.test.ts new file mode 100644 index 0000000..d45e535 --- /dev/null +++ b/src/Triangle.test.ts @@ -0,0 +1,142 @@ +import Triangle, {CLASSIFY_BACK, CLASSIFY_COPLANAR, CLASSIFY_FRONT, CLASSIFY_SPANNING} from './Triangle'; +import {Vector3} from 'three'; + +describe('Triangle', () => { + describe('constructor', () => { + it('sets vertices and w', () => { + const a = new Vector3(0, 0, 5); + const b = new Vector3(-1, 1, 5); + const c = new Vector3(-2, 0, 5); + + const triangle = new Triangle(a, b, c); + expect(triangle.a).not.toBe(a); + expect(triangle.a).toEqual(a); + + expect(triangle.b).not.toBe(b); + expect(triangle.b).toEqual(b); + + expect(triangle.c).not.toBe(c); + expect(triangle.c).toEqual(c); + + expect(triangle.normal).toEqual({x: 0, y: 0, z: 1}); + expect(triangle.w).toEqual(5); + }); + }); + + describe('classifyPoint', () => { + it('classifies coplanar points', () => { + const triangle = new Triangle( + new Vector3(-3, 0, 1), + new Vector3(-3, 1, 0), + new Vector3(-3, 0, -1) + ); + + expect(triangle.classifyPoint(new Vector3( -3, 0.5, 0.5 ))).toBe(CLASSIFY_COPLANAR); + expect(triangle.classifyPoint(new Vector3( -3, -700, 5 ))).toBe(CLASSIFY_COPLANAR); + expect(triangle.classifyPoint(triangle.a)).toBe(CLASSIFY_COPLANAR); + expect(triangle.classifyPoint(triangle.b)).toBe(CLASSIFY_COPLANAR); + expect(triangle.classifyPoint(triangle.c)).toBe(CLASSIFY_COPLANAR); + }); + + it('classifies front points', () => { + const triangle = new Triangle( + new Vector3(2, -3, 0), + new Vector3(0, -3, 1), + new Vector3(-1, -3, 0) + ); + + expect(triangle.classifyPoint(new Vector3( 0, -6, 0.5 ))).toBe(CLASSIFY_FRONT); + expect(triangle.classifyPoint(new Vector3( 200, -3.0001, -400 ))).toBe(CLASSIFY_FRONT); + }); + + it('classifies back points', () => { + const triangle = new Triangle( + new Vector3(-1, -3, 0), + new Vector3(0, -3, 1), + new Vector3(-2, -3, 0) + ); + + expect(triangle.classifyPoint(new Vector3( 0, 6, 0.5 ))).toBe(CLASSIFY_BACK); + expect(triangle.classifyPoint(new Vector3( 200, -2.9999, -400 ))).toBe(CLASSIFY_BACK); + }); + }); + + describe('classifySide', () => { + it('classifies as coplanar', () => { + const triangleA = new Triangle( + new Vector3(1, 0, 0), + new Vector3(0, 1, 0), + new Vector3(-1, 0, 0) + ); + const triangleB = new Triangle( + new Vector3(5, -4, 0), + new Vector3(3, -8, 0), + new Vector3(2, -2, 0) + ); + + expect(triangleA.classifySide(triangleB)).toBe(CLASSIFY_COPLANAR); + }); + + it('classifies as front', () => { + const triangleA = new Triangle( + new Vector3(1, 0, 0), + new Vector3(0, 1, 0), + new Vector3(-1, 0, 0) + ); + const triangleB = new Triangle( + new Vector3(1, 0, 1.5), + new Vector3(0, 1, 1), + new Vector3(-1, 0, 2) + ); + + expect(triangleA.classifySide(triangleB)).toBe(CLASSIFY_FRONT); + }); + + it('classifies as back', () => { + const triangleA = new Triangle( + new Vector3(1, 0, 0), + new Vector3(0, 1, 0), + new Vector3(-1, 0, 0) + ); + const triangleB = new Triangle( + new Vector3(1, 0, -1.5), + new Vector3(0, 1, -1), + new Vector3(-1, 0, -2) + ); + + expect(triangleA.classifySide(triangleB)).toBe(CLASSIFY_BACK); + }); + + it('classifies as spanning', () => { + const triangleA = new Triangle( + new Vector3(1, 0, 0), + new Vector3(0, 1, 0), + new Vector3(-1, 0, 0) + ); + const triangleB = new Triangle( + new Vector3(1, 0, 1.5), + new Vector3(0, 1, -1), + new Vector3(-1, 0, 2) + ); + + expect(triangleA.classifySide(triangleB)).toBe(CLASSIFY_SPANNING); + }); + }); + + describe('clone', () => { + it('clones the triangle', () => { + const a = new Vector3(1, 2, 3); + const b = new Vector3(4, 5, 6); + const c = new Vector3(7, 8, 9); + const triangle = new Triangle(a, b, c); + + const cloned = triangle.clone(); + expect(cloned).not.toBe(triangle); + expect(cloned.a).not.toBe(a); + expect(cloned.b).not.toBe(b); + expect(cloned.c).not.toBe(c); + + expect(cloned).toEqual(triangle); + }); + }); +}); \ No newline at end of file diff --git a/src/Triangle.ts b/src/Triangle.ts new file mode 100644 index 0000000..fa9dc68 --- /dev/null +++ b/src/Triangle.ts @@ -0,0 +1,65 @@ +import {Vector3} from 'three'; + +const EPSILON = 1e-6; + +export const CLASSIFY_COPLANAR = 0; +export const CLASSIFY_FRONT = 1; +export const CLASSIFY_BACK = 2; +export const CLASSIFY_SPANNING = 3; + +export type SIDE_CLASSIFICATION = typeof CLASSIFY_COPLANAR | typeof CLASSIFY_FRONT | typeof CLASSIFY_BACK | typeof CLASSIFY_SPANNING; + +const tempVector3 = new Vector3(); + +export default class Triangle { + a: Vector3; + b: Vector3; + c: Vector3; + normal: Vector3; + w: number; + + constructor(a: Vector3, b: Vector3, c: Vector3) { + this.a = a.clone(); + this.b = b.clone(); + this.c = c.clone(); + + this.normal = new Vector3(); + tempVector3.copy(c).sub(a); + this.normal.copy(b).sub(a).cross(tempVector3).normalize(); + this.w = this.normal.dot(a); + } + + classifyPoint(point: Vector3): SIDE_CLASSIFICATION { + const side = this.normal.dot(point) - this.w; + + if (Math.abs(side) < EPSILON) return CLASSIFY_COPLANAR; + if (side > 0) return CLASSIFY_FRONT; + return CLASSIFY_BACK; + } + + classifySide(triangle: Triangle): SIDE_CLASSIFICATION { + let side = CLASSIFY_COPLANAR; + + side |= this.classifyPoint(triangle.a); + side |= this.classifyPoint(triangle.b); + side |= this.classifyPoint(triangle.c); + + return side as SIDE_CLASSIFICATION; + } + + invert() { + const {a, c} = this; + this.a = c; + this.c = a; + this.normal.multiplyScalar(-1); + this.w *= -1; + } + + clone() { + return new Triangle( + this.a.clone(), + this.b.clone(), + this.c.clone() + ); + } +} \ No newline at end of file diff --git a/src/__snapshots__/convertMeshToTriangles.test.ts.snap b/src/__snapshots__/convertMeshToTriangles.test.ts.snap new file mode 100644 index 0000000..1847250 --- /dev/null +++ b/src/__snapshots__/convertMeshToTriangles.test.ts.snap @@ -0,0 +1,282 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`convertMeshToTriangles converts a Three.Mesh with non-instanced geometry to Triangles 1`] = ` +Array [ + Triangle { + "a": Vector3 { + "x": 5, + "y": 6, + "z": 0.5000000000000013, + }, + "b": Vector3 { + "x": 5, + "y": -2, + "z": 0.5000000000000013, + }, + "c": Vector3 { + "x": -2.9999999999999987, + "y": 6, + "z": 0.49999999999999956, + }, + "normal": Vector3 { + "x": 2.2204460492503136e-16, + "y": 0, + "z": -1, + }, + "w": -0.5000000000000002, + }, + Triangle { + "a": Vector3 { + "x": 5, + "y": -2, + "z": 0.5000000000000013, + }, + "b": Vector3 { + "x": -2.9999999999999987, + "y": -2, + "z": 0.49999999999999956, + }, + "c": Vector3 { + "x": -2.9999999999999987, + "y": 6, + "z": 0.49999999999999956, + }, + "normal": Vector3 { + "x": 2.2204460492503136e-16, + "y": 0, + "z": -1, + }, + "w": -0.5000000000000002, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999996, + "y": 6, + "z": 5.499999999999998, + }, + "b": Vector3 { + "x": -2.9999999999999996, + "y": -2, + "z": 5.499999999999998, + }, + "c": Vector3 { + "x": 4.999999999999998, + "y": 6, + "z": 5.5, + }, + "normal": Vector3 { + "x": -2.2204460492503136e-16, + "y": 0, + "z": 1, + }, + "w": 5.499999999999999, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999996, + "y": -2, + "z": 5.499999999999998, + }, + "b": Vector3 { + "x": 4.999999999999998, + "y": -2, + "z": 5.5, + }, + "c": Vector3 { + "x": 4.999999999999998, + "y": 6, + "z": 5.5, + }, + "normal": Vector3 { + "x": -2.2204460492503136e-16, + "y": 0, + "z": 1, + }, + "w": 5.499999999999999, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999996, + "y": 6, + "z": 5.499999999999998, + }, + "b": Vector3 { + "x": 4.999999999999998, + "y": 6, + "z": 5.5, + }, + "c": Vector3 { + "x": -2.9999999999999987, + "y": 6, + "z": 0.49999999999999956, + }, + "normal": Vector3 { + "x": -0, + "y": 0.9999999999999999, + "z": 0, + }, + "w": 5.999999999999999, + }, + Triangle { + "a": Vector3 { + "x": 4.999999999999998, + "y": 6, + "z": 5.5, + }, + "b": Vector3 { + "x": 5, + "y": 6, + "z": 0.5000000000000013, + }, + "c": Vector3 { + "x": -2.9999999999999987, + "y": 6, + "z": 0.49999999999999956, + }, + "normal": Vector3 { + "x": 0, + "y": 0.9999999999999999, + "z": 0, + }, + "w": 5.999999999999999, + }, + Triangle { + "a": Vector3 { + "x": 4.999999999999998, + "y": -2, + "z": 5.5, + }, + "b": Vector3 { + "x": -2.9999999999999996, + "y": -2, + "z": 5.499999999999998, + }, + "c": Vector3 { + "x": 5, + "y": -2, + "z": 0.5000000000000013, + }, + "normal": Vector3 { + "x": 0, + "y": -0.9999999999999999, + "z": -0, + }, + "w": 1.9999999999999998, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999996, + "y": -2, + "z": 5.499999999999998, + }, + "b": Vector3 { + "x": -2.9999999999999987, + "y": -2, + "z": 0.49999999999999956, + }, + "c": Vector3 { + "x": 5, + "y": -2, + "z": 0.5000000000000013, + }, + "normal": Vector3 { + "x": 0, + "y": -0.9999999999999999, + "z": 0, + }, + "w": 1.9999999999999998, + }, + Triangle { + "a": Vector3 { + "x": 4.999999999999998, + "y": 6, + "z": 5.5, + }, + "b": Vector3 { + "x": 4.999999999999998, + "y": -2, + "z": 5.5, + }, + "c": Vector3 { + "x": 5, + "y": 6, + "z": 0.5000000000000013, + }, + "normal": Vector3 { + "x": 1, + "y": 0, + "z": 3.552713678800502e-16, + }, + "w": 5, + }, + Triangle { + "a": Vector3 { + "x": 4.999999999999998, + "y": -2, + "z": 5.5, + }, + "b": Vector3 { + "x": 5, + "y": -2, + "z": 0.5000000000000013, + }, + "c": Vector3 { + "x": 5, + "y": 6, + "z": 0.5000000000000013, + }, + "normal": Vector3 { + "x": 1, + "y": 0, + "z": 3.552713678800502e-16, + }, + "w": 5, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999987, + "y": 6, + "z": 0.49999999999999956, + }, + "b": Vector3 { + "x": -2.9999999999999987, + "y": -2, + "z": 0.49999999999999956, + }, + "c": Vector3 { + "x": -2.9999999999999996, + "y": 6, + "z": 5.499999999999998, + }, + "normal": Vector3 { + "x": -1, + "y": -0, + "z": -1.776356839400251e-16, + }, + "w": 2.9999999999999987, + }, + Triangle { + "a": Vector3 { + "x": -2.9999999999999987, + "y": -2, + "z": 0.49999999999999956, + }, + "b": Vector3 { + "x": -2.9999999999999996, + "y": -2, + "z": 5.499999999999998, + }, + "c": Vector3 { + "x": -2.9999999999999996, + "y": 6, + "z": 5.499999999999998, + }, + "normal": Vector3 { + "x": -1, + "y": 0, + "z": -1.776356839400251e-16, + }, + "w": 2.9999999999999987, + }, +] +`; diff --git a/src/boolean.ts b/src/boolean.ts new file mode 100644 index 0000000..5680d63 --- /dev/null +++ b/src/boolean.ts @@ -0,0 +1,37 @@ +import BSPNode from './BSPNode'; + +export function intersect(a: BSPNode, b: BSPNode) { + a = a.clone(); + b = b.clone(); + a.invert(); + b.clipTo(a); + b.invert(); + a.clipTo(b); + b.clipTo(a); + a.invert(); + b.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); +} + +export function union(a: BSPNode, b: BSPNode) { + a = a.clone(); + b = b.clone(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); +} + +export function subtract(a: BSPNode, b: BSPNode) { + a = a.clone(); + b = b.clone(); + a.invert(); + b.clipTo(a); + a.clipTo(b); + b.invert(); + b.clipTo(a); + a.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); +} \ No newline at end of file diff --git a/src/convertMeshToTriangles.test.ts b/src/convertMeshToTriangles.test.ts new file mode 100644 index 0000000..8c82a60 --- /dev/null +++ b/src/convertMeshToTriangles.test.ts @@ -0,0 +1,14 @@ +import {Mesh, BoxGeometry, Vector3} from 'three'; +import convertMeshToTriangles from './convertMeshToTriangles'; + +describe ('convertMeshToTriangles', () => { + it('converts a Three.Mesh with non-instanced geometry to Triangles', () => { + const geometry = new BoxGeometry(5, 8, 8); + const mesh = new Mesh(geometry); + mesh.position.set(1, 2, 3); + mesh.quaternion.set(0, 1, 0, 1).normalize(); + + const triangles = convertMeshToTriangles(mesh); + expect(triangles).toMatchSnapshot(); + }); +}); \ No newline at end of file diff --git a/src/convertMeshToTriangles.ts b/src/convertMeshToTriangles.ts new file mode 100644 index 0000000..52f942d --- /dev/null +++ b/src/convertMeshToTriangles.ts @@ -0,0 +1,32 @@ +import {Mesh} from 'three'; +import Triangle from './Triangle'; +import {isBufferGeometry} from './utils'; + +export default function convertMeshToTriangles(mesh: Mesh): Triangle[] { + if (isBufferGeometry(mesh.geometry)) { + throw new Error(' Only meshes with Three.Geometry are supported.'); + } + + const triangles: Triangle[] = []; + + mesh.updateMatrixWorld(true); + const { matrixWorld: transform } = mesh; + + const { geometry: { faces, vertices } } = mesh; + for (let i = 0; i < faces.length; i++) { + const face = faces[i]; + + const a = vertices[face.a].clone(); + const b = vertices[face.b].clone(); + const c = vertices[face.c].clone(); + a.applyMatrix4(transform); + b.applyMatrix4(transform); + c.applyMatrix4(transform); + + const triangle = new Triangle(a, b, c); + + triangles.push(triangle); + } + + return triangles; +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..249b2a6 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,39 @@ +import {Geometry, Mesh, Vector3} from 'three'; +import BSPNode from './BSPNode'; +import convertMeshToTriangles from './convertMeshToTriangles'; +import * as boolean from './boolean'; + +export {BSPNode, convertMeshToTriangles, boolean}; + +function geometryToMesh(geometry: Geometry, material?: Mesh['material']) { + // center geometry & apply position to a new mesh + geometry.computeBoundingBox(); + const offset = new Vector3(); + geometry.boundingBox.getCenter(offset); + geometry.translate(-offset.x, -offset.y, -offset.z); + + const mesh = new Mesh(geometry, material); + mesh.position.copy(offset); + return mesh; +} + +export function subtract(mesh1: Mesh, mesh2: Mesh, material?: Mesh['material']) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = boolean.subtract(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); +} + +export function union(mesh1: Mesh, mesh2: Mesh, material?: Mesh['material']) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = boolean.union(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); +} + +export function intersect(mesh1: Mesh, mesh2: Mesh, material?: Mesh['material']) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = boolean.intersect(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); +} \ No newline at end of file diff --git a/src/utils.test.ts b/src/utils.test.ts new file mode 100644 index 0000000..9e67b4f --- /dev/null +++ b/src/utils.test.ts @@ -0,0 +1,41 @@ +import {Mesh, BoxGeometry, SphereGeometry, Face3} from 'three'; +import convertMeshToTriangles from './convertMeshToTriangles'; +import {isConvexSet} from './utils'; + +describe('utils', () => { + describe('isConvexSet', () => { + it('recognizes a box as convex', () => { + const boxGeometry = new BoxGeometry(1, 1, 1); + const mesh = new Mesh(boxGeometry); + const triangles = convertMeshToTriangles(mesh); + + expect(isConvexSet(triangles)).toBe(true); + }); + + it('recognizes a box with one flipped face as concave', () => { + const boxGeometry = new BoxGeometry(1, 1, 1); + boxGeometry.faces[0] = new Face3(boxGeometry.faces[0].c, boxGeometry.faces[0].b, boxGeometry.faces[0].a); + const mesh = new Mesh(boxGeometry); + const triangles = convertMeshToTriangles(mesh); + + expect(isConvexSet(triangles)).toBe(false); + }); + + it('recognizes a sphere as convex', () => { + const sphereGeometry = new SphereGeometry(5); + const mesh = new Mesh(sphereGeometry); + const triangles = convertMeshToTriangles(mesh); + + expect(isConvexSet(triangles)).toBe(true); + }); + + it('recognizes a sphere with one flipped face as concave', () => { + const sphereGeometry = new SphereGeometry(5); + sphereGeometry.faces[10] = new Face3(sphereGeometry.faces[10].c, sphereGeometry.faces[10].b, sphereGeometry.faces[10].a); + const mesh = new Mesh(sphereGeometry); + const triangles = convertMeshToTriangles(mesh); + + expect(isConvexSet(triangles)).toBe(false); + }); + }); +}); \ No newline at end of file diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..3b885d4 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,16 @@ +import {BufferGeometry, Mesh} from 'three'; +import Triangle, {CLASSIFY_FRONT, CLASSIFY_BACK} from './Triangle'; + +export function isBufferGeometry(geometry: Mesh['geometry']): geometry is BufferGeometry { + return geometry instanceof BufferGeometry; +} + +export function isConvexSet(triangles: Triangle[]): boolean { + for (let i = 0; i < triangles.length; i++) { + for (let j = i + 1; j < triangles.length; j++) { + const side = triangles[i].classifySide(triangles[j]); + if (side & CLASSIFY_FRONT) return false; + } + } + return true; +} \ No newline at end of file diff --git a/texture.png b/texture.png deleted file mode 100644 index 880699fe818e50971ce710760ba60616295af111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 495055 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℘ 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໏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 z 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ʰU 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%0DmGVC|V6HbI-B_<&ygarB#S1#6>^Cc#REQ=7-eF zTOLA*ot^YVt;zh{v7XOCI+h_jFpuzQkP%?lIaGluG9qiaLp?}emCgJmMM=-pznNg#11dMtCRZDBET+H?$Rfg z^eLpf(NV;KEx4qjU9MUde#%j*6gdR;SuV(&0yY_OIC%C31_LyGwGnvR(yN`8z z63E@;ZK__Z#Y-fzR}lhNe9Rn?avs~16AAZ?IIaqc2Yf@KxQB&WL!5*wzk9SLtC+)s zmV@;Do;C+NqU~~(#|Ti+dKC`Q{~YRihIplwl*e;8>7uC?|NT}lfua7=^S$0%XIU`x zTJhlS$GC^guBLAq@fl@YQ`drAbmB?#(nNKXPPGYFeWwf4yGZ!j&pYtB{s}>`>c9Ei z&ks?&XyG&4))o_SwT?(^t>DMwPs1q77x9H7Z_lmlfY)NXODZ*N`~KyvFP$!Ou@mToHXb~^N&j(ir-xq#Ipc$47P)1vtFhZc_aX*aX^!Q+$j{9LoCW+J3VgN6pK zwhd|tNr;aD)@E<}_MTf2zf%C!!VG!T6Co3as`{?(im|pfzxcgYf^@U>0@FpNqj04C z+W6qD9^M<2w6%|1k_;A{FLe9sZG9ls(K+U&K)#N7L;PN-h|GL&OZUj-tKKJ$NS_{@ zYctdaga;WOX><9EfhVUGO%>Ylw<4lbWL}BbB<&X5VKj5ep4?yAOpMu|+3T%b;79(T ze9oo!Yr8Xo0wr8#=1{zk)>D0LnpVPTsEo271rSE0i1lg=T ztYs|W!SCXc-m)uVO6U9(%Y|euDOuckJZ!jR_#E~W{6+HdL8;azsl- z!N%{ykh0@jCGPX4rGKY$z?tbH>2}e4bAsDjdS8!3hw_;_9d7QfTkW1Q2V`vuWBF`g znv-a+t|sfM4o+JqOE}v_nxa{GR;PyzQXpxt+-R~9)7>;0D9`8d;DM^Om?|E@#wCPo zr|29;1XQJZq8+bf-~6?_e&O0u=h9l+{?|@iuI~%=o_6x&Z6fC**$G}A*b|hsT;_+d zONRQNXUZ1NIy$b-F9G`b-dN7a2u+?x``ws$3nIkwuE24dW$&W(#9jPs=(!^kQ*96E z00RAONFxF2)!bbvm+>Tg@9@;^FzwV906e>&ZWyz(GB?DipN?L=(FR(qu0b==+fT<- z0ml`bx}zfZ|2EBii>y!8ajz512sSlQsx6acZoDb=2I&_UKbgZk}h*zyNqgPo1B)wx&dj#W7ITZktiW{zx0 z8op)rzKU`MNMR}lGk$hOhatiTxi#I|I2zcBnJmZ!eKeJMvsccv)sRy)<6m!V5Y?x@ zMdT^nXMyCtcJavAoE+XB$p>r0E1I4i5bajNaTiPkI9)Z@odjx!c8HQ}=nbZSC!%i5^ipicHViJK@pIRKEVh?goiMwd<%sjqBo?OhvmnwCxi?_VQXJ zdE`t*8-?|ycCiaustT{xqw~o)2jD19{;qk2OR4M00bZKg3}94>PUsl+7$RhAz>HKX zzKbL9>?!@M1s#TG+BxxoZ2L!;j;OZf0iZFR4g8hnAgN1Q?>WMcdK&KBiY0Lmh+uxT zfv;RSUh>suFo-zAD?9(eMHHtmG}s_;9=;Rrt5Ji(t(;G}oMLe#5l5mu;p1;TKOr9( z&lcG`SaQZt3ki0Gh!?W_I32Yc@)oo>{D2&~XtdZM=CPYw?neFoPxsx8g#*w#%SV$k zz9o)G1Tp_r+zbz?5YdAm=TTW`DQ7BK$Lg}8XSXm_kFoJzFS?B8VPnttsQs>ZHnZ6g zspxXXCL3vnB&BNV#x+a8A)HW@Hk68Mfc3&JT1nlK7!W`ch9t?Oa<6k(J~po}rx z3`tDOP)*<5E1e8knqlP#MESx2Z1>AX3UcHihX zMT~)e)~7A_oA@oeMXpR(u7baG5M830&P(oy*$&kfpNR?2MsJn0cK^qA3G@pd_w=J% zvW{F97HPdoKAGTgb}97pjCde5q^Q*|7494fEF^CA-GKdiS<34=d;&=V3zLGN-e^|n zjgu%-Sk7E3B7L?_5TNE}#kn_M8}5DGUSHl{*$so4_8N{C#;YXmg3AY2!{myqFPxG8f37Lg**b`vUQkP)UedsSrX|)GHMZyRQ-Y1JFPsdt`;q)39{SmF^S6 z3!8Ie+YgzWAGRrIdf4vbyR;@Bp05$z+H^}8h6MNZw(6A#&rih-IBD?rsb9RvMzv-Q zumYaaK=&Al%;VDc`+k!+9^D&6Z)h2*wogx-oq9*Y%MoSce?`&CGcIm(LU!9aT`Gmk zV8o7?Ht;@%PuyBA1kWwOymk1!qNCX;1}h|3o?A8kQnI!gK~)vDJzkao{ zGMF25DB+B4!tG-xMUtfyhQRKXy0x|z*h*)^kwV;PAa$Ykr76%kWw-N>t}-eKq!xR? z_<7Nxx;n0TKtr3EaI;|&kM~MNB~c>QugWy3aS`9>w609PR(20Ka$j|7#_-qr_SwX6 zR|p$~b0T-FYdAi@s_~C2@dKsZJCB(q@cxP-=MDI5ThIdw@VdH06oNuxWqb!MEa$q9 zk$E9R0>s=%^v&`Bu!9jNfcfaf3Sgb=fERsHJq?Kbe(ue;EdK|g=)BIY5*~boW~6z0 zU-8U-g0CoqnfgFcYdxp(0<3SI2VBdZd7%m!7!{pHMGoS>^={F7qqlZ87XGkWNQe-} zA-PwxImb@*&+Jakoa@#fVFmZNbR75@eMSI4YsFiJ)VrhBsUbbAZnDo56=2~bcUG#w zm>%l+ALGcLtAtNPY|S`UAhLrlU&lR>w5E zNfj`u%+iJqC;2MScw`hkq_3%Y-nG2Xwts!YZ_2ss)$TpA|1vwImWfnR%j9B%0Eqxy z)d62Bpo&UHW9WCRYKX1PF@;%zxv4@Qat~ewG&Qm9yLW>r_Q`A?RQ?xN?wbb1hEZD_Nm^dY-QIU?UT8nP52sh8X3HY2GLe>d z3CM7)-m=WqG=KE5Q_=?S$Q;q zcDQU|r4sI`Vqg zSeO?k$t&rIh}>P&((2sp-2}qN#J+bCc_Sl03ra*;x>7@2Tc?(8=q<(UC&p|6+W;%X znXNyt^%&)dd07a53Cj%*uusk+33rnzBO_L4LtT?z-07t+i^M~va0EPtQ{BQS?h~lrf0CspWVx(3khBE;-}30U}x-W)Etk$IoiVP&Ichm%KLn zS$~8OFzl3PH?vA^Qu&}`*-vB6MfTvcNFnXt(ND=0P}e%&`JdgbgWPG|IIkH|EHs>t zuB(iAg4ceB1NrHe=pQz`r-(bcJW-SR0lCWSLyRx(KqmaH@ zh6oSWf!$N#lJkcdLvzHk(~!wFm`WlPCC`}(F$++X=5|F?(dS(f3FSbK28UIK59(B0 zw#4u4RZ6sC^`^x+I~3z6xi__fDfE_iLm&ESS4rc8&fvp6vAhfdw62u@?jGHE2_jC@XUa-TASJ~C0zAu6h}Ny-VS^oO`|^3qn(DWRdq zy*he=zIvjNLigNpJsH9#0Vv7R0}Mb ziXiW2W}tZR$bjYNKh#H#z7RV=t`OmTkT82jO75r-;z+6B1Pa03>9NxDlxR+b8kvt$ zk7Do4JYMu6?!^~A!qx4+q)@LR77aSx>Wd9ymO7Rm*u`72Wg&Sc{6vkNCnj}}n zy+@csjLSs?elM-nNdPu*Su8Q+uh9;3m(U>3q!L2r=&Z=V0{vK#!Sp= z5>828>nvg|Ev>CFgL-UHhjtqhZgha$++)vaPd7XsA$RSXk=O9h!nGo1xd^$vz0(y_ z9UqJw3(@^`__@A2pfK^6T)Q0|5#1K^9z+xH)bU@5{q@HFNC8|rn8XF2mXaZA42aB@ zFLl%9)mT@8uMc8TrE-)PG&PISphHbM`n(mSMN&3;j!TsCe)6#@oN8kG251+ zh2HN@T34Rpo06||tpmeo2;bH--A8%uZf;1pAS`I~j&kkk(wEopu!`cbn0|nlrR2QT z3yLMJQ#(4)_zD|aSV^n|JVi`TAv@@e|EaEL4of`NK_@%67GnBk2*Ue z{!Z(X$b#o-%L9M@ur4%AY9FiK`@L5g;uK7A<`*>O{S$0}s}4&%{xnrMKwg@VC0Rd4 z)-k6~)R))T95`lMVq7kBBY{Jbzezr|v3#>O)e-5CWSI`0+z!fR`)`Y#tuwoGcZ7e0 zm93>eP#?4`tLn$2s!jE9>uc}eajYhAh)=w~y0o^mmKK340>2D7fPTjf-(T$AZB6Ve ziE`wPAFZ%?N7ucWlUur{!vzuLM-uHb6E;J_hlso|C?I^GEN3iXdQ84!KIu9~V#gye zE!rmDsrD&scxut=-TNH1q>umEppP@$o{FP&a8G;aqciFo?}jI2Uo%+k?Kh?ZV?@mA z@Y#w3KjMOVGW31(yu!j1-oOL%k^|n!oH_-;7t*{f;HF%(5cYz=9%py}H7)7$QTGE*axuc*T6BRabZ7eXl(@Zyo2`53*E54Sz+VJ8CB1t#!B zO_`khEKM_vEAPdzxPEI*t`NjDee73U+s@2^t7h2!I#GtZT&-Q)$q(RozOB$mso>2JU@b_sTp( zp2uEm>+RJOe~75wXY6nFx-pnzjMs*{o0oEOo(XvB0I9T7cq8+UZ&B73cz8jWI%eZ% zf&0SPrtH_RQ+klijlZ?2!Uz{-8gNp$UiP(AVs=4F!zh5+8AZD|)bz@TA9YjDqgjR7 zQh^sSmQ*`trf!zzO4E^t04UB6J<{U(%s%)<`FPOkS1q$E5oui$DBj`m-b~Ag+F_2IGwiLw_E%DGsfV;moo3d1uQKV+2&jO{8_XDbt~orU-39#s>NTEJq;b&Y zSs>=3X~YPD)Tlyy{ZL{)yuGtKZ2CU5ibF2XE*m8W&onOm9Tj$`>yH_z(7ko8{BNqT z4lx+w>a56GSrK~KWXR795uS`-o|KT#$(aq@pWQBQ2`O_4dwpLLDr>{bjPgB^Q$q}% z9!E*1>_(3ao7*F=C4{>svDs8)l{@xnZ%~3%c;VfllRwth(3re%SE{DE-vM{;l^Y@_ zmu9Z`7L3UE8$Cy)j6Q5(AqE#Z{+SwBU9vKw#^$fsEfo<%XgEU}AKfNVw7v~W^J|DV ztT_eFD?$H!oVZA}>b>1NI_#4sJ$z|KiR-Sr7r|APds>-rXSD<-^lVUq1R~1lPyiP0&@` zo5#$o-!|A^T#jZG$rJSrL7nLwoY-;m45Zcj5X_|&NEx}FXQIsU1OWjjJs2S@Js#?I zmJK3xUr6vMFAVvX6T`1ECylq#!IT{o^GSje(0F^q)s&mgS|%J{8s_sY;Ti+79J-;u zpPi_M@lJmC6@Ohp*dhA-+@96}$5ELtbGmaHUAnK5M6~DP1a8us@%&xaE!9r>5h1n~ zpPI{&{$8$`P7rl92Ifz?UuvL52D&PNf=#@B{I7bCx%_B?hf!>(sQRM@Xz4pIy1-Z$ zR#Hf1&IKo@(TloreHlo@)f@2#ol$(7Jv2mskcq}o0>bYQY4=Ssmzny7rHmsPuv z|1~c?Oc|%3%|fTK+)K9+!Ji(j%vzw0N9ypO9}fSqr8N^x);n1~D&t$DQH$Zf zo1Dwd2C{q39rv>YZM8{3=~@GyIurlHyj$%96v@hem)PG^ZS)g?YkuLn7pWh?O$u$v ziqs|I&tHjegh>nE4hy3ppC)#0Hw0?E_L|g8AyQGvCzm7+ZFfHx!zmF(e2E{Nt*#8} zUqUSiEAw)9ucMK0LN*E+his?b{4pkG5Vg~WEm-azM_GiZEp=(?R8ZPNUCKb%>`Yv0 zJJjf7i_3#$-KiUiCLB8{O#ve}S?2;s^)$?bqF)`>O3aY_82>_g-9p4}vCSBo87)#m z-PD~!*<59GKU>@MF3PU9As~0>TYDF#Y>=mcSVdIv!i4T_Tb;l?4M$50_`@heey_UC zh;~hNgq$eE4hf&LZ^FyXT^F&0=dd=PhPlT>_a5%=?r%&4#i#{GMMQ`dw)WVedGPnx zL|WSFJkH-8K(oo>Icm7BSI41l^<5D~C~37`z%B}V4!;#Cvu)9z>-&=gId}}bPM+=+ zt}idmv{Tr=h2*#h*e}HF&@ul zQ)Z)(1hI8ejjG;9`xgqf<{+iUW(zh=i6A_zsNSc%tv zK!h`V2LbySE9Nj58-&w0$)dML7p!CK8izJ>e4Td@U3Y>-4v9K6B)&zGfTR$GEK4Tyj|*VJZFGsLjEm#o85y1f{u*3Jl^Zg>Ff2?I4?2xc?uPT|V0jZ7D@MZaD_Ji8) zI3q4$L5Mms`CfAQD4tgymTGN3k3D~v{aYL#J1mxfmRBUB&^j0`v@*S2I5_GUE*s&; zbYVan9I1#t)f=;R2jr*A|6a@*lKDd|sR}_$+bg zj*N+Zu~3R*7={>h=s)k3z}B#$-aEJ;z1|A#qPh&rQ~|bxo}i{2zymyi(HCFaj>^pj z-_a?L!>AqLK-nKF-Y@j}d~o(`IvU9YxM%ubFnXNXn_3P`2M57Qe>af^p^nZO42huT zO4DNoBk3KB0|Jnq-7R|9;htiN+}ji!(Zbi6(FqYIK~C5|8MVRqD=m;Lx7 zF6mo{00HiceC2%S|v|vCwJY`Up8Qe=3YVobt3fuw*XC1!7_C;LW}?WOvpU} z2pJXqgN#dklEx+_m?d_hWc@55)prq*Yo z_Uof}kNdcs|5=Nhyfq-^B}ixsg!`5_q>gISd8L+%GzY^C`O8)v{R)sU;lAi3oe}1I z?HEcFueU7rU1tE~9l@M`qJ#AONplv;Q4VnXV6O^s+yZzT8A}<$=%VL^xamzw$4zlM z{o^$loVXe6N+VP?eQoxJG*Lx}6c5*V0N7mx?-AEJ#=7CIy;nz9;Y+dUbNaW?QJcTr z{G)mb;{|D(TYwRHUm`*4usa`YwyFK;@q`y5M^G*;M+Fu?#_06wKOSK=lOIHiB!q6) z!JE&O;H-}y~*)yTc2 z&gB*?s7CrRYiC*-`Wq$+<%tO|&0uc-v99i3P33`I_jnp#)kF@|=11nyenT*xiaP(J z=-lI({{A?QC?U6yP%fp+eYsykbNMp4G?$oLNMS~<3%OM8QPSK=Vnjw{?w3kUnMUlO8_`}NH8d$jYMK9XiWTHrv>0XP#5#G@i#H$JRx~;~7H+4K=3WUL z3^Fc_o`o>;dg^!Y!bSo@xS_UB@471l#?Pok^$De!_UdyBo7i0)pq7xe)A~+&9y)?2)+2 zp|-Pwrk(0#>xb5p_C6ZWqyyL4{n3td7wmm@|9u5J!%o~ z)@1dCK~pVoZdp)DW8Mdw=PyRQZxT8+pz)p5czW0L;2xF60e1^OiPq_k&f}%U@!>96 zw!DSm8=1Eh3QgsNaZ-vi$V`}Mz}?m}BE6O)fEOCu?+oKnvOK)Wt_GO}0MNX!+|Yj| z+JhV$sQKDW0Mg!gKID^!1$=9Ht6My8;YZ(8a7p}+1V#l{pW|V$zNu#b+D{M?&lT{b zFl;*Og%yvr5C~e|Sh0161uOQBi}Vi;c0=KXC1Qs4fBs%iF4g4qh7@CQ3XdCW!|uGS znjbW;^b^ip7+M_@57dY?m&<|>`4R4^>u1HqcqEo2Ud22_ouYX{a25)@jp>gDniy>6 zfD>zHg~CiLDrUF=fGH_cggHF-49(DWy1fRF@II7u>7~V7oJTmg< zDR9ghb)Tbgwp{ zi^2j|y7qmUv=F0q5b{t@^FLo9p!rI=nTgD#<-|re=(^9K$uDnu3(K|iQNd+xB(7qK zh5JecZ6_3Wel{0(x+qM4O-yGR*#K*{=9lo)&n|m^7lu-;qD_xe z3u&SeEg=|)5xuGPeq+&yY}K19i7wePGsCuHFhhniqMRh+ zvr*&$v!xUK_(0HD-~-zIj1Fv;>7D zf6P~Wq;WcE`pKI1tRsu?T|Ipo!EcqF?~=g&{WS6i3bL^3d^Bo2(la9BUPL$(bov(- zPAs;4Uj|OSkLu288ckHB+8a=~`OrYNs1zkOG5RTCdy_smI+csi73KJMo_M^RK=}Mi znEf)I7H=cd6K;OotZ#2~NF?QGM&o<(g znwu?R<9g>h{ZbB-q+EK&qtAD^B0KZ#-$6a;?8smxO=aBC{iyZ}WpD?`MWy<7skZO0 zcqbuK7#<5zLmXUPo9rn~2yF-wG#bqKC(ORjrRuhjG-789sU2-E8$ZOp?{eW)6SeLr0zSCC zP6gb8dp=e6`jva-gS!mI+V(1|z6h_97dbAR$&s?G3(fT;#|qkyM~`^Q%x#?D1|L;5 z;v?CZQs|KiPPu9sObuaas(xa^$q82^>dP|7lI~Jb&WOC4u5c<~yde#1r3rn5c-mU` zV0USWC>?EF`LL=AP?#wnJ*n7iWjfj?eRAF;P)K{Rq8M#db=yMQX5ZtYNqA7Z96M5O zd!efnxi=-h2NI18)0MenEuFkW$9sVUXW{F5349AgC(u%^SD}vG0}}dHsi54BqAX{A zI>%6GR4zaTx`;%KGdcb;CzSl9aufh z^NI9dePa$e zowSUUdBX4CfYx2|Cc%O$|D)!4p)C0ab-9h`#N&H!)c)MbC6F5n8w-)9=iUMDl_-3K z*s@vr%2%!U85%w^kFk+eDo~k`R<%}D=6Y7(?yGtb;huqr9(spuPmd)K`Ll0#^n)Qo zAUb#U+NstnFD=fqdfK1=Ae?0F%*0fTaaEdY$A%HFg^=DDgNMh2CVQ1VkjP%gZ|p{O*8(cJ zF!;oGn+W9b$FKdRD>iW7hgLUN4E$(wv#t?>pjs#(hd5&+sCbS)NJzo`k$1uK?cJ~7DR8>yr%7R;ZnTRw z5^|<=j{>9`O6?|V%XH#7R$L4LaM${)VSZo`nzacE`wqxmAIhNtrp+53Rn~IC?#|)` zyLi*%o(kMLsaAi2%isyZPp2E@_k(5xPHO*^gITG>ACYnw;5N39bh-Wym2z1s--9bY zK557BHc0uB3B|~RdpldCsQ!eSh`Yms95yXow20A^b{^!t$7LqjMpE^I9PWY+LN#{o zX@>D|ffFVAEl>@ABkCm3LTc`R2tNBe?w*s=y?ggSD|PFn%+x}mZ0=|-CH~v8Oh=w* z96O10vlMiX(y^GLZ^+tt%qY}gr##bHa z=^wIDSLOEED-UzJWHAuHG&2Lih3=+z7YuVPM+yn2PIz9ke)-7ut2iBUK0n&~V#ys_ z)i9`8^6L1BOSzGrMf7^Dsl~|vbk_BqC0TkB|4Y@#l$4Fle_a`=Sza?_?D24>@UZ3L zB#*DNK(%&DtWPnLp)LI4Jb~x-O5)rWk701c`Keyh zhH*)>A1YZ2xjRAQpWthLm+!9_Hx<5W!y#2&s*&*JjB0EjF}N~tDc&cwv7jZOd+Bs= zPpaQ8GVuIJHv)ZWd>kWVjVntjatyxO^r1umr>+M5NFrs6BQT$6<>*qHG z<^Nv99Op`t$Wp;tLAvMM2<@|R5)&y+IL;@&c@J}-1z7{=jdiDo5uB(S{V>FVWoKxH*lb$bMcU1wS)k_ zq6Ssn$P!nS^{5t+N-i5uM4k7r^q}PD_Z9J4d=yGts06wiKG^qyV)SA7@!@@L!iv&? zpEDqoTd-ir$Hhgf^N_li7@OtxborE>$cJ@g)8?swCQP_of?w3n;ol4Q%;$b>{9jn^ zu3&qxhUYD-d~kd0>(?>)-G76B0l46o}_dXlQzVyH%#pgW~q~C)batY_IisK^WZ98XN#EHlm7AGgO?bRzZr8|XEX>j-H;&Dt^8yTQign{&TQ)V%2Fq6{gslz4B7 zWJw@=N_QpBq#-tFT-k2)?C(UHQ}JeuaY~;rImk}YxtU)9=X^^ksK6Q3ZUbSAQ-P2`Z)FIjp))*~`jm9gZ%gujLUPUjVnuJthDK{fwk>{t@tbq&SM!b>O&{~4g#Dk5q z$l`P^#=~Tv{t5rvv}+88Ig59+%CB)$1n%G?bIHb+Hq1!VRJdI*_a z@&vhn!k_nuvX)S$EB%BAc~Rob?)Lf=J}z)2_B0=c@r3R7V~f3a4q@w90?d&$`VhioFX7iOBldgD-_l zk9>A>54z(zG6u$n)f-Z3B1xE8`QrL|@hA%B%!4P7(niuNo~P!c?$6syoKik`-(K^P zbR$z;r7+6Oyz*}uUf+l2h2r%@<>`UtAndc|t{{Nl8uGuzzQ-BbaUdht73|sjPvnDgpU(eQT?fyF)_YW8_S{)hn4v_o(m4 z^!$gl&IJt!e6B*Ff`*!y*rx$jW#=o{BD$=F&gyH15Ig;n7AyF;^nS-tJC5Bmm1uWtIkXA* zXP)cWkg?$3!XqMz^Y&tLs;D$Hx6pg7nd$O z`hN#XKXbde1?SvQxnbGTL{MJjJvrb`A*Cmu65Y9_wLZV^mivC^5JiLpK`NqBuPn5c zY#1o!5xhmbXE1aZ7@dz7$F3$}OzyUR5AveN`*iBP{+=1$Da#E1ofTYGU(luxM6$vQ z4^eoWI%6H|i?sL&t~`y|Zz!bF@Yan}N)5c1k;Qx^K>Y*YTIh$)YTEmFoU3o0Bt*fz z&b66sq#>UYlc$R=Dll{zBlqO^oXXyDu@kpMF$H1D-Pi!qrdURQ0> z@uHB|(!-$f{meB$e+ck8IZBlZZiX ztKxizlKeyhS7^lzEkc&>mh-9M`Y}kx73*Wf)xUrH!co8=O&(v_KBjG1Jt8Sqf$^aa z^(ovE4FK|`CQEaWS}g*m5}P|AroSBMn9l!bm9ZU+KPX86_SqV>5lIKi6+M#>#xWyV;0;2IN(92%|W|v8OZUw|JhtO>z~GsDXHaL zIVHcnyR_~O52*k}$gfzukTt|JwXN>RiBq@X4>jo}1=s?(K5973we|ZY6)llE8gTcsn=jNHuNL|A?TY|>b1N#3lBaC4Qzs{SmSja zo=d@P@1r8gzlp13oFQE&V6)2+Yr+io%JSaWU9OMy8QlG709VDiQeuHtT6}0ZhA&`{ z2AY54jL@c+5)CJBYUc)yuL1lJMIv*~Fn37m)mqdA7+k{W^doP}%S)MT_LWDBuq zg|9#Q4akozU>@Ycl8RVpy{M&zo2;JDZ7W4ldl1&3?yQ@i!D`+(dl;?E+>qq{{O4*} zUERogWT&u?T~N$LxcCe2kIBFTweQl^F#0jdsEYcdR((oTx33Ex!5FTuC&f4@qXN?; z$THclWV}!SSCJ-qgHAIw{ntC!qY3T^^yRWpJ3g^T8pX)2RiI^;;D#)&B~&h%%bh%Bz~vMB%I9Ghfs%=tNYkxeb@Q>s%R5ELc@=fKu>qVpIQ{(N_2fJ zQv|y`*`vYLPM*@efQP)sPD;J%2=_=o)59>q6~=aaP3l0KR80sy8q=gm3@M4GPfE(J zR5eKP@HFyBE62^-rxs1H1Q~;N+PTnF1+MJuQ2$Gc&XB;SR-21of;_o`fd&%eih{I` z^_E=^k51OEeEXdiKd~yl#OlVw(-w$8(*VZ>0brP?nqG#{b$k;s9+jpLV(tKkS zNVUbgzngi|-*TQC$M+m7kmhVNgpv0RHz4^6Y z_ho2&cWuyA+^2WlE{wfHmKtLL&#@Qe8FeL>kOKtm%>Ye!=fcmW>!$PbX|Y?sC-#0- zTKZ!+|o}rSce}gsf7Z&@BUDV7%zSs!@wrzNy1t$0yfeaK{KWUb}cR!8h3kZb8#wV zM{92@#tZ^-UM7r~_cHzEIwdG*L1@X#dD>jHL?&l<=~^!2V21YC<2DLXR1|jj6xZX) z9R6A?!8P@AUMtbPk;j2<0$FTR&s$_ov8#}<>>f>4Z_B(7eHrwcNNu$hSRD{7iV|RT zY~rJdg%!0DnM29aJpgAXkw<3F^>6If5AH0Ar0hmZhD!gp|N73~>th^uw`^`+*SREQJcphs;K?d4u;MHq4 z1~9@Wzk8=PFcKRG`8lOdbcXH(EUPy&G5Z$coJO_^-AX7Nqiy3?A3tB@5CW-US9ESyy-Ed1Ulm<`7+1$c7FOMxpHKUmR3ysr{ zQwv2A9@Xz}P7}Q+NDC~Mt`qKDwTp$~=SI;&34}8)q^tvtl6i?>EJihtDjx}eL&PA; zX+>?d?M;j`4hx2GoMy3o)&C)W#yvbvM}OUTA(AjcnQz;V4; zU6;aHa6;9fL|f(b*Y#5*kQg)sy4@b|tcK|kesJ)n%qUJHLdQMf%F0G9g#_p+uKUsP z$;OI5B4=d-E3hC#IO%-rnImiu&5=>R{;k4|=6-V{I(RiRMAJoWc>>0&FPFYt z8#tKvO*}dmhmXt7(?c#-po9*JSuEAP376M$<+%c}x_uT~b@*o<6y0ENwIaXsnLC&c zaP(3mDrwj#pCwS!QP5{|Yr5~V7EPV(r(&)%`(p|28g5?uuvq(Xy^BS*kCl`}`CpU? z3cf5%!}2&keydzxanoqgBid1My;4x|H8zX?g|_zLeOwCStKvofWf+DbZQ(&aQjD|T zu@q~_+*Y&v@T<$Y7mychJ)XwFT(2m*TOi=3+D>G1-n;5yTD)4x+YA|e`| zIt+NAV#f&xp{%rg_a}ZSYhxfV7Sq2mwFWqqi)Wk`w2}1`y>KruPsDwugW%b7s@>_@ zLbvlLK}<&k7GuZru_Cm{+ry$$He(=qiV>_$j%E_n>)22&@PRXwa^3Ecp~`f9*CVwoPkCHn2_?#uWSxG?7vLG9QP{>8*5 zh`j|Jtsaj&0ttHB*nk){Do&I1N{xrSd35fzO$lJg+Ve*kspZ^E*<;g&r9pg`N$wEn z+UpEfIBFzEgM~=+5pF0|70I-ub42_G0C!F3 z?bh!#3vX1`G0qHQo1ikk))LP8X;I<}kh01$GA>@_l)P*c#^|GR|0GXJW;u2JKpz1c z6`<0+-fI@Nx=eZ?A;7)60@AjJw802{caKHetC{niPhv^J#X1e)_oE-S++kHR|D(jh zApwpcU%56v8_o}11Pa}Q+y2kU0?Lph)=eOTvB-)lI`ysnTZV&N}uP|AVY297vNiMzI7o5HX`iG=yCVw>A`u9 zPz}}@2N#GZy2;86ZL%l<7?fb{FWv&X-G82ryeUa`~g+o`3OK)!Cd4mzm`@#0>QWW z^CB(W|HNgw3BJiyT-vez0W?FjXTW5B)&qrt5WBnZ(E<#dHV9lHlf8jYL_Qqow19BX zNy~}a(-wQ1Wkd(_$sQ!Cp25piKh@AudgsfChNBxQJ*$_qo6zsUz*aueFKjBiE$u(xB#@V<~E>+N4q=K@rq zGoPE);2+ldp*CuGliqMDz(;^!ejKrE2fl(!@>we}gA#_nZKM+@O48w1Eu^R(?}roh8uj5n?q%NAN3@PW zK<-8U?rGx|RGk)~K=hgHevm*waE)?58fYIB=zZ8TKBVILA-$O%;?P*0KGATY z2YAThnS75CXX=HxkZQOlY(WX~>r@XfZ$1wYs9(}J+Q9P>>td&<=PI1avN@=ZgJ(N> zq0l+2dbcl*z_Bh5mmXnxQ!Co6pk3k8!|^@>dWsF&<0DEga7ITnxL8Gw``crAfAow4 zf?yF+7VUg##Hd!KR(pIA*eQs?)cA<=ju4_stwpM|%XoIyWl7j2$Wbl@xBUYCAl2aU zA9vY^-w_cvKN+zEtO|a9{aRf;NPRWP3ANG2PXjc#T6dAa3q;2OKL`#sBWgVkV2U4F zq=hcuRFQ_qEs z$=zYpCHU|*Rhd=RlNLyKToEC2WwIx^t^_7AE|vX9kYtW6bqOMqo46D?bDfPqZbI}Ej?tyOM7 zcu|!ry(EAf@(tuis4*+BaFy!XGvjjM!p?7cnpizpM6P}hWruai`6CjX(9|`Ksnd$D zPZ6JJhClBY#$sqY$PR&8qa67CAJT`$ps#oS{R?RNI7$inKt6L#^HZW0KSB3%FnsG; zVi?c&@&%CcX(5-!9nRJQ1E#b|jCI=((>~$R#oYj7u#2H&iJ#cpOlAoBVJbQ7_`za^8Uuf+j&bnm!k9 zz(ql1p-Qy?urq6`XS6{gXl#hn&oZl>K9saDT!a9fJNfy(t=(QGj2}o8`5S7jQi~bg zc@q5Hg*TIEDQh1u4jKN!u>Iw@Uj*l6ft{I*gl8+OHk=fwiKX?Q>91_bNE0l{3!5%q{d-fDp*L66uYU-mVCZu8Ntv zgdg@66mu(r(F;2B$}iEt3j5rFzQcXxJ=t*zFbwM}Sm>)29V61X%U&xyf>(-Q0up+~ zJSX`O8m@x-zE`9+Fijv<{9nKBj!T~?SM9{pODdpv|fxx-tA#17P%J%=!8;&gYR)haAzWV9&WdS#I zuI-B^dkt56$39>t7)96yItWDydYMFX8`32L&!}LAM8(o9tP0>*=}H7o^=shkC;r|z zFtV6n96_8$R1gYPFCt(_bO-wOhz2!jkftVK1F4CMfQ5(xn%qVCPhDj#J-(gUyovrK~L6 z(K)(d$WRq^Fkd>;e-qqhVBN>p6VsKnyhgg`&Z18>VM8THw{GZ@wO2vJ5lJp!6UYvd zH~*NuzSi|=Z;iIQ2Bf}5_LDU_b3cH;RjpyI4NQb3YiC~R-@W}|dv#T;q_o_lQ=hJ| z@3t%K<|Xy+C`H9W-kA;!yjRYLfswA7$pmUg$pc1jkPoJJ;Ta7Y9h9S}=j9217ndwI zjHb3DT0&qpc)*1%f+6rC8yjfOiFB3jS=#I<3t)SUW^Zi%d00~DE+P`awK_$2LO@Qq zk#5ecY^19Y-@2ksF*(1V6~jcoE++83UKqQdg-0M6EYkAgvL|N=gjV`5xX;-)g@yezwslq*j~=KQSU3c4vW_d117&k`dLHT zAYvjEpBEi5n6NR2q2c|fkRnN1wXOiTYoT~S2HhWPWo_4xzWI^j2kecMD)SpcEM325 zADa9+dvNPxi~R5TzVj^eUG^SlZ0{+fV(?hz9?P8Lk4ZV*y}QZr+l^=cy-1r+WNMNM zqUYB*+P~8#AJsZ)z&~9D!5~!uxdcy&Ro9p zbtNPDMnJer;x>vomu!YD95j>PGSn<6j#Q^8-WL z*#VO9x`tH`oTW#@IOS$ zlI7pa&5fg3Z)a{mb@bfMmWPdYi3*;cNq=zvL3j7h57Aa0C3}19QZl;VH{4=Ip%-Bv zZ7F#gw}h=}B!X}PRi*hY4b3U<=3-RC;(Mn3yQ!FHassLy@B-_HULGCri5T2ns7HKf zm^Vy+-kIp-92fJFaoQ(!^h$%EVvJ=9#`v$iAFC}li7pgDC1buS4`jrP2FiLiG!mK_ z##T*w^ony`$FAZDj}!w|vo}ms!-=QUMCgKb8J^;lX2>Z#%(;`XQaGsbco3N#eu#r^I@_NzG3rGB zf3}IJe~RIG>d)I7)z9ZKNtCVp;=Fi$0rGXRhDTxG@!I0z((hTCe^nHoHIrsxbQL17 z{rPgD=|rF-xd(gZ`B8SIl0lOI?t6bH`BD>68t;~aS8{lroki9@@kD?J0@qMpS8)?DQ}SRVnYLneGRFT0__m16 zS7BFeT^xx*inB#)QQg<+cZU}MmBZOu32`6oQ>qdU#a))p`&uO944>~nQ_1GvT1cj} z#sEPh?IHqvR{s?L_!8Dtuim3k1>+W~Bi{M05i1j|-mUOW`>x$jEqM?cIE;y)Wwf3S zbc{IuB-Z^C^6KpkO``?x5lO2;)3Lr&?Im~X1Ko~haAWDf6i7JB1lx;4 zBqi*2Cl%dE#T)6thiBH%O-cQ8$jiTanll$#u`tAili^TJ)R9-fj+WT#JM0e_eY?-b z8418wVQQ)y_hWJK+pW`9l4FoX#LTt3vB*w9L8UQ=Ilotzmv{a(sUFhuAL)s$eoht$ zy%VZKR0xRhrfjGdEM-eqJST29MwKsNNo7-Q;hvYJF?1HGeOCJ9^}Y3f*M4M{{q1OW zXq?SRW10FyP!^W4a5K68FI?F%yMdX4&#B`4|s}c$=h3umVxcT9Xi;7 z=)j(BW(cSRbefquZf9AGwzsC0vP<1t_Z$2qe~%WsP<2nfnNmFL#0ftB8!VWx(WNDLOo*W)H584>VN@INfB>Pah(7!kxXwd#()0u-;9|I?SwIZ*C z>$yrywTNC&MAoOBzl;_w`c+=*d;#b7-GBGwTPXHT#<)ItViF~9VRMZ_+u31()`EfX zX8`4|nn`6KAY%`hvYgJ<^BHu}$Kl8j?~a$6xW?>xBv5C;-L0@rb`T<^&~ zc<4$EncX(-8CdHY;d2C*yBgQOo>1km4wN(4r?{-zwRBecM|zExI?7(2Oc{5Je&$h$jcq!UK#|8N_zp&*`s_K zsGKd0FRPQjnFZ8(1z{EEUTB%FYn9A*?8H{HewDA1l`t>mg=@a|joEvnE_`>nTZ08>>mWz^ly7^-CMFau*C8bhzY%GpV{7i+T@8w*yaF zorFoExk3X1^e=>xD7xcEAMaml?3R#hcm-)&c(S-r?^L((rO9Ba=X@Dl@>8C_^!_ta zjk6DZ&2H?f^TH+UtxsAt;_@H69t=ZL+C7iTd|VKmeY{*F(mF_5v;3&m;O_SF>ZeTMY?p@d56PV(n*WljT+9Z&GyM6-{pzU6 zvuJ{?MhYnES?DrNts`w+n)bf>8bLyHYz*^QIdw~%V$1F4+Z=R91hes^Mbz7QvY=9r zJ=E;ovbP$smoatu;70FF>ke_d@4XR&TU*5`TGTt=@j*4<-D?y!%b(|0O!I!@L3)k- zWX#CC79S5b)STB??p8*o#KK}+pgzY?^+g++T&BtEXA-!we7%kM$=<0Z4A6;Lje!kOI~r7{DmT&vbA`Gxzi;pJMkh>eg`$<_>NDsZv#T6JW{jj&<~fz^hY;) z%7qq!5Xy+_UgR?SKZ-cOu65BM_YTO%^;Sj;kF0+MhW;w^2mXPhx>}mo*GcO= z)`bYl23oa2L27;OJpnEru{Nlq-^-#bTXLI!TV1?KE>tPjK6^}UGSq=8<-%W?6Al@8 zOvnH@?#H1+dIW}h`6xG6Nmhw;VWG@Q-%If_-GSKu#O~izM~oeP`Z`4F0%c1^M;iux z^aal_%=*z04t=9akWDzLi31?1p;g1X3+~Y>k#hS{a~(~3SC!hv2~$EkiOeV2+IwH@ z=>^nF&!7qR5LG4ieL7V0+}G|FCif)bGaEC07_1Dq+g0=l zosNlqqtBo72N^w6%a?PPw;xL81m{4Czuj(8vhs-XE%LC3jtUtH?^AM^at%G?qwu)6 zm}H*3HM|w|X=Nj2mxW;unQ4`Cdp92z|Apy|_l$BRN?)16_&}^tN4FnlNxnZoz5EET zjC)kPl2CryEjndSpSKEOeEgn+<_BK;m5KN=lZY&pLT|Wdv2~8Zg$5imkx!d={N8~E z$fEAu-f_bx+til9S+ert&Jwj{_I=XzZMn{v{@I+j;RbO-f7ZvSL8bH{h*oh(SqAmb zzke}%f3EE{zaI%v-c8}8?9!-U!Y;Q^6un(@(RzLhivTsJiELQz z7BHWCH${@#0O9jDleROpK{KKEGmrmvWDjUT3QMFz$~LYL{REr8H28W|P1*6)pP zHF`r``;6g)OaH!$q1{+>qjRFl$+27D?Si?RtWA%}F>~|e&>sb)!B&|kwS{PsxOi|P2_}AgY%AV-^{x(T@i&w?;Gbxsl!y|*Zx^jdNltbxoYOwz^2fgn+#a{@@KiVs z_Zom-*PSA01J&%@)ObYEgr%l8Zj&WlBA;;LV`}kA#f!I7%J-QG-^o@rma4NzAr*BRa&0=T0I z^Sv_@f>~!+<((qT`9a#sFoJYO%cvgx@c*BiSrrge0FEwZ=)Fik)EzmU3Kenlme zF_YE!L_GR%{5}g*b;rYq6T^!BsNV;erP8j}PYL75|6V_S|9K5ZEL@Gjx_OJw z=5a}YPJ>xrylh_!VZS`=h_8;~W?>_3+6wKJP(_dxbr#d*2p}c>dBJ z4z2%n+cGWQvkG81s*W#o@G-NWWcfz0`bMYFWlJGF4&;(%2666*sySz&o<;H${RDiw z8UA4_Ayzq1vZ_)-?_7sQ9TKHUaJ?_^Sm8awMaI(34bKXbQ@q6^))`$5T8BSDAMYaKWM6Fbal1u1elsrdOqOkbh^af|_%R z!lZ%9EyZk)L)$yC*r!ff*lNXJArv8V2pOd=xq3EA0%o(voRTQR(rz)cD_qZVc;$(a z7}JM+8wf@?zy!uqHfAMKtr$J8k+35@@1gf|xSsgOUA{$l1RUnzne?(oTXq%GkDxvo z_L?8_Y9bf8oX_U-7F3?=@cz5C^LKMISmxg#d4O38p2lKQx>#m&vA(NX><{p?M`$vl zvC?|(AAwW+n@lFukPhU%->+T3azG#g5WBDLZCCBC0d>bG^4jVubn*O@ zD%sG2{!3f9n4}C&8DB6F=%uc7pv#NamZw}uSD)EhGlI%nB1>C+ljr*)OP?mxS9Pv( z9zKmPC6Dg3`;>^DB(m11?97zi-9!;XY#9@fl7APIRuTbopNp_*=z(&snBM zR1hw@9#43>wzd3@9stXlax;&~5`(pHS68*tKjl52y0^(G`ia8LHpGCSvb$q%nA z73gs1tGa(cv`Qcg{5!^>pX0r(dGkIf;rYVe5;evixK`bw$mbcX1DljFwLxsdUo3;jt~H|9P^;Pc_*_o3g?A~fT$xuhOR$&<#n>ie*W0C@e>JDJ0s)9IJ; zZhE^w+-f`T@_K`=!R|AI^IB7a+V6uAc3vtUmDYVu?Ne;(M49|nm@0a(+#g$nIhXLw z0Zc7ygZ43cq)9J5vA6WR0_`qHYO>li1rGz8=bbS7 znhGD#-XzhTymE669s+Zx-kP@)=DYu5k_RgMgg#qR_@eZRT;V@@dOIU}2Aqs!-vtdg zLWz5S{dOY&>tTatCXHH(AMch9#1qV77WFkqe<>+jjNNA`2{*!qHctHv2sB>OGX4_( z(91CNfxPI2g?H^eEv1+a^wUQ~8760HVd^Jm?(1t?vrPdc$Q5T9o12{trxLTw_f{f8 z%H{@tG|T5G$z&jpS3M-YUlBPVS+ca1(5v`ZukLvT#Z&Ap@<@eVvutLUGM@)oGAj@2 zmM%FWbuQ+}b~B@+%T9BEVbL8_mB9EWgJML8zmp#tT8eRitYFw*d|IXP06SU}5J}mJZ#I_~>ZLnd)U5q}qZ5HFhisrne6>0qyaeG6l@N(l-LXfpaZ`XPM?9s#lY8~BJ ziw8a~lUC6l9P~OA4N*Qpb~dq4?{;k<=zile`onsl*oKGdzdFwke z=3FCT{B}`@p>YqLl0G!wTT#!z?e}PY=z)dvQxu*LJ$QlFVF9DnvS8aYK*xHr=o3{| zwP!zoSm!D)eOG>epNn2MMXlEK9W<{p@X7&Jr-&4W@XC*M+%ekr16`pp4+RJ$_|A#b zj|b!(>%j>f$Zr;tOeG_&`Gf|MDl$(^{~Z%8{b`RUmV7z(JUd7>qk6SBs-eIoJ02i@ zZ)gOS9kJ^1Z2_y-P;Px5aLrP{NEvpWz4X$AGO8)iu0iSn92(YEF0tab<52R+p}o~1 z8a;lVX|ul^p=x9>AL>|I0!-Hl{YoF2<$+jWN~*J&Sscrk%K7SCOH_WYlOtfYvgE(i z%tQmE*GZTd`@l^<_U`r1NA($Prb)@8q|cd}G5yTm)n}L_gEuRbz5j7^?%_=T{~I5r z*U7?(+{L+_ zbH@Lh3!8k{t4r}(^zL(A=gKb(w*#r~srfiqXRgQZ{Mu|vA8wb6)u80#LZ=Vpc&kt2 zw0Yl&rtaK-_nA8!+H=uxXEhACWB&Zvo$H9@EF96p<1Q!d1RRYOi3OlO?s~+v^h;{@ z$eT^FG0U~jyHPBqf;w!-JCDFFv^E99G^y)ZC|lc|0Lk!6ec|Vs6aRkvVzM6OeKoir zp2;vYejzjQpl3HX>FYJS)s&{&B2R3f3}U~X2d(_3eNdx))IL? z863p!g-|5Ke5!oDr1=2Vv;YoC`nz(H?9_eGChV#!Zl_vjNZL!h5cF{|JUu4?|7Y?6ajZIv5 ze82j6&*twA&Tdq!0qpH&yxLw{|1Q}gukTihD*iS3??v{=E^g0rx`IdH_Cpl|noGbC zy87xdoVVUF#?bLlijf@Rvz}wdShOW6T{f+ z8>3Ps64Xk>k*E#*>q~sQww=M;H~VPUKH>E$Zj81>m_!|`31w32YBO~H^FXiQP`ZcT zcp@a48E|LoO3FZfK#s~&!EYz>;F6G(bUZr)hZ7eEB;^x&`_uvn;ixKh9$#IbjqLLH!bGeQJEU2pEWnu z;t}qBm2kZz6u3*~4yN@PJzrG-`cMnA>_T) z^cPb0bhFPLPoUSBrA^^pJd@P2k)R={lE$!5zt@6Vc--H=XV+qBMWqof>|0uSGqxYp z+N&ENos>~e3|PW;15#5m*y5BlEbMTn!{@sHRVV*stZ^<(v!k~_OypW)S~*tWRq-cQ zb+u^<#TeR7ip+n%ekWEWrmsl z{cb4*SvuV_9JtvbeF)6-|QoeQpJ)87*(9{el8bXUT zPkNI7c-j4!e|({O`AulZ0oLpT)7?{0a63Ks?Kd!!a;Ydz;$cx|;fdE$W%^gaq`$k{ zM`0!=CH?&yvHSZ?a{Tr#iTJ>&&3Uo#T%CbK3fyezQIV2Y1dmFdzSBKDU7^NHbpG6MG8>v1)LapmMf>k^)z2P%2lS=1xQ& zy4;x>bb=bPrExJru#oQswT@NlVrR0K(^sHCq{Q%dGr)x|7?wCK_Ce=OYFx|0IRHrk zAEd!*YKQM-H_S^C=KqHZk#3Rh=zd%U!-CLXzSXM{{D+Il|30S4C4HX<_NcLaE|rN3 z!{Y$;Jpg)lV(cQd>*K zwiHqrANJg$Pv9b~{8^noUip9w6v=Ey^?gua{oM|e1I+CkWhZ@`sywZ3eyKq|CqRyH zjwwv5e6HhB>Q|$w4d5b=#9sX%%DdCB)h8EUX*24aL$#%_1WLm^cU=uy+_+=WT%A04 z>BhICw7u}tJka%dscUEMXFwRz!>JPIA^b>5E9>BqI7eA=!2>C8Zt`-CeW_U z{#3Nb)DZi>6_!yH?kV z*7O3rYi+honoauJ$*U5x^p(pN#aR^h+7>Fo&Wci|`JVG`d4MmhZTk;9jK$3q@#e{# z6n)8z<;-^`xL8}Q|GEC$dYOIqeWM(jq#IhIunQ)OG@qbZeWxQa&v^SwnX)JSa zdPBYRdAnp&XCuxu<8_4ADvmO!$3wG|>3_&8o_ zBt8ji0q*x-n}!2_KxTBS$F(&f3Wr1w*s>c=nVAahggO{r zlDz5>j0s!K`)@LS0(-yh7+(avVY13C`uV9ndLa??vPc04gxM*d8*X#t-T@&GWo;Y8 zJM-)1q=AYW|D4lAgx53zNldBvEDdT#M_aC}?)>PVKMaEnq6ASkP}a@w<^0(V4;wN* zn=0nf3PYuXNd?1rJVXW^IYe|qew8c9=NKv6eJD$J zzEP_UN8jIv2wuH;g~$HvS`0xda8IK<^%X;;58FS{$Uvpf7(zcEb3*E*cD3ML%_#Kx zhu9mhRn+424N@dADzOMo zAJ#Sw>kvh0cKKw!(h6;pF#RQY{WM>#v`1R^e~LNquk8AHnKM}@pnu4wr57Bh0|57j zGPHVpzEeR5OL7`}KHqbA>dnOm^4bezRsqu`GK>A5}5FeIFz(!!2bAj8#ud{7fl8#4^^L%F<54Hr4ppja<4qdMG3mi>S) z`-**~S*rrGRY#MA{`^>4itmc@x(wf1D!5F=bX;gjYYFSw=Ej2g{bo7Y>T|o3owJjI zPA|vka_wyBB~BuvIN06WJ7R=ZOu{KCQTL@=A)N|wkTMbI+t{+$B-HY{oT)oY#@E#< zOTcZ>NRFzud7rcnNVpZZQ?oZ{hVm=fi5t7M;YYzPENyr_*Cl2iOcMd_1py6=_`dn~ zuIr+2HHCWq?HZryN!TDS{YR6|M6k-D$tef>K6E@G!r2jJ<>ik_x^tS+7Mf?j+4yel z^o79!?^M>5ZG6LI7|kE!Ob^^>scOA298|jTd-W3M&t|9E-HXl4)#`Sv9hs6}BVhB@ z;NZ_eA5EGq)?wD_*MyGl#Z7d9tHk*<5Q;m&?lw0*<#o6*RA`D&?8vt*7*d z2q(z3oBlEM<^dSk^UaLg0(Y%!y{5Io)#FN(Ii=!K2tKa@N&a`mrJ12l_!fwuU?zcKjMV<{oC}|dsQ)!bxXQhNPU9Iy2 zV3dR77D2Ied@j-;jT^o9$hKwGN5tOM2P5x=AN7L`k5{N`6{r%~R2_4bCsHuzhb+sN zm^mFK54+vJ2gHI2n8c|0Fpn+XI`t)811Jp_X$|fJ{)&gM9()=&+;1cKu8=Gz%2SW; zeI)Gj_l}-VX%i#D4n1oJi_RXH{NT8~WGx^DLLL}d`F&tSJ0Y7-ym&DX9rAs5^QP<6 zOf(1xs)i@5pCO0OQK1>BT^nZ2bbUDsf>J2+Ar3va9#N#BVe)73N6<_mCKFr;rg{6h?dn=r3A8vdEDSi>6`~%B zYwrAIgX)`PnJu45k_a+zu%Al{Q@XifZy|gE&cfM16Z>@fl8nj%=X_+P=zC% zim=ZLf2XI3v;P5Mx96kYy%)%!s03da(xR1`>~8Uxf$L?4yhUy9Nz-jLyvpU+nO>fE3W0hWlpC?@zgOaZSe&`?>4z)U>99pNwmF^bHIC*lL%Z z6B^gE3HcEQM`f~F9Cah;*})c8DJZlStuy)G?ovcf^~ubcD;4a1CX@+Z`JtPW)p1 zZD)ToC?IH5$bz7hm8C<-Lz&}d_L7R_%Z7R4F3>7n8?iDL9@{F)DEyi`XmaDQ#h1Zw ziMv3#7I42auRC&5d#TjxutYPbeJ;t=(MA0pmic7LsFpZ!7GGL*4OM`YL^Lzr)8gm1 zeWbe;P4tXH#T;RQ5)+$o<&i`EvyA7ZXT%OnU{HG@g(2Um9C*esHCO9(^FUCRvo^8V ztD#Z~}qIyR| z@c@@Mo&G&)3tmYM)o}noq$)m z<}54P5>k9e+(omRFfo`?N7#X&FUEQ{){QutbO8!;owQ%Fy&h9i&%~T#SXQ5REut+|Qkd#!!;!!6eY#)H)ZcTY!QOtz2A4tVNbTE{CJu{wWrhbp`CQ z4j+TE3wOVCB^y58CYzRDkeUuZ`XH@u5OA=PcW0x^h`~gJl{FRbIwu! zm*FYb&pQWWuK#4V>tJPN07PDTpI+UmZ!=nl34D{NYNBgpq<6%sg$C4LSZtK}UZL)q z$MVwJjjw}Rq>?uEOcC>RjcIlxIb>uv>SRhA4)xkjFe83>A^Bfo5$nSp-g+%HjTT{R zQZz`W#cuC_%@c4b-bhXk%i3IR0YU@W};t$qV2XYA5v%tJDY+v%-z*mXxL3%=t zEC{fJHR?X)n%v!te}w9PsL3mjFaYXnnz6-u@^J3B`rQ@1oR4}hvz0E5hI_de@mId4 z)-g`Y6S16|-_3!FsYf$93C~1;_3N#o+Si*)c!szO9j{j!FWXHaU-%y>Y*~4Ad+cU< zS|5NngbHur#0gq79DF(&IS6`0qGB)EAD|QL`UEgq80OWw6_EsVCv;2Qjg|3Q`wcA6 zJgB#6Mte``AzEDd1Y)aOLteRcZso%kVB)+!LTaM7(>)rxIj?4PX`;8I)u$Un(HCIy zjST_z_ea)dT5{%mq+MRy+Syp=%mkAHQ1z!8T=rV1xJQr+u6ajzdWX*JRhl&Vl_3BG z1jfyhsw$24I(znAS$3&@)=>-TEgngG0t`PEy}d)eondP(5B(ey%I9o-FLkE5H;_O= z|HlAMC=Gkr?Lo{iUi#^W&YJ!JrK=MS3K!a*-1a+EI%w`lN_^mdq?D(hQt8U0({&Eo z*f1s>@@^yX%Wc8A^_bJ{9aj#VZ&KAVg5zui;8(BqncSVuF;|byB;c55PhS}^q>Z}S z+cMszB01aL3)wY|Oa8suXJi*GMI|9v!viYf1Jc3?5YK$P@U=RM+NIyaXFaXP41M># zb<@s>QD}Xehf2T3{FD#HOScrl_r4@f*<8X?`8)NtT=wezG0KUW)v>+9&f&>vR|kaQ zOG*}schuq)mQa9VYG-a{K4W*gRM>F&{m(w+(|5};9mm89;DrYynh=WU_um1*Po3gT z=B~yhjuu@%D3ki2M&M!4s1m-CsFcr)Iz*toJ?l8!e!owig3=3TcE^LEZ-evr@#E?h z*CvOFap~o!f_|ncTP8RBMygpCr&q2Dxi7Z+V8e$E4^8x~gqmj6IN4Lm%fgk1SE7Pv z(gTX0WGs*04-KEgy4$%^bq?+(ZCvk~qpnaF9%wBy_1eh#BiZ=&d{1kp)&+!L#{H4G zk8TmaX})hC^d!4|vT}gtqWLWR)QnH6JVDvXK7Ka&KIQXh`=5KtlNEx6MR#0!13WrK z7~9cIE25G|M8Lq}M~Q-UWe=oROLR7~k&M}wl+cFF;6a1cO>K?H#~bZu7*+5Yx4>hk zAP-%ASX9gzhRNBp%@)sutBP4k#VkXX%ro9eRLKQp*2oBFp{EB3Okl_^FE1a{%(1o* zCBP}rGt+RYr;zw**E|oDXanaqmzv)>P=gI2MJq33$^!!dmC%?(tNo zeARfI{O{LFQ_TGSCP#Zu`1fwv7ilKVhm>R&)@@ts0Q}QdjVZuSH)MyX@S)3Cn-N{W z8kBUDY1jgTqI!b7rmNUrO4437s#HnlX3}lwx$~#q-n!T)>an={aAgQ zf5(4|5T=X*3lpbhsl$!ZenzZuD%AkA#LCfbl^jBJ;aHm{jX0UiY}rP`~D*y&hl<4+lDu zQi{b0QertQ4Ej-obz5htH5f51wUh!!l6vH}j!Vtullb(ZPco=;lSb1D)QL_XG7{B2 z*0b~GpP}PKUmqYhzJ7;_oZ;LN>>GF?zPzb=ckr^BjMr{s12p)z0iUEM=>fXT$9 zg_~7+-otiA_r}r;K3x6qNN;MB_avA-->~xQ{7L6ZFX+

qO%Ju$wDsJ_bh*lGN9> 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 D=m5A- diff --git a/threeCSG.es6 b/threeCSG.es6 deleted file mode 100644 index a99cad6..0000000 --- a/threeCSG.es6 +++ /dev/null @@ -1,583 +0,0 @@ -/*jshint esversion: 6 */ - -const EPSILON = 1e-5, - COPLANAR = 0, - FRONT = 1, - BACK = 2, - SPANNING = 3; - -export default class ThreeBSP { - constructor(geometry) { - // Convert THREE.Geometry to ThreeBSP - var i, _length_i, - face, vertex, faceVertexUvs, uvs, - polygon, - polygons = [], - tree; - - this.Polygon = Polygon; - this.Vertex = Vertex; - this.Node = Node; - if (geometry instanceof THREE.Geometry) { - this.matrix = new THREE.Matrix4(); - } else if (geometry instanceof THREE.Mesh) { - // #todo: add hierarchy support - geometry.updateMatrix(); - this.matrix = geometry.matrix.clone(); - geometry = geometry.geometry; - } else if (geometry instanceof Node) { - this.tree = geometry; - this.matrix = new THREE.Matrix4(); - return this; - } else { - throw 'ThreeBSP: Given geometry is unsupported'; - } - - for (i = 0, _length_i = geometry.faces.length; i < _length_i; i++) { - face = geometry.faces[i]; - faceVertexUvs = geometry.faceVertexUvs[0][i]; - polygon = new Polygon(); - - if (face instanceof THREE.Face3) { - vertex = geometry.vertices[face.a]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.b]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.c]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - } else if (typeof THREE.Face4) { - vertex = geometry.vertices[face.a]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.b]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.c]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.d]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[3].x, faceVertexUvs[3].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[3], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - } else { - throw 'Invalid face type at index ' + i; - } - - polygon.calculateProperties(); - polygons.push(polygon); - } - - this.tree = new Node(polygons); - } - - subtract(other_tree) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.invert(); - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - a.build(b.allPolygons()); - a.invert(); - a = new ThreeBSP(a); - a.matrix = this.matrix; - return a; - } - - union(other_tree) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - a.build(b.allPolygons()); - a = new ThreeBSP(a); - a.matrix = this.matrix; - return a; - } - - intersect(other_tree) { - var a = this.tree.clone(), - b = other_tree.tree.clone(); - - a.invert(); - b.clipTo(a); - b.invert(); - a.clipTo(b); - b.clipTo(a); - a.build(b.allPolygons()); - a.invert(); - a = new ThreeBSP(a); - a.matrix = this.matrix; - return a; - } - - toGeometry() { - var i, j, - matrix = new THREE.Matrix4().getInverse(this.matrix), - geometry = new THREE.Geometry(), - polygons = this.tree.allPolygons(), - polygon_count = polygons.length, - polygon, polygon_vertice_count, - vertice_dict = {}, - vertex_idx_a, vertex_idx_b, vertex_idx_c, - vertex, face, - verticeUvs; - - for (i = 0; i < polygon_count; i++) { - polygon = polygons[i]; - polygon_vertice_count = polygon.vertices.length; - - for (j = 2; j < polygon_vertice_count; j++) { - verticeUvs = []; - - vertex = polygon.vertices[0]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } else { - geometry.vertices.push(vertex); - vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - - vertex = polygon.vertices[j - 1]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } else { - geometry.vertices.push(vertex); - vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - - vertex = polygon.vertices[j]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } else { - geometry.vertices.push(vertex); - vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - - face = new THREE.Face3( - vertex_idx_a, - vertex_idx_b, - vertex_idx_c, - new THREE.Vector3(polygon.normal.x, polygon.normal.y, polygon.normal.z) - ); - - geometry.faces.push(face); - geometry.faceVertexUvs[0].push(verticeUvs); - } - - } - return geometry; - } - - toMesh (material) { - var geometry = this.toGeometry(), - mesh = new THREE.Mesh(geometry, material); - - mesh.position.setFromMatrixPosition(this.matrix); - mesh.rotation.setFromRotationMatrix(this.matrix); - - return mesh; - } -} -class Polygon { - constructor(vertices, normal, w) { - if (!( vertices instanceof Array )) { - vertices = []; - } - - this.vertices = vertices; - if (vertices.length > 0) { - this.calculateProperties(); - } else { - this.normal = this.w = undefined; - } - } - - calculateProperties() { - var a = this.vertices[0], - b = this.vertices[1], - c = this.vertices[2]; - - this.normal = b.clone().subtract(a).cross( - c.clone().subtract(a) - ).normalize(); - - this.w = this.normal.clone().dot(a); - - return this; - } - - clone() { - var i, vertice_count, - polygon = new Polygon(); - - for (i = 0, vertice_count = this.vertices.length; i < vertice_count; i++) { - polygon.vertices.push(this.vertices[i].clone()); - } - polygon.calculateProperties(); - - return polygon; - } - - flip() { - var i, vertices = []; - - this.normal.multiplyScalar(-1); - this.w *= -1; - - for (i = this.vertices.length - 1; i >= 0; i--) { - vertices.push(this.vertices[i]); - } - this.vertices = vertices; - - return this; - } - - classifyVertex(vertex) { - var side_value = this.normal.dot(vertex) - this.w; - - if (side_value < -EPSILON) { - return BACK; - } else if (side_value > EPSILON) { - return FRONT; - } else { - return COPLANAR; - } - } - - classifySide(polygon) { - var i, vertex, classification, - num_positive = 0, - num_negative = 0, - vertice_count = polygon.vertices.length; - - for (i = 0; i < vertice_count; i++) { - vertex = polygon.vertices[i]; - classification = this.classifyVertex(vertex); - if (classification === FRONT) { - num_positive++; - } else if (classification === BACK) { - num_negative++; - } - } - - if (num_positive === vertice_count && num_negative === 0) { - return FRONT; - } else if (num_positive === 0 && num_negative === vertice_count) { - return BACK; - } else if (num_positive > 0 && num_negative > 0) { - return SPANNING; - } else { - return COPLANAR; - } - } - - splitPolygon(polygon, coplanar_front, coplanar_back, front, back) { - var classification = this.classifySide(polygon); - - if (classification === COPLANAR) { - - ( this.normal.dot(polygon.normal) > 0 ? coplanar_front : coplanar_back ).push(polygon); - - } else if (classification === FRONT) { - - front.push(polygon); - - } else if (classification === BACK) { - - back.push(polygon); - - } else { - - var vertice_count, - i, j, ti, tj, vi, vj, - t, v, - f = [], - b = []; - - for (i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++) { - - j = (i + 1) % vertice_count; - vi = polygon.vertices[i]; - vj = polygon.vertices[j]; - ti = this.classifyVertex(vi); - tj = this.classifyVertex(vj); - - if (ti != BACK) f.push(vi); - if (ti != FRONT) b.push(vi); - if ((ti | tj) === SPANNING) { - t = ( this.w - this.normal.dot(vi) ) / this.normal.dot(vj.clone().subtract(vi)); - v = vi.interpolate(vj, t); - f.push(v); - b.push(v); - } - } - - - if (f.length >= 3) front.push(new Polygon(f).calculateProperties()); - if (b.length >= 3) back.push(new Polygon(b).calculateProperties()); - } - } -} -class Vertex { - constructor(x, y, z, normal, uv) { - this.x = x; - this.y = y; - this.z = z; - this.normal = normal || new THREE.Vector3(); - this.uv = uv || new THREE.Vector2(); - } - - clone() { - return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone()); - } - - add(vertex) { - this.x += vertex.x; - this.y += vertex.y; - this.z += vertex.z; - return this; - } - - subtract(vertex) { - this.x -= vertex.x; - this.y -= vertex.y; - this.z -= vertex.z; - return this; - } - - multiplyScalar(scalar) { - this.x *= scalar; - this.y *= scalar; - this.z *= scalar; - return this; - } - - cross(vertex) { - var x = this.x, - y = this.y, - z = this.z; - - this.x = y * vertex.z - z * vertex.y; - this.y = z * vertex.x - x * vertex.z; - this.z = x * vertex.y - y * vertex.x; - - return this; - } - - normalize() { - var length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); - - this.x /= length; - this.y /= length; - this.z /= length; - - return this; - } - - dot(vertex) { - return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z; - } - - lerp(a, t) { - this.add( - a.clone().subtract(this).multiplyScalar(t) - ); - - this.normal.add( - a.normal.clone().sub(this.normal).multiplyScalar(t) - ); - - this.uv.add( - a.uv.clone().sub(this.uv).multiplyScalar(t) - ); - - return this; - } - - interpolate(other, t) { - return this.clone().lerp(other, t); - } - - applyMatrix4(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; - - } -} -class Node { - constructor(polygons) { - var i, polygon_count, - front = [], - back = []; - - this.polygons = []; - this.front = this.back = undefined; - - if (!(polygons instanceof Array) || polygons.length === 0) return; - - this.divider = polygons[0].clone(); - - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); - } - - if (front.length > 0) { - this.front = new Node(front); - } - - if (back.length > 0) { - this.back = new Node(back); - } - } - - isConvex(polygons) { - var i, j; - for (i = 0; i < polygons.length; i++) { - for (j = 0; j < polygons.length; j++) { - if (i !== j && polygons[i].classifySide(polygons[j]) !== BACK) { - return false; - } - } - } - return true; - } - - build(polygons) { - var i, polygon_count, - front = [], - back = []; - - if (!this.divider) { - this.divider = polygons[0].clone(); - } - - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); - } - - if (front.length > 0) { - if (!this.front) this.front = new Node(); - this.front.build(front); - } - - if (back.length > 0) { - if (!this.back) this.back = new Node(); - this.back.build(back); - } - } - - allPolygons() { - var polygons = this.polygons.slice(); - if (this.front) polygons = polygons.concat(this.front.allPolygons()); - if (this.back) polygons = polygons.concat(this.back.allPolygons()); - return polygons; - } - - clone() { - var node = new Node(); - - node.divider = this.divider.clone(); - node.polygons = this.polygons.map(function (polygon) { - return polygon.clone(); - }); - node.front = this.front && this.front.clone(); - node.back = this.back && this.back.clone(); - - return node; - } - - invert() { - var i, polygon_count, temp; - - for (i = 0, polygon_count = this.polygons.length; i < polygon_count; i++) { - this.polygons[i].flip(); - } - - this.divider.flip(); - if (this.front) this.front.invert(); - if (this.back) this.back.invert(); - - temp = this.front; - this.front = this.back; - this.back = temp; - - return this; - } - - clipPolygons(polygons) { - var i, polygon_count, - front, back; - - if (!this.divider) return polygons.slice(); - - front = []; - back = []; - - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], front, back, front, back); - } - - if (this.front) front = this.front.clipPolygons(front); - if (this.back) back = this.back.clipPolygons(back); - else back = []; - - return front.concat(back); - } - - clipTo(node) { - this.polygons = node.clipPolygons(this.polygons); - if (this.front) this.front.clipTo(node); - if (this.back) this.back.clipTo(node); - } -} - -window.ThreeBSP = ThreeBSP; diff --git a/threecsg.js b/threecsg.js new file mode 100644 index 0000000..d93160c --- /dev/null +++ b/threecsg.js @@ -0,0 +1,459 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('three')) : + typeof define === 'function' && define.amd ? define(['exports', 'three'], factory) : + (global = global || self, factory(global.threecsg = {}, global.THREE)); +}(this, function (exports, three) { 'use strict'; + + const EPSILON = 1e-6; + const CLASSIFY_COPLANAR = 0; + const CLASSIFY_FRONT = 1; + const CLASSIFY_BACK = 2; + const CLASSIFY_SPANNING = 3; + const tempVector3 = new three.Vector3(); + class Triangle { + constructor(a, b, c) { + this.a = a.clone(); + this.b = b.clone(); + this.c = c.clone(); + this.normal = new three.Vector3(); + tempVector3.copy(c).sub(a); + this.normal.copy(b).sub(a).cross(tempVector3).normalize(); + this.w = this.normal.dot(a); + } + classifyPoint(point) { + const side = this.normal.dot(point) - this.w; + if (Math.abs(side) < EPSILON) + return CLASSIFY_COPLANAR; + if (side > 0) + return CLASSIFY_FRONT; + return CLASSIFY_BACK; + } + classifySide(triangle) { + let side = CLASSIFY_COPLANAR; + side |= this.classifyPoint(triangle.a); + side |= this.classifyPoint(triangle.b); + side |= this.classifyPoint(triangle.c); + return side; + } + invert() { + const { a, c } = this; + this.a = c; + this.c = a; + this.normal.multiplyScalar(-1); + this.w *= -1; + } + clone() { + return new Triangle(this.a.clone(), this.b.clone(), this.c.clone()); + } + } + + function isBufferGeometry(geometry) { + return geometry instanceof three.BufferGeometry; + } + function isConvexSet(triangles) { + for (let i = 0; i < triangles.length; i++) { + for (let j = i + 1; j < triangles.length; j++) { + const side = triangles[i].classifySide(triangles[j]); + if (side & CLASSIFY_FRONT) + return false; + } + } + return true; + } + + const MINIMUM_RELATION = 0.5; // 0 -> 1 + const MINIMUM_RELATION_SCALE = 5; // should always be >2 + function chooseDividingTriangle(triangles) { + if (isConvexSet(triangles)) + return undefined; + let minimumRelation = MINIMUM_RELATION; + let bestTriangle = undefined; + let leastSplits = Infinity; + let bestRelation = 0; + // Find the triangle that best divides the set + while (bestTriangle === undefined) { + for (let i = 0; i < triangles.length; i++) { + const triangleOuter = triangles[i]; + // Count the number of polygons on the positive side, negative side, and spanning the plane defined by the current triangle + let numFront = 0; + let numBack = 0; + let numSpanning = 0; + for (let j = 0; j < triangles.length; j++) { + if (i === j) + continue; + const triangleInner = triangles[j]; + const side = triangleOuter.classifySide(triangleInner); + if (side === CLASSIFY_SPANNING) { + numSpanning++; + } + else if (side === CLASSIFY_FRONT) { + numFront++; + } + else if (side === CLASSIFY_BACK) { + numBack++; + } + } + // Calculate the relation between the number of triangles in the two sets divided by the current triangle + const relation = numFront < numBack ? numFront / numBack : numBack / numFront; + // Compare the results given by the current triangle to the best so far. + // If the this triangle splits fewer triangles and the relation + // between the resulting sets is acceptable this is the new candidate + // triangle. If the current triangle splits the same amount of triangles + // as the best triangle so far and the relation between the two + // resulting sets is better then this triangle is the new candidate + // triangle. + if (relation > minimumRelation && + (numSpanning < leastSplits || + (numSpanning === leastSplits && relation > bestRelation))) { + bestTriangle = triangleOuter; + leastSplits = numSpanning; + bestRelation = relation; + } + } + minimumRelation = minimumRelation / MINIMUM_RELATION_SCALE; + } + return bestTriangle; + } + class BSPNode { + constructor(triangles) { + this.triangles = []; + this.isInverted = false; + if (triangles !== undefined) { + this.buildFrom(triangles); + } + } + static interpolateVectors(a, b, t) { + return a.clone().lerp(b, t); + } + static verticesToTriangles(vertices) { + const triangles = []; + for (let i = 2; i < vertices.length; i++) { + const a = vertices[0]; + const b = vertices[i - 1]; + const c = vertices[i]; + const triangle = new Triangle(a, b, c); + triangles.push(triangle); + } + return triangles; + } + buildFrom(triangles) { + if (this.divider === undefined) { + const bestDivider = chooseDividingTriangle(triangles); + if (bestDivider === undefined) { + this.divider = triangles[0].clone(); + this.triangles = triangles; + } + else { + this.divider = bestDivider.clone(); + this.triangles = []; + this.addTriangles(triangles); + } + } + else { + this.addTriangles(triangles); + } + } + addTriangles(triangles) { + const frontTriangles = []; + const backTriangles = []; + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const side = this.divider.classifySide(triangle); + if (side === CLASSIFY_COPLANAR) { + this.triangles.push(triangle); + } + else if (side === CLASSIFY_FRONT) { + frontTriangles.push(triangle); + } + else if (side === CLASSIFY_BACK) { + backTriangles.push(triangle); + } + else { + BSPNode.splitTriangle(triangle, this.divider, frontTriangles, backTriangles); + } + } + if (frontTriangles.length) { + if (this.front === undefined) { + this.front = new BSPNode(frontTriangles); + } + else { + this.front.addTriangles(frontTriangles); + } + } + if (backTriangles.length) { + if (this.back === undefined) { + this.back = new BSPNode(backTriangles); + } + else { + this.back.addTriangles(backTriangles); + } + } + } + invert() { + this.isInverted = !this.isInverted; + if (this.divider !== undefined) + this.divider.invert(); + if (this.front !== undefined) + this.front.invert(); + if (this.back !== undefined) + this.back.invert(); + const temp = this.front; + this.front = this.back; + this.back = temp; + for (let i = 0; i < this.triangles.length; i++) { + this.triangles[i].invert(); + } + } + // Remove all triangles in this BSP tree that are inside the other BSP tree + clipTo(tree) { + this.triangles = tree.clipTriangles(this.triangles); + if (this.front !== undefined) + this.front.clipTo(tree); + if (this.back !== undefined) + this.back.clipTo(tree); + } + // Recursively remove all triangles from `triangles` that are inside this BSP tree + clipTriangles(triangles) { + if (!this.divider) + return triangles.slice(); + let frontTriangles = []; + let backTriangles = []; + if (this.front === undefined && this.back === undefined) { + triangles = triangles.slice(); + // this is a leaf node and thus a convex set, return any triangles not contained by the set + outer: for (let i = 0; i < triangles.length; i++) { + const candidate = triangles[i]; + let backsideCount = 0; + let frontsideCount = 0; + for (let j = 0; j < this.triangles.length; j++) { + const side = this.triangles[j].classifySide(candidate); + if (side === CLASSIFY_BACK) { + backsideCount++; + } + else if (side === CLASSIFY_FRONT) { + frontsideCount++; + } + else if (side === CLASSIFY_COPLANAR) { + // keep coplanar triangles if they face the correct direction + const dot = this.triangles[j].normal.dot(candidate.normal); + if (dot < 0) { + backsideCount++; + } + else { + frontsideCount++; + } + } + else if (side === CLASSIFY_SPANNING) { + // exclude this triangle as it becomes split, + // push resulting front triangles into `triangles` for more splitting + BSPNode.splitTriangle(candidate, this.triangles[j], triangles, triangles); + continue outer; + } + } + if (!this.isInverted && backsideCount !== this.triangles.length) { + frontTriangles.push(candidate); + } + else if (this.isInverted && frontsideCount === this.triangles.length) { + frontTriangles.push(candidate); + } + } + return frontTriangles; + } + // not a leaf node / convex set + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const side = this.divider.classifySide(triangle); + if (side === CLASSIFY_FRONT) { + frontTriangles.push(triangle); + } + else if (side === CLASSIFY_BACK) { + backTriangles.push(triangle); + } + else if (side == CLASSIFY_COPLANAR) { + const dot = this.divider.normal.dot(triangle.normal); + if (dot > 0) { + frontTriangles.push(triangle); + } + else { + backTriangles.push(triangle); + } + } + else if (side === CLASSIFY_SPANNING) { + BSPNode.splitTriangle(triangle, this.divider, frontTriangles, backTriangles); + } + } + if (this.front !== undefined) + frontTriangles = this.front.clipTriangles(frontTriangles); + if (this.back !== undefined) { + backTriangles = this.back.clipTriangles(backTriangles); + } + else { + backTriangles = []; + } + return frontTriangles.concat(backTriangles); + } + getTriangles() { + let triangles = this.triangles.slice(); + if (this.front !== undefined) + triangles = triangles.concat(this.front.getTriangles()); + if (this.back !== undefined) + triangles = triangles.concat(this.back.getTriangles()); + return triangles; + } + clone() { + const clone = new BSPNode(); + clone.isInverted = this.isInverted; + if (this.divider !== undefined) + clone.divider = this.divider.clone(); + if (this.front !== undefined) + clone.front = this.front.clone(); + if (this.back !== undefined) + clone.back = this.back.clone(); + const clonedTriangles = []; + for (let i = 0; i < this.triangles.length; i++) { + clonedTriangles.push(this.triangles[i].clone()); + } + clone.triangles = clonedTriangles; + return clone; + } + toGeometry() { + const geometry = new three.Geometry(); + const triangles = this.getTriangles(); + for (let i = 0; i < triangles.length; i++) { + const triangle = triangles[i]; + const vertexIndex = geometry.vertices.length; + geometry.vertices.push(triangle.a, triangle.b, triangle.c); + const face = new three.Face3(vertexIndex, vertexIndex + 1, vertexIndex + 2, triangle.normal); + geometry.faces.push(face); + } + return geometry; + } + } + BSPNode.splitTriangle = function splitTriangle(triangle, divider, frontTriangles, backTriangles) { + const vertices = [triangle.a, triangle.b, triangle.c]; + const frontVertices = []; + const backVertices = []; + for (let i = 0; i < 3; i++) { + const j = (i + 1) % 3; + const vi = vertices[i]; + const vj = vertices[j]; + const ti = divider.classifyPoint(vi); + const tj = divider.classifyPoint(vj); + if (ti != CLASSIFY_BACK) + frontVertices.push(vi); + if (ti != CLASSIFY_FRONT) + backVertices.push(vi); + if ((ti | tj) === CLASSIFY_SPANNING) { + const t = (divider.w - divider.normal.dot(vi)) / divider.normal.dot(vj.clone().sub(vi)); + const v = BSPNode.interpolateVectors(vi, vj, t); + frontVertices.push(v); + backVertices.push(v); + } + } + if (frontVertices.length >= 3) + Array.prototype.push.apply(frontTriangles, BSPNode.verticesToTriangles(frontVertices)); + if (backVertices.length >= 3) + Array.prototype.push.apply(backTriangles, BSPNode.verticesToTriangles(backVertices)); + }; + + function convertMeshToTriangles(mesh) { + if (isBufferGeometry(mesh.geometry)) { + throw new Error(' Only meshes with Three.Geometry are supported.'); + } + const triangles = []; + mesh.updateMatrixWorld(true); + const { matrixWorld: transform } = mesh; + const { geometry: { faces, vertices } } = mesh; + for (let i = 0; i < faces.length; i++) { + const face = faces[i]; + const a = vertices[face.a].clone(); + const b = vertices[face.b].clone(); + const c = vertices[face.c].clone(); + a.applyMatrix4(transform); + b.applyMatrix4(transform); + c.applyMatrix4(transform); + const triangle = new Triangle(a, b, c); + triangles.push(triangle); + } + return triangles; + } + + function intersect(a, b) { + a = a.clone(); + b = b.clone(); + a.invert(); + b.clipTo(a); + b.invert(); + a.clipTo(b); + b.clipTo(a); + a.invert(); + b.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); + } + function union(a, b) { + a = a.clone(); + b = b.clone(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); + } + function subtract(a, b) { + a = a.clone(); + b = b.clone(); + a.invert(); + b.clipTo(a); + a.clipTo(b); + b.invert(); + b.clipTo(a); + a.invert(); + return new BSPNode(a.getTriangles().concat(b.getTriangles())); + } + + var boolean = /*#__PURE__*/Object.freeze({ + intersect: intersect, + union: union, + subtract: subtract + }); + + function geometryToMesh(geometry, material) { + // center geometry & apply position to a new mesh + geometry.computeBoundingBox(); + const offset = new three.Vector3(); + geometry.boundingBox.getCenter(offset); + geometry.translate(-offset.x, -offset.y, -offset.z); + const mesh = new three.Mesh(geometry, material); + mesh.position.copy(offset); + return mesh; + } + function subtract$1(mesh1, mesh2, material) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = subtract(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); + } + function union$1(mesh1, mesh2, material) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = union(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); + } + function intersect$1(mesh1, mesh2, material) { + const bsp1 = new BSPNode(convertMeshToTriangles(mesh1)); + const bsp2 = new BSPNode(convertMeshToTriangles(mesh2)); + const geometry = intersect(bsp1, bsp2).toGeometry(); + return geometryToMesh(geometry, material); + } + + exports.BSPNode = BSPNode; + exports.convertMeshToTriangles = convertMeshToTriangles; + exports.boolean = boolean; + exports.subtract = subtract$1; + exports.union = union$1; + exports.intersect = intersect$1; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..714337d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "rootDir": "./src", + "outDir": "lib", + "module": "es6", + "target": "es6", + "strict": true, + "declaration": true, + "declarationDir": "types" + }, + "include": ["src/**/*"], + "exclude": ["src/**/*.test.ts"] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..1459124 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3721 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0-beta.35": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/jest@^23.3.12": + version "23.3.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.12.tgz#7e0ced251fa94c3bc2d1023d4b84b2992fa06376" + integrity sha512-/kQvbVzdEpOq4tEWT79yAHSM4nH4xMlhJv2GrLVQt4Qmo8yYsPdioBM1QpN/2GX1wkfMnyXvdoftvLUr0LBj7Q== + +"@types/node@*": + version "10.12.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" + integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== + +"@types/three@^0.93.15": + version "0.93.15" + resolved "https://registry.yarnpkg.com/@types/three/-/three-0.93.15.tgz#8fbb4ee8c0648372a305469d16e37d0a939f91c3" + integrity sha512-AE9kgUDqMrInTfMYzZ8NqgBMzUgHvv+JwUQxCmlWZOfs+TCJDn7CVcvcOyftiUO3MAH1bddwaK0ZvZ/9M1rO5A== + +abab@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +acorn-globals@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" + integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-walk@^6.0.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" + integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + +acorn@^5.5.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + +acorn@^6.0.1, acorn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" + integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg== + +ajv@^6.5.5: + version "6.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" + integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + integrity sha1-126/jKlNJ24keja61EpLdKthGZE= + dependencies: + default-require-extensions "^1.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + +async@^2.1.4, async@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== + dependencies: + lodash "^4.17.10" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1" + integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew== + dependencies: + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.2.0" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== + dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" + find-up "^2.1.0" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" + +babel-plugin-jest-hoist@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" + integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= + +babel-plugin-syntax-object-rest-spread@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-preset-jest@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" + integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY= + dependencies: + babel-plugin-jest-hoist "^23.2.0" + babel-plugin-syntax-object-rest-spread "^6.13.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +browser-process-hrtime@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +capture-exit@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= + dependencies: + rsvp "^3.3.3" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + dependencies: + delayed-stream "~1.0.0" + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +convert-source-map@^1.4.0, convert-source-map@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js@^2.4.0, core-js@^2.5.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.2.tgz#267988d7268323b349e20b4588211655f0e83944" + integrity sha512-NdBPF/RVwPW6jr0NCILuyN9RiqLo2b1mddWHkUL+VnvcB7dzlnBJ1bXYntjpTGOgkZiiLWj2JxmOr7eGE3qK6g== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + integrity sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog== + +cssstyle@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" + integrity sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog== + dependencies: + cssom "0.3.x" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= + dependencies: + strip-bom "^2.0.0" + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +diff@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.9.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + +exec-sh@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== + dependencies: + merge "^1.2.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +expect@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98" + integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w== + dependencies: + ansi-styles "^3.2.0" + jest-diff "^23.6.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.6.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + dependencies: + bser "^2.0.0" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +handlebars@^4.0.3: + version "4.0.12" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" + integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== + dependencies: + async "^2.5.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + dependencies: + minimatch "^3.0.4" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +ip-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-3.0.0.tgz#0a934694b4066558c46294244a23cc33116bf732" + integrity sha512-T8wDtjy+Qf2TAPDQmBp0eGKJ8GavlWlUnamr3wRn6vvdZlKVuJXXMlSncYFRYgVHOM3If5NR1H4+OvVQU9Idvg== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go= + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-api@^1.3.1: + version "1.3.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" + integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA== + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.2.1" + istanbul-lib-hook "^1.2.2" + istanbul-lib-instrument "^1.10.2" + istanbul-lib-report "^1.1.5" + istanbul-lib-source-maps "^1.2.6" + istanbul-reports "^1.5.1" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" + integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== + +istanbul-lib-hook@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" + integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" + integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.2.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" + integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== + dependencies: + istanbul-lib-coverage "^1.2.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" + integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.2.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" + integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== + dependencies: + handlebars "^4.0.3" + +jest-changed-files@^23.4.2: + version "23.4.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" + integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA== + dependencies: + throat "^4.0.0" + +jest-cli@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4" + integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.1.11" + import-local "^1.0.0" + is-ci "^1.0.10" + istanbul-api "^1.3.1" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-source-maps "^1.2.4" + jest-changed-files "^23.4.2" + jest-config "^23.6.0" + jest-environment-jsdom "^23.4.0" + jest-get-type "^22.1.0" + jest-haste-map "^23.6.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve-dependencies "^23.6.0" + jest-runner "^23.6.0" + jest-runtime "^23.6.0" + jest-snapshot "^23.6.0" + jest-util "^23.4.0" + jest-validate "^23.6.0" + jest-watcher "^23.4.0" + jest-worker "^23.2.0" + micromatch "^2.3.11" + node-notifier "^5.2.1" + prompts "^0.1.9" + realpath-native "^1.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + yargs "^11.0.0" + +jest-config@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d" + integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ== + dependencies: + babel-core "^6.0.0" + babel-jest "^23.6.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^23.4.0" + jest-environment-node "^23.4.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^23.6.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.6.0" + jest-util "^23.4.0" + jest-validate "^23.6.0" + micromatch "^2.3.11" + pretty-format "^23.6.0" + +jest-diff@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d" + integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g== + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.1.0" + pretty-format "^23.6.0" + +jest-docblock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" + integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c= + dependencies: + detect-newline "^2.1.0" + +jest-each@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575" + integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg== + dependencies: + chalk "^2.0.1" + pretty-format "^23.6.0" + +jest-environment-jsdom@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" + integrity sha1-BWp5UrP+pROsYqFAosNox52eYCM= + dependencies: + jest-mock "^23.2.0" + jest-util "^23.4.0" + jsdom "^11.5.1" + +jest-environment-node@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" + integrity sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA= + dependencies: + jest-mock "^23.2.0" + jest-util "^23.4.0" + +jest-get-type@^22.1.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== + +jest-haste-map@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16" + integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg== + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + invariant "^2.2.4" + jest-docblock "^23.2.0" + jest-serializer "^23.0.1" + jest-worker "^23.2.0" + micromatch "^2.3.11" + sane "^2.0.0" + +jest-jasmine2@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0" + integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ== + dependencies: + babel-traverse "^6.0.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^23.6.0" + is-generator-fn "^1.0.0" + jest-diff "^23.6.0" + jest-each "^23.6.0" + jest-matcher-utils "^23.6.0" + jest-message-util "^23.4.0" + jest-snapshot "^23.6.0" + jest-util "^23.4.0" + pretty-format "^23.6.0" + +jest-leak-detector@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de" + integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg== + dependencies: + pretty-format "^23.6.0" + +jest-matcher-utils@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80" + integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog== + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + pretty-format "^23.6.0" + +jest-message-util@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" + integrity sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8= + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + +jest-mock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" + integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ= + +jest-regex-util@^23.3.0: + version "23.3.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" + integrity sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U= + +jest-resolve-dependencies@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d" + integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA== + dependencies: + jest-regex-util "^23.3.0" + jest-snapshot "^23.6.0" + +jest-resolve@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae" + integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA== + dependencies: + browser-resolve "^1.11.3" + chalk "^2.0.1" + realpath-native "^1.0.0" + +jest-runner@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38" + integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA== + dependencies: + exit "^0.1.2" + graceful-fs "^4.1.11" + jest-config "^23.6.0" + jest-docblock "^23.2.0" + jest-haste-map "^23.6.0" + jest-jasmine2 "^23.6.0" + jest-leak-detector "^23.6.0" + jest-message-util "^23.4.0" + jest-runtime "^23.6.0" + jest-util "^23.4.0" + jest-worker "^23.2.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082" + integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw== + dependencies: + babel-core "^6.0.0" + babel-plugin-istanbul "^4.1.6" + chalk "^2.0.1" + convert-source-map "^1.4.0" + exit "^0.1.2" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.11" + jest-config "^23.6.0" + jest-haste-map "^23.6.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.6.0" + jest-snapshot "^23.6.0" + jest-util "^23.4.0" + jest-validate "^23.6.0" + micromatch "^2.3.11" + realpath-native "^1.0.0" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^11.0.0" + +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" + integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU= + +jest-snapshot@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a" + integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg== + dependencies: + babel-types "^6.0.0" + chalk "^2.0.1" + jest-diff "^23.6.0" + jest-matcher-utils "^23.6.0" + jest-message-util "^23.4.0" + jest-resolve "^23.6.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^23.6.0" + semver "^5.5.0" + +jest-util@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" + integrity sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE= + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^23.4.0" + mkdirp "^0.5.1" + slash "^1.0.0" + source-map "^0.6.0" + +jest-validate@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474" + integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A== + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + leven "^2.1.0" + pretty-format "^23.6.0" + +jest-watcher@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" + integrity sha1-0uKM50+NrWxq/JIrksq+9u0FyRw= + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + string-length "^2.0.0" + +jest-worker@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" + integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= + dependencies: + merge-stream "^1.0.1" + +jest@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d" + integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw== + dependencies: + import-local "^1.0.0" + jest-cli "^23.6.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.7.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" + integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@2.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + dependencies: + minimist "^1.2.0" + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +kleur@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" + integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ== + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-error@1.x: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +merge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== + +micromatch@^2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== + dependencies: + mime-db "~1.37.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.1, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +minipass@^2.2.1, minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +nan@^2.9.2: + version "2.12.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" + integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-notifier@^5.2.1: + version "5.3.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" + integrity sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q== + dependencies: + growly "^1.3.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== + +npm-packlist@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" + integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.0.7: + version "2.0.9" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" + integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.5, path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +pretty-format@^23.6.0: + version "23.6.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" + integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + +prompts@^0.1.9: + version "0.1.14" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2" + integrity sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w== + dependencies: + kleur "^2.0.1" + sisteransi "^0.1.1" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24, psl@^1.1.28: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^2.0.1, readable-stream@^2.0.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +realpath-native@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" + integrity sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g== + dependencies: + util.promisify "^1.0.0" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.x: + version "1.9.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" + integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== + dependencies: + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.5.4, rimraf@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rollup@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.1.0.tgz#461a7534b55be48aa4a6e6810a1543a5769e75d1" + integrity sha512-NK03gkkOz0CchHBMGomcNqa6U3jLNzHuWK9SI0+1FV475JA6cQxVtjlDcQoKKDNIQ3IwYumIlgoKYDEWUyFBwQ== + dependencies: + "@types/estree" "0.0.39" + "@types/node" "*" + acorn "^6.0.5" + +rsvp@^3.3.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== + +safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^2.0.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" + integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= + dependencies: + anymatch "^2.0.0" + capture-exit "^1.2.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.2.3" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5, semver@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +sisteransi@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" + integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.6: + version "0.5.10" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" + integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" + integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" + integrity sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-bom@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.1.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + +tar@^4: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +test-exclude@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" + integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +three@^0.100.0: + version "0.100.0" + resolved "https://registry.yarnpkg.com/three/-/three-0.100.0.tgz#262841c0b7d88ebd62af73f28d9f578963b3aa00" + integrity sha512-/lN2rdE1OqIwJr4/HcSaOisiCY0uVA0sqPpbCG5nil2uICEdS0LfGwSVYTtZDsIpR76r3++h5H3Hzg5D+SJBRQ== + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@>=2.3.3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.0.tgz#d2bceddebde633153ff20a52fa844a0dc71dacef" + integrity sha512-LHMvg+RBP/mAVNqVbOX8t+iJ+tqhBA/t49DuI7+IDAWHrASnesqSu1vWbKB7UrE2yk+HMFUBMadRGMkB4VCfog== + dependencies: + ip-regex "^3.0.0" + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^2.3.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +ts-jest@^23.10.5: + version "23.10.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5" + integrity sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +typescript@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" + integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg== + +uglify-js@^3.1.4: + version "3.4.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" + integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= + dependencies: + browser-process-hrtime "^0.1.2" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watch@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.12, which@^1.2.9, which@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + integrity sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + +yargs-parser@10.x: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= + dependencies: + camelcase "^4.1.0" + +yargs@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" From 9956c5fefcd510faa9e66a78168b91db1fed1d08 Mon Sep 17 00:00:00 2001 From: Chandler Prall Date: Wed, 16 Jan 2019 21:02:10 -0700 Subject: [PATCH 02/32] fixed examples & readme --- README.md | 31 ++- examples/combination.html | 2 +- examples/intersect1.html | 2 +- examples/intersect2.html | 2 +- examples/subtract.html | 2 +- examples/union.html | 2 +- package.json | 4 +- threecsg.js | 459 -------------------------------------- 8 files changed, 35 insertions(+), 469 deletions(-) delete mode 100644 threecsg.js diff --git a/README.md b/README.md index c8e19d5..f33b3c4 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,33 @@ Constructive Solid Geometry library for Three.js ### npm/yarn -`npm install --save threecsg` +`npm install --save three-csg` -`yarn add threecsg` +`yarn add three-csg@1.0.0-alpha.1` -### \ No newline at end of file +### Manually + +The top-level `three-csg.js` file in this repo is a UMD build you can copy into your project and include via a ` + + + + + + - \ No newline at end of file + diff --git a/examples/intersect1.html b/examples/intersect1.html index 61cfd08..f2dedcf 100644 --- a/examples/intersect1.html +++ b/examples/intersect1.html @@ -14,10 +14,11 @@ + - \ No newline at end of file + diff --git a/examples/intersect2.html b/examples/intersect2.html index 13cf3e2..4545839 100644 --- a/examples/intersect2.html +++ b/examples/intersect2.html @@ -14,25 +14,27 @@ + - \ No newline at end of file + diff --git a/examples/subtract.html b/examples/subtract.html index 3088852..17f6d18 100644 --- a/examples/subtract.html +++ b/examples/subtract.html @@ -14,10 +14,11 @@ + - \ No newline at end of file + diff --git a/examples/union.html b/examples/union.html index 1f7b0c3..2221632 100644 --- a/examples/union.html +++ b/examples/union.html @@ -14,25 +14,27 @@ + - \ No newline at end of file + From 9e07df257bd81a8b27236d8244a812642e1b34b0 Mon Sep 17 00:00:00 2001 From: Chandler Prall Date: Fri, 18 Jan 2019 23:36:54 -0700 Subject: [PATCH 05/32] Fix union face bug --- src/BSPNode.ts | 4 ++++ src/boolean.ts | 54 +++++++++++++++++++++++----------------------- three-csg.js | 58 +++++++++++++++++++++++++++----------------------- 3 files changed, 62 insertions(+), 54 deletions(-) diff --git a/src/BSPNode.ts b/src/BSPNode.ts index 62ea273..eca65bd 100644 --- a/src/BSPNode.ts +++ b/src/BSPNode.ts @@ -5,6 +5,10 @@ import {Face3, Geometry, Vector3} from 'three'; const MINIMUM_RELATION = 0.5; // 0 -> 1 const MINIMUM_RELATION_SCALE = 5; // should always be >2 +/** + * Algorithm adapted from Binary Space Partioning Trees and Polygon Removal in Real Time 3D Rendering + * Samuel Ranta-Eskola, 2001 + */ function chooseDividingTriangle(triangles: Triangle[]): Triangle | undefined { if (isConvexSet(triangles)) return undefined; diff --git a/src/boolean.ts b/src/boolean.ts index 5680d63..b42b273 100644 --- a/src/boolean.ts +++ b/src/boolean.ts @@ -1,37 +1,37 @@ import BSPNode from './BSPNode'; export function intersect(a: BSPNode, b: BSPNode) { - a = a.clone(); - b = b.clone(); - a.invert(); - b.clipTo(a); - b.invert(); - a.clipTo(b); - b.clipTo(a); - a.invert(); - b.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.invert(); + b2.clipTo(a2); + b2.invert(); + a2.clipTo(b2); + b2.clipTo(a2); + a2.invert(); + b2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } export function union(a: BSPNode, b: BSPNode) { - a = a.clone(); - b = b.clone(); - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.clipTo(b2); + b2.clipTo(a); + b2.invert(); + b2.clipTo(a); + b2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } export function subtract(a: BSPNode, b: BSPNode) { - a = a.clone(); - b = b.clone(); - a.invert(); - b.clipTo(a); - a.clipTo(b); - b.invert(); - b.clipTo(a); - a.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.invert(); + a2.clipTo(b2); + b2.clipTo(a2); + b2.invert(); + b2.clipTo(a2); + a2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } \ No newline at end of file diff --git a/three-csg.js b/three-csg.js index d93160c..9070bb4 100644 --- a/three-csg.js +++ b/three-csg.js @@ -63,6 +63,10 @@ const MINIMUM_RELATION = 0.5; // 0 -> 1 const MINIMUM_RELATION_SCALE = 5; // should always be >2 + /** + * Algorithm adapted from Binary Space Partioning Trees and Polygon Removal in Real Time 3D Rendering + * Samuel Ranta-Eskola, 2001 + */ function chooseDividingTriangle(triangles) { if (isConvexSet(triangles)) return undefined; @@ -379,37 +383,37 @@ } function intersect(a, b) { - a = a.clone(); - b = b.clone(); - a.invert(); - b.clipTo(a); - b.invert(); - a.clipTo(b); - b.clipTo(a); - a.invert(); - b.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.invert(); + b2.clipTo(a2); + b2.invert(); + a2.clipTo(b2); + b2.clipTo(a2); + a2.invert(); + b2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } function union(a, b) { - a = a.clone(); - b = b.clone(); - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.clipTo(b2); + b2.clipTo(a); + b2.invert(); + b2.clipTo(a); + b2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } function subtract(a, b) { - a = a.clone(); - b = b.clone(); - a.invert(); - b.clipTo(a); - a.clipTo(b); - b.invert(); - b.clipTo(a); - a.invert(); - return new BSPNode(a.getTriangles().concat(b.getTriangles())); + const a2 = a.clone(); + const b2 = b.clone(); + a2.invert(); + a2.clipTo(b2); + b2.clipTo(a2); + b2.invert(); + b2.clipTo(a2); + a2.invert(); + return new BSPNode(a2.getTriangles().concat(b2.getTriangles())); } var boolean = /*#__PURE__*/Object.freeze({ From a1ee8ad57dc27fb3d411d4f2fc8ae8d3f2f605c5 Mon Sep 17 00:00:00 2001 From: Chandler Prall Date: Sat, 19 Jan 2019 10:05:53 -0700 Subject: [PATCH 06/32] optimizations & realtime example --- examples/LICENSE | 1 + examples/OrbitControls.js | 1051 ------------------------------------- examples/combination.html | 4 +- examples/intersect1.html | 4 +- examples/intersect2.html | 4 +- examples/realtime.html | 92 ++++ examples/subtract.html | 4 +- examples/union.html | 4 +- src/BSPNode.ts | 73 +-- src/boolean.ts | 9 +- three-csg.js | 68 +-- 11 files changed, 155 insertions(+), 1159 deletions(-) create mode 100644 examples/LICENSE delete mode 100644 examples/OrbitControls.js create mode 100644 examples/realtime.html diff --git a/examples/LICENSE b/examples/LICENSE new file mode 100644 index 0000000..3e446cf --- /dev/null +++ b/examples/LICENSE @@ -0,0 +1 @@ +Code in `examples/lib` directory is licensed under the Three.js MIT license https://github.com/mrdoob/three.js/blob/dev/LICENSE \ No newline at end of file diff --git a/examples/OrbitControls.js b/examples/OrbitControls.js deleted file mode 100644 index 001dc53..0000000 --- a/examples/OrbitControls.js +++ /dev/null @@ -1,1051 +0,0 @@ -/** - * @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 - */ - -// This set of controls performs orbiting, dollying (zooming), and panning. -// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). -// -// Orbit - left mouse / touch: one-finger move -// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish -// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move - -THREE.OrbitControls = function ( object, domElement ) { - - this.object = object; - - this.domElement = ( domElement !== undefined ) ? domElement : document; - - // Set to false to disable this control - this.enabled = true; - - // "target" sets the location of focus, where the object orbits around - this.target = new THREE.Vector3(); - - // How far you can dolly in and out ( PerspectiveCamera only ) - this.minDistance = 0; - this.maxDistance = Infinity; - - // How far you can zoom in and out ( OrthographicCamera only ) - this.minZoom = 0; - this.maxZoom = Infinity; - - // How far you can orbit vertically, upper and lower limits. - // Range is 0 to Math.PI radians. - this.minPolarAngle = 0; // radians - this.maxPolarAngle = Math.PI; // radians - - // How far you can orbit horizontally, upper and lower limits. - // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ]. - this.minAzimuthAngle = - Infinity; // radians - this.maxAzimuthAngle = Infinity; // radians - - // Set to true to enable damping (inertia) - // If damping is enabled, you must call controls.update() in your animation loop - this.enableDamping = false; - this.dampingFactor = 0.25; - - // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. - // Set to false to disable zooming - this.enableZoom = true; - this.zoomSpeed = 1.0; - - // Set to false to disable rotating - this.enableRotate = true; - this.rotateSpeed = 1.0; - - // Set to false to disable panning - this.enablePan = true; - this.panSpeed = 1.0; - this.screenSpacePanning = false; // if true, pan in screen-space - this.keyPanSpeed = 7.0; // pixels moved per arrow key push - - // Set to true to automatically rotate around the target - // If auto-rotate is enabled, you must call controls.update() in your animation loop - this.autoRotate = false; - this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60 - - // Set to false to disable use of the keys - this.enableKeys = true; - - // The four arrow keys - this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }; - - // Mouse buttons - this.mouseButtons = { LEFT: THREE.MOUSE.LEFT, MIDDLE: THREE.MOUSE.MIDDLE, RIGHT: THREE.MOUSE.RIGHT }; - - // for reset - this.target0 = this.target.clone(); - this.position0 = this.object.position.clone(); - this.zoom0 = this.object.zoom; - - // - // public methods - // - - this.getPolarAngle = function () { - - return spherical.phi; - - }; - - this.getAzimuthalAngle = function () { - - return spherical.theta; - - }; - - this.saveState = function () { - - scope.target0.copy( scope.target ); - scope.position0.copy( scope.object.position ); - scope.zoom0 = scope.object.zoom; - - }; - - this.reset = function () { - - scope.target.copy( scope.target0 ); - scope.object.position.copy( scope.position0 ); - scope.object.zoom = scope.zoom0; - - scope.object.updateProjectionMatrix(); - scope.dispatchEvent( changeEvent ); - - scope.update(); - - state = STATE.NONE; - - }; - - // this method is exposed, but perhaps it would be better if we can make it private... - this.update = function () { - - var offset = new THREE.Vector3(); - - // so camera.up is the orbit axis - var quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) ); - var quatInverse = quat.clone().inverse(); - - var lastPosition = new THREE.Vector3(); - var lastQuaternion = new THREE.Quaternion(); - - return function update() { - - var position = scope.object.position; - - offset.copy( position ).sub( scope.target ); - - // rotate offset to "y-axis-is-up" space - offset.applyQuaternion( quat ); - - // angle from z-axis around y-axis - spherical.setFromVector3( offset ); - - if ( scope.autoRotate && state === STATE.NONE ) { - - rotateLeft( getAutoRotationAngle() ); - - } - - spherical.theta += sphericalDelta.theta; - spherical.phi += sphericalDelta.phi; - - // restrict theta to be between desired limits - spherical.theta = Math.max( scope.minAzimuthAngle, Math.min( scope.maxAzimuthAngle, spherical.theta ) ); - - // restrict phi to be between desired limits - spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); - - spherical.makeSafe(); - - - spherical.radius *= scale; - - // restrict radius to be between desired limits - spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); - - // move target to panned location - scope.target.add( panOffset ); - - offset.setFromSpherical( spherical ); - - // rotate offset back to "camera-up-vector-is-up" space - offset.applyQuaternion( quatInverse ); - - position.copy( scope.target ).add( offset ); - - scope.object.lookAt( scope.target ); - - if ( scope.enableDamping === true ) { - - sphericalDelta.theta *= ( 1 - scope.dampingFactor ); - sphericalDelta.phi *= ( 1 - scope.dampingFactor ); - - panOffset.multiplyScalar( 1 - scope.dampingFactor ); - - } else { - - sphericalDelta.set( 0, 0, 0 ); - - panOffset.set( 0, 0, 0 ); - - } - - scale = 1; - - // update condition is: - // min(camera displacement, camera rotation in radians)^2 > EPS - // using small-angle approximation cos(x/2) = 1 - x^2 / 8 - - if ( zoomChanged || - lastPosition.distanceToSquared( scope.object.position ) > EPS || - 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { - - scope.dispatchEvent( changeEvent ); - - lastPosition.copy( scope.object.position ); - lastQuaternion.copy( scope.object.quaternion ); - zoomChanged = false; - - return true; - - } - - return false; - - }; - - }(); - - this.dispose = function () { - - scope.domElement.removeEventListener( 'contextmenu', onContextMenu, false ); - scope.domElement.removeEventListener( 'mousedown', onMouseDown, false ); - scope.domElement.removeEventListener( 'wheel', onMouseWheel, false ); - - scope.domElement.removeEventListener( 'touchstart', onTouchStart, false ); - scope.domElement.removeEventListener( 'touchend', onTouchEnd, false ); - scope.domElement.removeEventListener( 'touchmove', onTouchMove, false ); - - document.removeEventListener( 'mousemove', onMouseMove, false ); - document.removeEventListener( 'mouseup', onMouseUp, false ); - - window.removeEventListener( 'keydown', onKeyDown, false ); - - //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? - - }; - - // - // internals - // - - var scope = this; - - var changeEvent = { type: 'change' }; - var startEvent = { type: 'start' }; - var endEvent = { type: 'end' }; - - var STATE = { NONE: - 1, ROTATE: 0, DOLLY: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_DOLLY_PAN: 4 }; - - var state = STATE.NONE; - - var EPS = 0.000001; - - // current position in spherical coordinates - var spherical = new THREE.Spherical(); - var sphericalDelta = new THREE.Spherical(); - - var scale = 1; - var panOffset = new THREE.Vector3(); - var zoomChanged = false; - - 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(); - - function getAutoRotationAngle() { - - return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; - - } - - function getZoomScale() { - - return Math.pow( 0.95, scope.zoomSpeed ); - - } - - function rotateLeft( angle ) { - - sphericalDelta.theta -= angle; - - } - - function rotateUp( angle ) { - - sphericalDelta.phi -= angle; - - } - - var panLeft = function () { - - var v = new THREE.Vector3(); - - return function panLeft( distance, objectMatrix ) { - - v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix - v.multiplyScalar( - distance ); - - panOffset.add( v ); - - }; - - }(); - - var panUp = function () { - - var v = new THREE.Vector3(); - - return function panUp( distance, objectMatrix ) { - - if ( scope.screenSpacePanning === true ) { - - v.setFromMatrixColumn( objectMatrix, 1 ); - - } else { - - v.setFromMatrixColumn( objectMatrix, 0 ); - v.crossVectors( scope.object.up, v ); - - } - - v.multiplyScalar( distance ); - - panOffset.add( v ); - - }; - - }(); - - // deltaX and deltaY are in pixels; right and down are positive - var pan = function () { - - var offset = new THREE.Vector3(); - - return function pan( deltaX, deltaY ) { - - var element = scope.domElement === document ? scope.domElement.body : scope.domElement; - - if ( scope.object.isPerspectiveCamera ) { - - // perspective - var position = scope.object.position; - offset.copy( position ).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 use only clientHeight here so aspect ratio does not distort speed - panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); - panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); - - } else if ( scope.object.isOrthographicCamera ) { - - // orthographic - panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); - panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); - - } else { - - // camera neither orthographic nor perspective - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); - scope.enablePan = false; - - } - - }; - - }(); - - function dollyIn( dollyScale ) { - - if ( scope.object.isPerspectiveCamera ) { - - scale /= dollyScale; - - } else if ( scope.object.isOrthographicCamera ) { - - scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); - scope.object.updateProjectionMatrix(); - zoomChanged = true; - - } else { - - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); - scope.enableZoom = false; - - } - - } - - function dollyOut( dollyScale ) { - - if ( scope.object.isPerspectiveCamera ) { - - scale *= dollyScale; - - } else if ( scope.object.isOrthographicCamera ) { - - scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); - scope.object.updateProjectionMatrix(); - zoomChanged = true; - - } else { - - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); - scope.enableZoom = false; - - } - - } - - // - // event callbacks - update the object state - // - - function handleMouseDownRotate( event ) { - - //console.log( 'handleMouseDownRotate' ); - - rotateStart.set( event.clientX, event.clientY ); - - } - - function handleMouseDownDolly( event ) { - - //console.log( 'handleMouseDownDolly' ); - - dollyStart.set( event.clientX, event.clientY ); - - } - - function handleMouseDownPan( event ) { - - //console.log( 'handleMouseDownPan' ); - - panStart.set( event.clientX, event.clientY ); - - } - - function handleMouseMoveRotate( event ) { - - //console.log( 'handleMouseMoveRotate' ); - - rotateEnd.set( event.clientX, event.clientY ); - - rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); - - var element = scope.domElement === document ? scope.domElement.body : scope.domElement; - - rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height - - rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); - - rotateStart.copy( rotateEnd ); - - scope.update(); - - } - - function handleMouseMoveDolly( event ) { - - //console.log( 'handleMouseMoveDolly' ); - - dollyEnd.set( event.clientX, event.clientY ); - - dollyDelta.subVectors( dollyEnd, dollyStart ); - - if ( dollyDelta.y > 0 ) { - - dollyIn( getZoomScale() ); - - } else if ( dollyDelta.y < 0 ) { - - dollyOut( getZoomScale() ); - - } - - dollyStart.copy( dollyEnd ); - - scope.update(); - - } - - function handleMouseMovePan( event ) { - - //console.log( 'handleMouseMovePan' ); - - panEnd.set( event.clientX, event.clientY ); - - panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); - - pan( panDelta.x, panDelta.y ); - - panStart.copy( panEnd ); - - scope.update(); - - } - - function handleMouseUp( event ) { - - // console.log( 'handleMouseUp' ); - - } - - function handleMouseWheel( event ) { - - // console.log( 'handleMouseWheel' ); - - if ( event.deltaY < 0 ) { - - dollyOut( getZoomScale() ); - - } else if ( event.deltaY > 0 ) { - - dollyIn( getZoomScale() ); - - } - - scope.update(); - - } - - function handleKeyDown( event ) { - - //console.log( 'handleKeyDown' ); - - switch ( event.keyCode ) { - - case scope.keys.UP: - pan( 0, scope.keyPanSpeed ); - scope.update(); - break; - - case scope.keys.BOTTOM: - pan( 0, - scope.keyPanSpeed ); - scope.update(); - break; - - case scope.keys.LEFT: - pan( scope.keyPanSpeed, 0 ); - scope.update(); - break; - - case scope.keys.RIGHT: - pan( - scope.keyPanSpeed, 0 ); - scope.update(); - break; - - } - - } - - function handleTouchStartRotate( event ) { - - //console.log( 'handleTouchStartRotate' ); - - rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - - } - - function handleTouchStartDollyPan( event ) { - - //console.log( 'handleTouchStartDollyPan' ); - - if ( scope.enableZoom ) { - - 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 ); - - } - - if ( scope.enablePan ) { - - var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); - var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - - panStart.set( x, y ); - - } - - } - - function handleTouchMoveRotate( event ) { - - //console.log( 'handleTouchMoveRotate' ); - - rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - - rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); - - var element = scope.domElement === document ? scope.domElement.body : scope.domElement; - - rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height - - rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); - - rotateStart.copy( rotateEnd ); - - scope.update(); - - } - - function handleTouchMoveDollyPan( event ) { - - //console.log( 'handleTouchMoveDollyPan' ); - - if ( scope.enableZoom ) { - - 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.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) ); - - dollyIn( dollyDelta.y ); - - dollyStart.copy( dollyEnd ); - - } - - if ( scope.enablePan ) { - - var x = 0.5 * ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ); - var y = 0.5 * ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ); - - panEnd.set( x, y ); - - panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); - - pan( panDelta.x, panDelta.y ); - - panStart.copy( panEnd ); - - } - - scope.update(); - - } - - function handleTouchEnd( event ) { - - //console.log( 'handleTouchEnd' ); - - } - - // - // event handlers - FSM: listen for events and reset state - // - - function onMouseDown( event ) { - - if ( scope.enabled === false ) return; - - event.preventDefault(); - - switch ( event.button ) { - - case scope.mouseButtons.LEFT: - - if ( event.ctrlKey || event.metaKey || event.shiftKey ) { - - if ( scope.enablePan === false ) return; - - handleMouseDownPan( event ); - - state = STATE.PAN; - - } else { - - if ( scope.enableRotate === false ) return; - - handleMouseDownRotate( event ); - - state = STATE.ROTATE; - - } - - break; - - case scope.mouseButtons.MIDDLE: - - if ( scope.enableZoom === false ) return; - - handleMouseDownDolly( event ); - - state = STATE.DOLLY; - - break; - - case scope.mouseButtons.RIGHT: - - if ( scope.enablePan === false ) return; - - handleMouseDownPan( event ); - - state = STATE.PAN; - - break; - - } - - if ( state !== STATE.NONE ) { - - document.addEventListener( 'mousemove', onMouseMove, false ); - document.addEventListener( 'mouseup', onMouseUp, false ); - - scope.dispatchEvent( startEvent ); - - } - - } - - function onMouseMove( event ) { - - if ( scope.enabled === false ) return; - - event.preventDefault(); - - switch ( state ) { - - case STATE.ROTATE: - - if ( scope.enableRotate === false ) return; - - handleMouseMoveRotate( event ); - - break; - - case STATE.DOLLY: - - if ( scope.enableZoom === false ) return; - - handleMouseMoveDolly( event ); - - break; - - case STATE.PAN: - - if ( scope.enablePan === false ) return; - - handleMouseMovePan( event ); - - break; - - } - - } - - function onMouseUp( event ) { - - if ( scope.enabled === false ) return; - - handleMouseUp( event ); - - document.removeEventListener( 'mousemove', onMouseMove, false ); - document.removeEventListener( 'mouseup', onMouseUp, false ); - - scope.dispatchEvent( endEvent ); - - state = STATE.NONE; - - } - - function onMouseWheel( event ) { - - if ( scope.enabled === false || scope.enableZoom === false || ( state !== STATE.NONE && state !== STATE.ROTATE ) ) return; - - event.preventDefault(); - event.stopPropagation(); - - scope.dispatchEvent( startEvent ); - - handleMouseWheel( event ); - - scope.dispatchEvent( endEvent ); - - } - - function onKeyDown( event ) { - - if ( scope.enabled === false || scope.enableKeys === false || scope.enablePan === false ) return; - - handleKeyDown( event ); - - } - - function onTouchStart( event ) { - - if ( scope.enabled === false ) return; - - event.preventDefault(); - - switch ( event.touches.length ) { - - case 1: // one-fingered touch: rotate - - if ( scope.enableRotate === false ) return; - - handleTouchStartRotate( event ); - - state = STATE.TOUCH_ROTATE; - - break; - - case 2: // two-fingered touch: dolly-pan - - if ( scope.enableZoom === false && scope.enablePan === false ) return; - - handleTouchStartDollyPan( event ); - - state = STATE.TOUCH_DOLLY_PAN; - - break; - - default: - - state = STATE.NONE; - - } - - if ( state !== STATE.NONE ) { - - scope.dispatchEvent( startEvent ); - - } - - } - - function onTouchMove( event ) { - - if ( scope.enabled === false ) return; - - event.preventDefault(); - event.stopPropagation(); - - switch ( event.touches.length ) { - - case 1: // one-fingered touch: rotate - - if ( scope.enableRotate === false ) return; - if ( state !== STATE.TOUCH_ROTATE ) return; // is this needed? - - handleTouchMoveRotate( event ); - - break; - - case 2: // two-fingered touch: dolly-pan - - if ( scope.enableZoom === false && scope.enablePan === false ) return; - if ( state !== STATE.TOUCH_DOLLY_PAN ) return; // is this needed? - - handleTouchMoveDollyPan( event ); - - break; - - default: - - state = STATE.NONE; - - } - - } - - function onTouchEnd( event ) { - - if ( scope.enabled === false ) return; - - handleTouchEnd( event ); - - scope.dispatchEvent( endEvent ); - - state = STATE.NONE; - - } - - function onContextMenu( event ) { - - if ( scope.enabled === false ) return; - - event.preventDefault(); - - } - - // - - scope.domElement.addEventListener( 'contextmenu', onContextMenu, false ); - - scope.domElement.addEventListener( 'mousedown', onMouseDown, false ); - scope.domElement.addEventListener( 'wheel', onMouseWheel, false ); - - scope.domElement.addEventListener( 'touchstart', onTouchStart, false ); - scope.domElement.addEventListener( 'touchend', onTouchEnd, false ); - scope.domElement.addEventListener( 'touchmove', onTouchMove, false ); - - window.addEventListener( 'keydown', onKeyDown, false ); - - // force an update at start - - this.update(); - -}; - -THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); -THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; - -Object.defineProperties( THREE.OrbitControls.prototype, { - - center: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .center has been renamed to .target' ); - return this.target; - - } - - }, - - // backward compatibility - - noZoom: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); - return ! this.enableZoom; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); - this.enableZoom = ! value; - - } - - }, - - noRotate: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); - return ! this.enableRotate; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); - this.enableRotate = ! value; - - } - - }, - - noPan: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); - return ! this.enablePan; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); - this.enablePan = ! value; - - } - - }, - - noKeys: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); - return ! this.enableKeys; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); - this.enableKeys = ! value; - - } - - }, - - staticMoving: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); - return ! this.enableDamping; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); - this.enableDamping = ! value; - - } - - }, - - dynamicDampingFactor: { - - get: function () { - - console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); - return this.dampingFactor; - - }, - - set: function ( value ) { - - console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); - this.dampingFactor = value; - - } - - } - -} ); diff --git a/examples/combination.html b/examples/combination.html index 0d5fb73..8bc3b4c 100644 --- a/examples/combination.html +++ b/examples/combination.html @@ -14,7 +14,7 @@ - + - + - + + + + + + + + + diff --git a/examples/subtract.html b/examples/subtract.html index 17f6d18..ab84b95 100644 --- a/examples/subtract.html +++ b/examples/subtract.html @@ -14,7 +14,7 @@ - + - + - - + + + const width = window.innerWidth; + const halfWidth = width / 2; + const height = window.innerHeight; + + const renderer = new THREE.WebGLRenderer({antialias: true}); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(width, height); + renderer.setScissorTest(true); + document.body.appendChild(renderer.domElement); + + const scene = new THREE.Scene(); + + const wireMaterial = new THREE.MeshBasicMaterial({wireframe: true}); + const normalMaterial = new THREE.MeshNormalMaterial(); + + const camera = new THREE.PerspectiveCamera(15, window.innerWidth / window.innerHeight, 1, 100); + camera.position.set(5, 5, -15); + camera.lookAt(scene.position); + const controls = new THREE.OrbitControls(camera); + + const sphereGeometry = new THREE.SphereGeometry(1, 8, 8); + + const sphereBig = new THREE.Mesh(sphereGeometry); + const sphereSmall = new THREE.Mesh(sphereGeometry); + sphereSmall.scale.set(0.5, 0.5, 0.5); + + scene.add(sphereBig); + scene.add(sphereSmall); + + const spherePathTop = 1; + const spherePathBottom = -1; + + // https://gist.github.com/gre/1650294 + function easeInOutQuad(t) { return t<.5 ? 2*t*t : -1+(4-2*t)*t; } + + const sphereLoopTime = 2000; + const halfLoopTime = sphereLoopTime / 2; + threecsg.cache.disable(); + function animate(time) { + if (time !== undefined) { + let loopTime = time % sphereLoopTime; + if (loopTime > halfLoopTime) loopTime = sphereLoopTime - loopTime; + + const normalizedTime = loopTime / halfLoopTime; + sphereSmall.position.y = easeInOutQuad(normalizedTime) * (spherePathTop - spherePathBottom) + spherePathBottom; + } + + const csgresult = threecsg[operation](sphereSmall, sphereBig); + + requestAnimationFrame(animate); + controls.update(); + render(csgresult); + } + function render(csgresult) { + scene.add(csgresult); + + scene.add(sphereBig); + scene.add(sphereSmall); + renderer.setScissor(0, 0, halfWidth, height); + scene.overrideMaterial = wireMaterial; + renderer.render(scene, camera); + scene.remove(sphereBig); + scene.remove(sphereSmall); + + // scene.add(csgresult); + renderer.setScissor(halfWidth, 0, halfWidth, height); + scene.overrideMaterial = normalMaterial; + renderer.render(scene, camera); + scene.remove(csgresult); + } + + animate(); + +

diff --git a/examples/subtract.html b/examples/subtract.html index ab84b95..398c749 100644 --- a/examples/subtract.html +++ b/examples/subtract.html @@ -5,6 +5,7 @@