├── .gitignore ├── LICENSE ├── README.md ├── demo ├── demo.js └── index.html ├── dist └── tooloud.min.js ├── examples ├── Fractal │ ├── README.md │ └── img │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png ├── Perlin │ ├── README.md │ └── img │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png ├── Simplex │ ├── README.md │ └── img │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png ├── Worley │ ├── README.md │ └── img │ │ ├── e1.png │ │ ├── e2.png │ │ ├── e3.png │ │ ├── e4.png │ │ ├── m1.png │ │ ├── m2.png │ │ ├── m3.png │ │ └── m4.png └── _scaling │ ├── 1.png │ ├── 2.png │ └── 3.png ├── index.js ├── package-lock.json ├── package.json ├── src ├── Fractal.js ├── Perlin.js ├── Simplex.js ├── Worley.js └── index.js └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 18 | .grunt 19 | 20 | # node-waf configuration 21 | .lock-wscript 22 | 23 | # Compiled binary addons (http://nodejs.org/api/addons.html) 24 | build/Release 25 | 26 | # Dependency directory 27 | node_modules 28 | 29 | # Optional npm cache directory 30 | .npm 31 | 32 | # Optional REPL history 33 | .node_repl_history 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jack Union 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tooloud 2 | 3 | Collection of noise functions written in JavaScript 4 | 5 | Simple [jsFiddle demo](https://jsfiddle.net/jackunion/r37nba0L/). 6 | 7 | ### Contents 8 | 9 | - [tooloud](https://github.com/jackunion/tooloud) 10 | - [Installation](#installation) 11 | - [Available noise functions](#available-noise-functions) 12 | - [Using tooloud with canvas](#using-tooloud-with-canvas) 13 | - [Note on using smaller canvas](#note-on-using-smaller-canvas) 14 | - [Note on using tooloud.Worley](#note-on-using-tooloudworley) 15 | - [Note on using tooloud.Fractal](#note-on-using-tooloudfractal) 16 | - [Examples](#examples) 17 | - [Noise](#noise) 18 | - [General](#general) 19 | - [Perlin noise](#perlin-noise) 20 | - [Simplex noise](#simplex-noise) 21 | - [Worley noise](#worley-noise) 22 | - [Fractal noise](#fractal-noise) 23 | 24 | ### Installation 25 | 26 | `npm install tooloud` 27 | 28 | ```javascript 29 | import tooloud from 'tooloud'; 30 | 31 | // Optionally destructure 32 | // const { Perlin, Simplex } = tooloud; 33 | ``` 34 | 35 | or 36 | 37 | `git clone https://github.com/jackunion/tooloud` 38 | 39 | `` 40 | 41 | ### Available noise functions 42 | 43 | ```javascript 44 | tooloud.Perlin.noise(x, y, z); 45 | tooloud.Simplex.noise(x, y, z); 46 | tooloud.Worley.Euclidean(x, y, z); 47 | tooloud.Worley.Manhattan(x, y, z); 48 | tooloud.Fractal(x, y, z, octaves, noiseCallback); 49 | ``` 50 | 51 | Each ```tooloud``` object exposes a function that can be used to seed the noise: 52 | 53 | ```javascript 54 | tooloud.Perlin.setSeed(seed); 55 | tooloud.Simplex.setSeed(seed); 56 | tooloud.Worley.setSeed(seed); 57 | ``` 58 | 59 | If seed wasn't set, all three noise functions will be supplied with seed (defaults to 3000) 60 | 61 | Calling ```setSeed()``` without an argument will reset the seed. 62 | 63 | **Important:** seeding the noise can increase the execution time. 64 | 65 | Each ```tooloud``` noise object exposes a function that can be used to create another instance of that object. You can pass an optional seed value as an argument: 66 | 67 | ```javascript 68 | const anotherPerlin = tooloud.Perlin.create(seed); 69 | const anotherSimplex = tooloud.Simplex.create(seed); 70 | const anotherWorley = tooloud.Worley.create(seed); 71 | ``` 72 | 73 | Each newly created instance exposes two functions: ```instance.noise(x, y, z)``` and ```instance.setSeed(seed)``` (```tooloud.Worley``` instances expose three functions: ```instance.Euclidean(x, y, z)```, ```instance.Manhattan(x, y, z)``` and ```instance.setSeed(seed)```). 74 | 75 | **Important:** working with multiple instances can increase the execution time. 76 | 77 | ### Using tooloud with canvas 78 | 79 | ```javascript 80 | import tooloud from 'tooloud'; // Omit if tooloud was included via the script tag 81 | 82 | const canvas = document.getElementById('canvas'); 83 | const ctx = canvas.getContext('2d'); 84 | const imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight); 85 | const canvasWidth = 640; 86 | const canvasHeight = 480; 87 | 88 | canvas.width = canvasWidth; 89 | canvas.height = canvasHeight; 90 | 91 | // Seed your noise 92 | // This is optional 93 | tooloud.Perlin.setSeed(Math.floor(Math.random() * 10000)); 94 | 95 | let data = imageData.data; 96 | for (let i = 0; i < canvasWidth; i++) { 97 | for (let j = 0; j < canvasHeight; j++) { 98 | const index = (i + j * canvasWidth) * 4; 99 | 100 | /* 101 | let x, y, z; 102 | 103 | Normalize: 104 | x = i / canvasWidth; 105 | y = j / canvasHeight; 106 | z = 0; 107 | // Fixing one of the coordinates turns 3D noise into 2D noise 108 | // Fixing two of the coordinates turns 3D noise into 1D noise 109 | // Fixed coordinate will serve as a seed, i.e. you'll get different results for different values 110 | 111 | // Scale: 112 | const scale = 10; 113 | x = scale * x; 114 | y = scale * y; 115 | */ 116 | 117 | // In one go: 118 | const x = 15 * (i / canvasWidth); 119 | const y = 5 * (j / canvasHeight); // You can use different scale values for each coordinate 120 | const z = 0; 121 | 122 | const n = tooloud.Perlin.noise(x, y, z); // Calculate noise value at x, y, z 123 | const r = Math.floor(255 * n); 124 | const g = Math.floor(255 * n); 125 | const b = Math.floor(255 * n); 126 | 127 | data[index + 0] = r; // R 128 | data[index + 1] = g; // G 129 | data[index + 2] = b; // B 130 | data[index + 3] = 255; // A 131 | } 132 | } 133 | 134 | ctx.putImageData(imageData, 0, 0); 135 | ``` 136 | 137 | The naive way of using a noise function would be to set your RGB values using ```context.fillStyle``` and then draw a rectangle at the pixel's coordiantes: 138 | 139 | ```javascript 140 | // ...Loop 141 | context.fillStyle = 'rgba(' + [r,g,b,255].join(',') + ')'; 142 | contex.fillRect(i, j, 1, 1); 143 | ``` 144 | 145 | Despite the fact that you need less code to get the same result, this approach is *incredibly* slower than one involving ```ImageData```. 146 | 147 | In case you would like to know more, you can read about [pixel manipulation with canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas) on Mozilla Developer Network. 148 | 149 | ##### Note on using smaller canvas 150 | 151 | If you need to rerun the same noise function with different input values, consider scaling your canvas down for a faster performance until the desired output is found. 152 | 153 | ![](/examples/_scaling/3.png) ![](/examples/_scaling/2.png) ![](/examples/_scaling/1.png) 154 | 155 | ##### Note on using tooloud.Worley 156 | 157 | Instead of returning a certain value, ```tooloud.Worley``` returns an array containing distances to three closest feature points. 158 | 159 | To use ```tooloud.Worley``` with canvas you just need to slightly change the way you calculate your RGB values: 160 | 161 | ```javascript 162 | const n = tooloud.Worley.Euclidean(x, y, z); 163 | 164 | // n is an array containing three numbers 165 | // Using indexes from 0 to 2 you can access one of them 166 | 167 | data[index + 0] = Math.floor(255 * n[0]); // R 168 | data[index + 1] = Math.floor(255 * n[0]); // G 169 | data[index + 2] = Math.floor(255 * n[0]); // B 170 | data[index + 3] = 255; // A 171 | ``` 172 | 173 | The idea behind this decision is simple: you can generate different textures by combining those distances (adding, multiplying or using the n-th closest feature point): 174 | 175 | ![](/examples/Worley/img/e1.png) ![](/examples/Worley/img/e2.png) ![](/examples/Worley/img/e3.png) ![](/examples/Worley/img/e4.png) 176 | 177 | See [Worley noise examples](/examples/Worley) for code and texture samples. 178 | 179 | ##### Note on using tooloud.Fractal 180 | 181 | ```tooloud.Fractal.noise``` accepts five arguments: 182 | 183 | - x, y and z coordinates 184 | - number of octaves 185 | - a noise function you want to apply fractal noise to 186 | 187 | You can simply pass the desired noise function to your fractal noise like this: 188 | 189 | ```javascript 190 | const n = tooloud.Fractal.noise(x, y, z, octaves, tooloud.Perlin.noise); 191 | ``` 192 | 193 | The better way to use it would be to define a separate function outside the loop and use it as an argument for ```tooloud.Fractal.noise``` later on. Inside that function you would call the desired noise function, process the output the way you want and return the result: 194 | 195 | ```javascript 196 | // Optionally seed the noise 197 | 198 | // tooloud.Perlin.setSeed(1234); 199 | 200 | // tooloud.Simplex.setSeed(12); 201 | 202 | tooloud.Worley.setSeed(123); 203 | 204 | const fractalCallback = (x, y, z) => { 205 | // You can use different noise functions 206 | 207 | // return tooloud.Perlin.noise(x, y, z); 208 | 209 | // return (1 + tooloud.Simplex.noise(x, y, z)) / 2; 210 | 211 | const n = tooloud.Worley.Euclidean(x, y, z); 212 | return n[1] - n[0]; 213 | } 214 | 215 | // ...Loop 216 | const n = tooloud.Fractal.noise(x, y, z, octaves, fractalCallback); 217 | data[index + 0] = Math.floor(255 * n); // R 218 | data[index + 1] = Math.floor(255 * n); // G 219 | data[index + 2] = Math.floor(255 * n); // B 220 | data[index + 3] = 255; // A 221 | ``` 222 | 223 | **Important:** ```tooloud.Fractal.noise``` adds rescaled versions of the same noise onto itself, which may create some artifacts radiating from the origin. In case you find yourself unsatisfied with the output, you can always use available ```tooloud``` noise functions to create your own version of fractal noise. 224 | 225 | ### Examples 226 | 227 | - [Perlin noise](/examples/Perlin) 228 | - [Simplex noise](/examples/Simplex) 229 | - [Worley noise](/examples/Worley) 230 | - [Fractal noise](/examples/Fractal) 231 | 232 | # Noise 233 | 234 | ## General 235 | 236 | - [Gradient noise](https://en.wikipedia.org/wiki/Gradient_noise) on Wikipedia 237 | - [Value noise](https://en.wikipedia.org/wiki/Value_noise) on Wikipedia 238 | - ["Introduction to noise functions"](http://www.redblobgames.com/articles/noise/introduction.html) on RedBlobGames 239 | - ["Generating Noise for applications"](http://blogs.msdn.com/b/hemipteran/archive/2014/03/26/generating-noise-for-applications.aspx) - an article on four different types of noise generation algorithms 240 | 241 | ## Perlin noise 242 | 243 | - [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) on Wikipedia 244 | - Original Java implementation of [Improved Perlin noise](http://mrl.nyu.edu/~perlin/noise/) 245 | - ["Perlin Noise in JavaScript"](http://asserttrue.blogspot.fi/2011/12/perlin-noise-in-javascript_31.html) - a brief introduction to Perlin noise 246 | - ["Understanding Perlin Noise"](http://flafla2.github.io/2014/08/09/perlinnoise.html) - an in depth explanation of Perlin noise 247 | - ["Procedural Textures in HTML5 Canvas"](http://asserttrue.blogspot.fi/2012/01/procedural-textures-in-html5-canvas.html) - a blog post on Perlin noise usage (with code and texture samples) 248 | 249 | ## Simplex noise 250 | 251 | - [Simplex noise](https://en.wikipedia.org/wiki/Simplex_noise) on Wikipedia 252 | - Original Java implementation of [Simplex noise](http://www.csee.umbc.edu/~olano/s2002c36/ch02.pdf) (Appendix B) 253 | - ["Simplex noise demystified"](http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf) by Stefan Gustavson 254 | - [A blog post](https://briansharpe.wordpress.com/2012/01/13/simplex-noise/) on optimized GPU noise functions and utilities (with a discussion in comments) 255 | 256 | ## Worley noise 257 | 258 | - [Worley noise](https://en.wikipedia.org/wiki/Worley_noise) on Wikipedia 259 | - An in depth [cell noise tutorial](https://aftbit.com/cell-noise-2/) 260 | - Steven Worley's article on cell noise: [A Cellular Texture Basis Function](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.412&rep=rep1&type=pdf) 261 | - Carl-Johan Rosén's paper on cell noise: [Cell Noise and Processing](http://www.carljohanrosen.com/share/CellNoiseAndProcessing.pdf) 262 | 263 | ## Fractal noise 264 | 265 | - ["Turbulence in HTML5 Canvas"](http://asserttrue.blogspot.fi/2012/01/turbulence-in-html5-canvas.html) 266 | -------------------------------------------------------------------------------- /demo/demo.js: -------------------------------------------------------------------------------- 1 | const canvas = document.getElementById('canvas'); 2 | const ctx = canvas.getContext('2d'); 3 | const run = document.querySelector('#run'); 4 | const clear = document.querySelector('#clear'); 5 | const canvasWidth = 300; 6 | const canvasHeight = 300; 7 | 8 | canvas.width = canvasWidth; 9 | canvas.height = canvasHeight; 10 | 11 | const render = () => { 12 | const imageData = ctx.getImageData(0, 0, canvasWidth, canvasHeight); 13 | let data = imageData.data; 14 | 15 | for (let i = 0; i < canvasWidth; i++) { 16 | for (let j = 0; j < canvasHeight; j++) { 17 | const index = (i + j * canvasWidth) * 4; 18 | const x = 15 * (i / canvasWidth); 19 | const y = 15 * (j / canvasHeight); 20 | const z = 0.4; 21 | 22 | const n = Math.floor(255 * (1 + tooloud.Perlin.noise(x, y, z)) / 2); 23 | data[index + 0] = n; 24 | data[index + 1] = n; 25 | data[index + 2] = n; 26 | data[index + 3] = 255; 27 | } 28 | } 29 | ctx.putImageData(imageData, 0, 0); 30 | } 31 | 32 | clear.addEventListener('click', function(e) { 33 | ctx.clearRect(0, 0, canvasWidth, canvasHeight); 34 | }); 35 | 36 | run.addEventListener('click', render); 37 | 38 | render(); 39 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /dist/tooloud.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.tooloud=t():e.tooloud=t()}(window,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);const n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],s=[...n,...n];class i{constructor(e=3e3){this._seedValue=i.xorshift(e),this.noise=this.noise.bind(this),this.setSeed=this.setSeed.bind(this)}static xorshift(e){let t=e^e>>12;return t^=t<<25,2*(t^=t>>27)}static lerp(e,t,r){return t+e*(r-t)}static fade(e){return e*e*e*(e*(6*e-15)+10)}static grad(e,t,r,n){var s=15&e,i=s<8?t:r,o=s<4?r:12===s||14===s?t:n;return(0==(1&s)?i:-i)+(0==(2&s)?o:-o)}setSeed(e=3e3){this._seedValue=i.xorshift(e)}noise(e,t,r){let n=e+this._seedValue,o=t+this._seedValue,a=r+this._seedValue;const u=255&Math.floor(n),l=255&Math.floor(o),c=255&Math.floor(a);n-=Math.floor(n),o-=Math.floor(o),a-=Math.floor(a);const f=i.fade(n),d=i.fade(o),h=i.fade(a),b=s[u]+l,p=s[b]+c,x=s[b+1]+c,y=s[u+1]+l,M=s[y]+c,S=s[y+1]+c;return i.lerp(h,i.lerp(d,i.lerp(f,i.grad(s[p],n,o,a),i.grad(s[M],n-1,o,a)),i.lerp(f,i.grad(s[x],n,o-1,a),i.grad(s[S],n-1,o-1,a))),i.lerp(d,i.lerp(f,i.grad(s[p+1],n,o,a-1),i.grad(s[M+1],n-1,o,a-1)),i.lerp(f,i.grad(s[x+1],n,o-1,a-1),i.grad(s[S+1],n-1,o-1,a-1))))}}var o=i;let a,u,l,c,f,d,h=[0,0,0],b=[21,56,50,44,13,19,7,42];class p{constructor(e=3e3){this._seedValue=p.xorshift(e),this.setSeed=this.setSeed.bind(this),this.noise=this.noise.bind(this)}static xorshift(e){let t=e^e>>12;return t^=t<<25,2*(t^=t>>27)}static b2func(e,t){return e>>t&1}static b4func(e,t,r,n){return b[p.b2func(e,n)<<2|p.b2func(t,n)<<1|p.b2func(r,n)]}static K(e){var t=(h[0]+h[1]+h[2])/6,r=c-h[0]+t,n=f-h[1]+t,s=d-h[2]+t,i=.6-r*r-n*n-s*s,o=p.shuffle(a+h[0],u+h[1],l+h[2]);if(h[e]++,i<0)return 0;var b=o>>5&1,x=o>>4&1,y=o>>3&1,M=3&o,S=1===M?r:2===M?n:s,_=1===M?n:2===M?s:r,g=1===M?s:2===M?r:n;return S=b===y?-S:S,_=b===x?-_:_,g=b!==(x^y)?-g:g,8*(i*=i)*i*(S+(0===M?_+g:0===(o>>2&1)?_:g))}static shuffle(e,t,r){return p.b4func(e,t,r,0)+p.b4func(t,r,e,1)+p.b4func(r,e,t,2)+p.b4func(e,t,r,3)+p.b4func(t,r,e,4)+p.b4func(r,e,t,5)+p.b4func(e,t,r,6)+p.b4func(t,r,e,7)}setSeed(e=3e3){this._seedValue=p.xorshift(e)}noise(e,t,r){let n=e+this._seedValue,s=t+this._seedValue,i=r+this._seedValue,o=(n+s+i)/3;a=Math.floor(n+o),u=Math.floor(s+o),l=Math.floor(i+o),c=n-a+(o=(a+u+l)/6),f=s-u+o,d=i-l+o,h[0]=h[1]=h[2]=0;const b=c>=d?c>=f?0:1:f>=d?1:2,x=c>12;return t^=t<<25,2*(t^=t>>27)}static hash(e,t,r){return 16777619*(16777619*(16777619*(2166136261^e)^t)^r)&4294967295}static d(e,t){return[e.x-t.x,e.y-t.y,e.z-t.z]}static EuclideanDistance(e,t){return y.d(e,t).reduce((e,t)=>e+t*t,0)}static ManhattanDistance(e,t){return y.d(e,t).reduce((e,t)=>e+Math.abs(t),0)}static probLookup(e){return(e&=4294967295)<393325350?1:e<1022645910?2:e<1861739990?3:e<2700834071?4:e<3372109335?5:e<3819626178?6:e<4075350088?7:e<4203212043?8:9}static insert(e,t){let r;for(let n=e.length-1;n>=0&&!(t>e[n]);n--)r=e[n],e[n]=t,n+1e<0?0:e>1?1:e)}setSeed(e=3e3){this._seedValue=e}Euclidean(e,t,r){return this.noise({x:e,y:t,z:r},y.EuclideanDistance)}Manhattan(e,t,r){return this.noise({x:e,y:t,z:r},y.ManhattanDistance)}}var M=y;var S=class{static noise(e,t,r,n,s){let i=0,o=1,a=0;for(let u=0;unew o(e)},Simplex:{noise:g.noise,setSeed:g.setSeed,create:e=>new x(e)},Worley:{Euclidean:v.Euclidean,Manhattan:v.Manhattan,setSeed:v.setSeed,create:e=>new M(e)},Fractal:{noise:S.noise}};t.default=V}]).default}); -------------------------------------------------------------------------------- /examples/Fractal/README.md: -------------------------------------------------------------------------------- 1 | # Fractal noise 2 | 3 | Simple example of ```tooloud.Fractal.noise``` applied to ```tooloud.Perlin.noise``` (4 octaves). 4 | 5 | ![](/examples/Fractal/img/1.png) 6 | 7 | ```javascript 8 | const n = tooloud.Fractal.noise(x, y, z, 4, tooloud.Perlin.noise); 9 | data[index + 0] = Math.floor(255 * n); 10 | data[index + 1] = Math.floor(255 * n); 11 | data[index + 2] = Math.floor(255 * n); 12 | data[index + 3] = 255; 13 | ``` 14 | 15 | --- 16 | 17 | Slightly more complex example using a callback function with ```tooloud.Perlin.noise``` (2 octaves). 18 | 19 | ![](/examples/Fractal/img/2.png) 20 | 21 | ```javascript 22 | // define a callback function 23 | const fractalCallback = (x, y, z) => { 24 | return (1 + tooloud.Perlin.noise(x, y, z)) / 2; 25 | } 26 | 27 | // loop 28 | const n = tooloud.Fractal.noise(x, y, z, 2, fractalCallback); 29 | data[index + 0] = Math.floor(255 * n); 30 | data[index + 1] = Math.floor(255 * n); 31 | data[index + 2] = Math.floor(255 * n); 32 | data[index + 3] = 255; 33 | ``` 34 | 35 | --- 36 | 37 | Same as above but with 4 octaves. 38 | 39 | ![](/examples/Fractal/img/3.png) 40 | 41 | ```javascript 42 | // define a callback function 43 | const fractalCallback = (x, y, z) => { 44 | return (1 + tooloud.Perlin.noise(x, y, z)) / 2; 45 | } 46 | 47 | // loop 48 | const n = tooloud.Fractal.noise(x, y, z, 4, fractalCallback); 49 | data[index + 0] = Math.floor(255 * n); 50 | data[index + 1] = Math.floor(255 * n); 51 | data[index + 2] = Math.floor(255 * n); 52 | data[index + 3] = 255; 53 | ``` 54 | 55 | --- 56 | 57 | ```tooloud.Fractal.noise``` applied to ```tooloud.Simplex.noise``` (2 octaves). 58 | 59 | ![](/examples/Fractal/img/4.png) 60 | 61 | ```javascript 62 | // define a callback function 63 | const fractalCallback = (x, y, z) => { 64 | return (1 + tooloud.Simplex.noise(x, y, z)) / 2; 65 | } 66 | 67 | // loop 68 | const n = tooloud.Fractal.noise(x, y, z, 2, fractalCallback); 69 | data[index + 0] = Math.floor(255 * n); 70 | data[index + 1] = Math.floor(255 * n); 71 | data[index + 2] = Math.floor(255 * n); 72 | data[index + 3] = 255; 73 | ``` 74 | 75 | --- 76 | 77 | ```tooloud.Fractal.noise``` applied to ```tooloud.Simplex.noise``` (4 octaves). 78 | 79 | ![](/examples/Fractal/img/5.png) 80 | 81 | ```javascript 82 | // define a callback function 83 | const fractalCallback = (x, y, z) => { 84 | return (1 + tooloud.Simplex.noise(x, y, z)) / 2; 85 | } 86 | 87 | // loop 88 | const n = tooloud.Fractal.noise(x, y, z, 4, fractalCallback); 89 | data[index + 0] = Math.floor(255 * n); 90 | data[index + 1] = Math.floor(255 * n); 91 | data[index + 2] = Math.floor(255 * n); 92 | data[index + 3] = 255; 93 | ``` 94 | 95 | --- 96 | 97 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Euclidean``` (first closest distance, 2 octaves). 98 | 99 | ![](/examples/Fractal/img/6.png) 100 | 101 | ```javascript 102 | // define a callback function 103 | const fractalCallback = (x, y, z) => { 104 | return tooloud.Worley.Euclidean(x, y, z, 120)[0]; 105 | } 106 | 107 | // loop 108 | const n = tooloud.Fractal.noise(x, y, z, 2, fractalCallback); 109 | data[index + 0] = Math.floor(255 * n); 110 | data[index + 1] = Math.floor(255 * n); 111 | data[index + 2] = Math.floor(255 * n); 112 | data[index + 3] = 255; 113 | ``` 114 | 115 | --- 116 | 117 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Euclidean``` (first closest distance, 4 octaves). 118 | 119 | ![](/examples/Fractal/img/7.png) 120 | 121 | ```javascript 122 | // define a callback function 123 | const fractalCallback = (x, y, z) => { 124 | return tooloud.Worley.Euclidean(x, y, z, 120)[0]; 125 | } 126 | 127 | // loop 128 | const n = tooloud.Fractal.noise(x, y, z, 4, fractalCallback); 129 | data[index + 0] = Math.floor(255 * n); 130 | data[index + 1] = Math.floor(255 * n); 131 | data[index + 2] = Math.floor(255 * n); 132 | data[index + 3] = 255; 133 | ``` 134 | 135 | --- 136 | 137 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Manhattan``` (first closest distance, 2 octaves). 138 | 139 | ![](/examples/Fractal/img/8.png) 140 | 141 | ```javascript 142 | // define a callback function 143 | const fractalCallback = (x, y, z) => { 144 | return tooloud.Worley.Manhattan(x, y, z, 120)[0]; 145 | } 146 | 147 | // loop 148 | const n = tooloud.Fractal.noise(x, y, z, 2, fractalCallback); 149 | data[index + 0] = Math.floor(255 * n); 150 | data[index + 1] = Math.floor(255 * n); 151 | data[index + 2] = Math.floor(255 * n); 152 | data[index + 3] = 255; 153 | ``` 154 | 155 | --- 156 | 157 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Manhattan``` (first closest distance, 4 octaves). 158 | 159 | ![](/examples/Fractal/img/9.png) 160 | 161 | ```javascript 162 | // define a callback function 163 | const fractalCallback = (x, y, z) => { 164 | return tooloud.Worley.Manhattan(x, y, z, 120)[0]; 165 | } 166 | 167 | // loop 168 | const n = tooloud.Fractal.noise(x, y, z, 4, fractalCallback); 169 | data[index + 0] = Math.floor(255 * n); 170 | data[index + 1] = Math.floor(255 * n); 171 | data[index + 2] = Math.floor(255 * n); 172 | data[index + 3] = 255; 173 | ``` 174 | 175 | --- 176 | 177 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Euclidean``` (first closest distance subtracted from the second one, 2 octaves). 178 | 179 | ![](/examples/Fractal/img/10.png) 180 | 181 | ```javascript 182 | // define a callback function 183 | const fractalCallback = (x, y, z) => { 184 | const n = tooloud.Worley.Euclidean(x, y, z, 120); 185 | return n[1] - n[0]; 186 | } 187 | 188 | // loop 189 | const n = tooloud.Fractal.noise(x, y, z, 2, fractalCallback); 190 | data[index + 0] = Math.floor(255 * n); 191 | data[index + 1] = Math.floor(255 * n); 192 | data[index + 2] = Math.floor(255 * n); 193 | data[index + 3] = 255; 194 | ``` 195 | 196 | --- 197 | 198 | ```tooloud.Fractal.noise``` applied to ```tooloud.Worley.Euclidean``` (first closest distance subtracted from the second one, 4 octaves). 199 | 200 | ![](/examples/Fractal/img/11.png) 201 | 202 | ```javascript 203 | // define a callback function 204 | const fractalCallback = (x, y, z) => { 205 | const n = tooloud.Worley.Euclidean(x, y, z, 120); 206 | return n[1] - n[0]; 207 | } 208 | 209 | // loop 210 | const n = tooloud.Fractal.noise(x, y, z, 4, fractalCallback); 211 | data[index + 0] = Math.floor(255 * n); 212 | data[index + 1] = Math.floor(255 * n); 213 | data[index + 2] = Math.floor(255 * n); 214 | data[index + 3] = 255; 215 | ``` 216 | -------------------------------------------------------------------------------- /examples/Fractal/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/1.png -------------------------------------------------------------------------------- /examples/Fractal/img/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/10.png -------------------------------------------------------------------------------- /examples/Fractal/img/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/11.png -------------------------------------------------------------------------------- /examples/Fractal/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/2.png -------------------------------------------------------------------------------- /examples/Fractal/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/3.png -------------------------------------------------------------------------------- /examples/Fractal/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/4.png -------------------------------------------------------------------------------- /examples/Fractal/img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/5.png -------------------------------------------------------------------------------- /examples/Fractal/img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/6.png -------------------------------------------------------------------------------- /examples/Fractal/img/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/7.png -------------------------------------------------------------------------------- /examples/Fractal/img/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/8.png -------------------------------------------------------------------------------- /examples/Fractal/img/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Fractal/img/9.png -------------------------------------------------------------------------------- /examples/Perlin/README.md: -------------------------------------------------------------------------------- 1 | # Perlin noise 2 | 3 | ![](/examples/Perlin/img/1.png) 4 | 5 | ```javascript 6 | const n = tooloud.Perlin.noise(x, y, z); 7 | data[index + 0] = Math.floor(255 * n); 8 | data[index + 1] = Math.floor(255 * n); 9 | data[index + 2] = Math.floor(255 * n); 10 | data[index + 3] = 255; 11 | ``` 12 | 13 | --- 14 | 15 | ![](/examples/Perlin/img/2.png) 16 | 17 | ```javascript 18 | const n = (1 + tooloud.Perlin.noise(x, y, z)) / 2; 19 | data[index + 0] = Math.floor(255 * n); 20 | data[index + 1] = Math.floor(255 * n); 21 | data[index + 2] = Math.floor(255 * n); 22 | data[index + 3] = 255; 23 | ``` 24 | 25 | --- 26 | 27 | ![](/examples/Perlin/img/3.png) 28 | 29 | ```javascript 30 | const n = Math.cos(tooloud.Perlin.noise(i/45, j/120, z) * 50); 31 | data[index + 0] = Math.floor(255 * n); 32 | data[index + 1] = Math.floor(255 * n); 33 | data[index + 2] = Math.floor(255 * n); 34 | data[index + 3] = 255; 35 | ``` 36 | 37 | --- 38 | 39 | ![](/examples/Perlin/img/4.png) 40 | 41 | ```javascript 42 | const dist = (Math.pow(i - (canvasWidth / 2), 2) + Math.pow(j - (canvasHeight / 2), 2)) / 1000; 43 | const n = (1 + tooloud.Perlin.noise(i/5, j/5, 0.8)) / 2; 44 | const d = dist * Math.round(255 * n); 45 | data[index + 0] = 255 - d; 46 | data[index + 1] = -d; 47 | data[index + 2] = 0; 48 | data[index + 3] = 255; 49 | ``` 50 | -------------------------------------------------------------------------------- /examples/Perlin/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Perlin/img/1.png -------------------------------------------------------------------------------- /examples/Perlin/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Perlin/img/2.png -------------------------------------------------------------------------------- /examples/Perlin/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Perlin/img/3.png -------------------------------------------------------------------------------- /examples/Perlin/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Perlin/img/4.png -------------------------------------------------------------------------------- /examples/Simplex/README.md: -------------------------------------------------------------------------------- 1 | # Simplex noise 2 | 3 | ![](/examples/Simplex/img/1.png) 4 | 5 | ```javascript 6 | const n = tooloud.Simplex.noise(x, y, z); 7 | data[index + 0] = Math.floor(255 * n); 8 | data[index + 1] = Math.floor(255 * n); 9 | data[index + 2] = Math.floor(255 * n); 10 | data[index + 3] = 255; 11 | ``` 12 | 13 | --- 14 | 15 | ![](/examples/Simplex/img/2.png) 16 | 17 | ```javascript 18 | const n = (1 + tooloud.Simplex.noise(x, y, z)) / 2; 19 | data[index + 0] = Math.floor(255 * n); 20 | data[index + 1] = Math.floor(255 * n); 21 | data[index + 2] = Math.floor(255 * n); 22 | data[index + 3] = 255; 23 | ``` 24 | 25 | --- 26 | 27 | ![](/examples/Simplex/img/3.png) 28 | 29 | ```javascript 30 | const n = Math.cos(tooloud.Simplex.noise(i/45, j/120, z) * 50); 31 | data[index + 0] = Math.floor(255 * n); 32 | data[index + 1] = Math.floor(255 * n); 33 | data[index + 2] = Math.floor(255 * n); 34 | data[index + 3] = 255; 35 | ``` 36 | 37 | --- 38 | 39 | ![](/examples/Simplex/img/4.png) 40 | 41 | ```javascript 42 | const dist = (Math.pow(i - (canvasWidth / 2), 2) + Math.pow(j - (canvasHeight / 2), 2)) / 1000; 43 | const n = (1 + tooloud.Simplex.noise(i/5, j/5, 0.8)) / 2; 44 | const d = dist * Math.round(255 * n); 45 | data[index + 0] = 255 - d; 46 | data[index + 1] = -d; 47 | data[index + 2] = 0; 48 | data[index + 3] = 255; 49 | ``` 50 | -------------------------------------------------------------------------------- /examples/Simplex/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Simplex/img/1.png -------------------------------------------------------------------------------- /examples/Simplex/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Simplex/img/2.png -------------------------------------------------------------------------------- /examples/Simplex/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Simplex/img/3.png -------------------------------------------------------------------------------- /examples/Simplex/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Simplex/img/4.png -------------------------------------------------------------------------------- /examples/Worley/README.md: -------------------------------------------------------------------------------- 1 | # Worley noise 2 | 3 | ![](/examples/Worley/img/e1.png) 4 | 5 | ```javascript 6 | const n = tooloud.Worley.Euclidean(x, y, z); 7 | data[index + 0] = Math.floor(255 * n[0]); 8 | data[index + 1] = Math.floor(255 * n[0]); 9 | data[index + 2] = Math.floor(255 * n[0]); 10 | data[index + 3] = 255; 11 | ``` 12 | 13 | --- 14 | 15 | ![](/examples/Worley/img/e2.png) 16 | 17 | ```javascript 18 | const n = tooloud.Worley.Euclidean(x, y, z); 19 | data[index + 0] = Math.floor(255 * n[1]); 20 | data[index + 1] = Math.floor(255 * n[1]); 21 | data[index + 2] = Math.floor(255 * n[1]); 22 | data[index + 3] = 255; 23 | ``` 24 | 25 | --- 26 | 27 | ![](/examples/Worley/img/e3.png) 28 | 29 | ```javascript 30 | const n = tooloud.Worley.Euclidean(x, y, z); 31 | data[index + 0] = Math.floor(255 * (n[1] - n[0])); 32 | data[index + 1] = Math.floor(255 * (n[1] - n[0])); 33 | data[index + 2] = Math.floor(255 * (n[1] - n[0])); 34 | data[index + 3] = 255; 35 | ``` 36 | 37 | --- 38 | 39 | ![](/examples/Worley/img/e4.png) 40 | 41 | ```javascript 42 | const n = tooloud.Worley.Euclidean(x, y, z); 43 | data[index + 0] = Math.floor(255 * (n[2] * n[0])); 44 | data[index + 1] = Math.floor(255 * (n[2] * n[0])); 45 | data[index + 2] = Math.floor(255 * (n[2] * n[0])); 46 | data[index + 3] = 255; 47 | ``` 48 | 49 | --- 50 | 51 | ![](/examples/Worley/img/m1.png) 52 | 53 | ```javascript 54 | const n = tooloud.Worley.Manhattan(x, y, z); 55 | data[index + 0] = Math.floor(255 * n[0]); 56 | data[index + 1] = Math.floor(255 * n[0]); 57 | data[index + 2] = Math.floor(255 * n[0]); 58 | data[index + 3] = 255; 59 | ``` 60 | 61 | --- 62 | 63 | ![](/examples/Worley/img/m2.png) 64 | 65 | ```javascript 66 | const n = tooloud.Worley.Manhattan(x, y, z); 67 | data[index + 0] = Math.floor(255 * n[1]); 68 | data[index + 1] = Math.floor(255 * n[1]); 69 | data[index + 2] = Math.floor(255 * n[1]); 70 | data[index + 3] = 255; 71 | ``` 72 | 73 | --- 74 | 75 | ![](/examples/Worley/img/m3.png) 76 | 77 | ```javascript 78 | const n = tooloud.Worley.Manhattan(x, y, z); 79 | data[index + 0] = Math.floor(255 * (n[1] - n[0])); 80 | data[index + 1] = Math.floor(255 * (n[1] - n[0])); 81 | data[index + 2] = Math.floor(255 * (n[1] - n[0])); 82 | data[index + 3] = 255; 83 | ``` 84 | 85 | --- 86 | 87 | ![](/examples/Worley/img/m4.png) 88 | 89 | ```javascript 90 | const n = tooloud.Worley.Manhattan(x, y, z); 91 | data[index + 0] = Math.floor(255 * (n[2] * n[0])); 92 | data[index + 1] = Math.floor(255 * (n[2] * n[0])); 93 | data[index + 2] = Math.floor(255 * (n[2] * n[0])); 94 | data[index + 3] = 255; 95 | ``` 96 | -------------------------------------------------------------------------------- /examples/Worley/img/e1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/e1.png -------------------------------------------------------------------------------- /examples/Worley/img/e2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/e2.png -------------------------------------------------------------------------------- /examples/Worley/img/e3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/e3.png -------------------------------------------------------------------------------- /examples/Worley/img/e4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/e4.png -------------------------------------------------------------------------------- /examples/Worley/img/m1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/m1.png -------------------------------------------------------------------------------- /examples/Worley/img/m2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/m2.png -------------------------------------------------------------------------------- /examples/Worley/img/m3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/m3.png -------------------------------------------------------------------------------- /examples/Worley/img/m4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/Worley/img/m4.png -------------------------------------------------------------------------------- /examples/_scaling/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/_scaling/1.png -------------------------------------------------------------------------------- /examples/_scaling/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/_scaling/2.png -------------------------------------------------------------------------------- /examples/_scaling/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackunion/tooloud/e03e49c973b5245e00a591a33983ce51f2ee4863/examples/_scaling/3.png -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import tooloud from './src'; 2 | 3 | export default tooloud; 4 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tooloud", 3 | "version": "2.0.4", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@webassemblyjs/ast": { 8 | "version": "1.9.0", 9 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", 10 | "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", 11 | "dev": true, 12 | "requires": { 13 | "@webassemblyjs/helper-module-context": "1.9.0", 14 | "@webassemblyjs/helper-wasm-bytecode": "1.9.0", 15 | "@webassemblyjs/wast-parser": "1.9.0" 16 | } 17 | }, 18 | "@webassemblyjs/floating-point-hex-parser": { 19 | "version": "1.9.0", 20 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", 21 | "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", 22 | "dev": true 23 | }, 24 | "@webassemblyjs/helper-api-error": { 25 | "version": "1.9.0", 26 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", 27 | "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", 28 | "dev": true 29 | }, 30 | "@webassemblyjs/helper-buffer": { 31 | "version": "1.9.0", 32 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", 33 | "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", 34 | "dev": true 35 | }, 36 | "@webassemblyjs/helper-code-frame": { 37 | "version": "1.9.0", 38 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", 39 | "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", 40 | "dev": true, 41 | "requires": { 42 | "@webassemblyjs/wast-printer": "1.9.0" 43 | } 44 | }, 45 | "@webassemblyjs/helper-fsm": { 46 | "version": "1.9.0", 47 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", 48 | "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", 49 | "dev": true 50 | }, 51 | "@webassemblyjs/helper-module-context": { 52 | "version": "1.9.0", 53 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", 54 | "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", 55 | "dev": true, 56 | "requires": { 57 | "@webassemblyjs/ast": "1.9.0" 58 | } 59 | }, 60 | "@webassemblyjs/helper-wasm-bytecode": { 61 | "version": "1.9.0", 62 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", 63 | "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", 64 | "dev": true 65 | }, 66 | "@webassemblyjs/helper-wasm-section": { 67 | "version": "1.9.0", 68 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", 69 | "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", 70 | "dev": true, 71 | "requires": { 72 | "@webassemblyjs/ast": "1.9.0", 73 | "@webassemblyjs/helper-buffer": "1.9.0", 74 | "@webassemblyjs/helper-wasm-bytecode": "1.9.0", 75 | "@webassemblyjs/wasm-gen": "1.9.0" 76 | } 77 | }, 78 | "@webassemblyjs/ieee754": { 79 | "version": "1.9.0", 80 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", 81 | "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", 82 | "dev": true, 83 | "requires": { 84 | "@xtuc/ieee754": "^1.2.0" 85 | } 86 | }, 87 | "@webassemblyjs/leb128": { 88 | "version": "1.9.0", 89 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", 90 | "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", 91 | "dev": true, 92 | "requires": { 93 | "@xtuc/long": "4.2.2" 94 | } 95 | }, 96 | "@webassemblyjs/utf8": { 97 | "version": "1.9.0", 98 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", 99 | "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", 100 | "dev": true 101 | }, 102 | "@webassemblyjs/wasm-edit": { 103 | "version": "1.9.0", 104 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", 105 | "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", 106 | "dev": true, 107 | "requires": { 108 | "@webassemblyjs/ast": "1.9.0", 109 | "@webassemblyjs/helper-buffer": "1.9.0", 110 | "@webassemblyjs/helper-wasm-bytecode": "1.9.0", 111 | "@webassemblyjs/helper-wasm-section": "1.9.0", 112 | "@webassemblyjs/wasm-gen": "1.9.0", 113 | "@webassemblyjs/wasm-opt": "1.9.0", 114 | "@webassemblyjs/wasm-parser": "1.9.0", 115 | "@webassemblyjs/wast-printer": "1.9.0" 116 | } 117 | }, 118 | "@webassemblyjs/wasm-gen": { 119 | "version": "1.9.0", 120 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", 121 | "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", 122 | "dev": true, 123 | "requires": { 124 | "@webassemblyjs/ast": "1.9.0", 125 | "@webassemblyjs/helper-wasm-bytecode": "1.9.0", 126 | "@webassemblyjs/ieee754": "1.9.0", 127 | "@webassemblyjs/leb128": "1.9.0", 128 | "@webassemblyjs/utf8": "1.9.0" 129 | } 130 | }, 131 | "@webassemblyjs/wasm-opt": { 132 | "version": "1.9.0", 133 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", 134 | "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", 135 | "dev": true, 136 | "requires": { 137 | "@webassemblyjs/ast": "1.9.0", 138 | "@webassemblyjs/helper-buffer": "1.9.0", 139 | "@webassemblyjs/wasm-gen": "1.9.0", 140 | "@webassemblyjs/wasm-parser": "1.9.0" 141 | } 142 | }, 143 | "@webassemblyjs/wasm-parser": { 144 | "version": "1.9.0", 145 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", 146 | "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", 147 | "dev": true, 148 | "requires": { 149 | "@webassemblyjs/ast": "1.9.0", 150 | "@webassemblyjs/helper-api-error": "1.9.0", 151 | "@webassemblyjs/helper-wasm-bytecode": "1.9.0", 152 | "@webassemblyjs/ieee754": "1.9.0", 153 | "@webassemblyjs/leb128": "1.9.0", 154 | "@webassemblyjs/utf8": "1.9.0" 155 | } 156 | }, 157 | "@webassemblyjs/wast-parser": { 158 | "version": "1.9.0", 159 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", 160 | "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", 161 | "dev": true, 162 | "requires": { 163 | "@webassemblyjs/ast": "1.9.0", 164 | "@webassemblyjs/floating-point-hex-parser": "1.9.0", 165 | "@webassemblyjs/helper-api-error": "1.9.0", 166 | "@webassemblyjs/helper-code-frame": "1.9.0", 167 | "@webassemblyjs/helper-fsm": "1.9.0", 168 | "@xtuc/long": "4.2.2" 169 | } 170 | }, 171 | "@webassemblyjs/wast-printer": { 172 | "version": "1.9.0", 173 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", 174 | "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", 175 | "dev": true, 176 | "requires": { 177 | "@webassemblyjs/ast": "1.9.0", 178 | "@webassemblyjs/wast-parser": "1.9.0", 179 | "@xtuc/long": "4.2.2" 180 | } 181 | }, 182 | "@xtuc/ieee754": { 183 | "version": "1.2.0", 184 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 185 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", 186 | "dev": true 187 | }, 188 | "@xtuc/long": { 189 | "version": "4.2.2", 190 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 191 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", 192 | "dev": true 193 | }, 194 | "acorn": { 195 | "version": "6.4.2", 196 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 197 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 198 | "dev": true 199 | }, 200 | "ajv": { 201 | "version": "6.12.6", 202 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 203 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 204 | "dev": true, 205 | "requires": { 206 | "fast-deep-equal": "^3.1.1", 207 | "fast-json-stable-stringify": "^2.0.0", 208 | "json-schema-traverse": "^0.4.1", 209 | "uri-js": "^4.2.2" 210 | } 211 | }, 212 | "ajv-errors": { 213 | "version": "1.0.1", 214 | "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", 215 | "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", 216 | "dev": true 217 | }, 218 | "ajv-keywords": { 219 | "version": "3.5.2", 220 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", 221 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", 222 | "dev": true 223 | }, 224 | "ansi-regex": { 225 | "version": "4.1.1", 226 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", 227 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", 228 | "dev": true 229 | }, 230 | "ansi-styles": { 231 | "version": "3.2.1", 232 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 233 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 234 | "dev": true, 235 | "requires": { 236 | "color-convert": "^1.9.0" 237 | } 238 | }, 239 | "anymatch": { 240 | "version": "3.1.3", 241 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 242 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 243 | "dev": true, 244 | "optional": true, 245 | "requires": { 246 | "normalize-path": "^3.0.0", 247 | "picomatch": "^2.0.4" 248 | } 249 | }, 250 | "aproba": { 251 | "version": "1.2.0", 252 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 253 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 254 | "dev": true 255 | }, 256 | "arr-diff": { 257 | "version": "4.0.0", 258 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 259 | "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", 260 | "dev": true 261 | }, 262 | "arr-flatten": { 263 | "version": "1.1.0", 264 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 265 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 266 | "dev": true 267 | }, 268 | "arr-union": { 269 | "version": "3.1.0", 270 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 271 | "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", 272 | "dev": true 273 | }, 274 | "array-unique": { 275 | "version": "0.3.2", 276 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 277 | "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", 278 | "dev": true 279 | }, 280 | "asn1.js": { 281 | "version": "5.4.1", 282 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", 283 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", 284 | "dev": true, 285 | "requires": { 286 | "bn.js": "^4.0.0", 287 | "inherits": "^2.0.1", 288 | "minimalistic-assert": "^1.0.0", 289 | "safer-buffer": "^2.1.0" 290 | }, 291 | "dependencies": { 292 | "bn.js": { 293 | "version": "4.12.0", 294 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 295 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 296 | "dev": true 297 | } 298 | } 299 | }, 300 | "assert": { 301 | "version": "1.5.0", 302 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", 303 | "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", 304 | "dev": true, 305 | "requires": { 306 | "object-assign": "^4.1.1", 307 | "util": "0.10.3" 308 | }, 309 | "dependencies": { 310 | "inherits": { 311 | "version": "2.0.1", 312 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", 313 | "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", 314 | "dev": true 315 | }, 316 | "util": { 317 | "version": "0.10.3", 318 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", 319 | "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", 320 | "dev": true, 321 | "requires": { 322 | "inherits": "2.0.1" 323 | } 324 | } 325 | } 326 | }, 327 | "assign-symbols": { 328 | "version": "1.0.0", 329 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 330 | "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", 331 | "dev": true 332 | }, 333 | "async-each": { 334 | "version": "1.0.3", 335 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", 336 | "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", 337 | "dev": true, 338 | "optional": true 339 | }, 340 | "atob": { 341 | "version": "2.1.2", 342 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 343 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", 344 | "dev": true 345 | }, 346 | "balanced-match": { 347 | "version": "1.0.2", 348 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 349 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 350 | "dev": true 351 | }, 352 | "base": { 353 | "version": "0.11.2", 354 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 355 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 356 | "dev": true, 357 | "requires": { 358 | "cache-base": "^1.0.1", 359 | "class-utils": "^0.3.5", 360 | "component-emitter": "^1.2.1", 361 | "define-property": "^1.0.0", 362 | "isobject": "^3.0.1", 363 | "mixin-deep": "^1.2.0", 364 | "pascalcase": "^0.1.1" 365 | }, 366 | "dependencies": { 367 | "define-property": { 368 | "version": "1.0.0", 369 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 370 | "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", 371 | "dev": true, 372 | "requires": { 373 | "is-descriptor": "^1.0.0" 374 | } 375 | }, 376 | "is-accessor-descriptor": { 377 | "version": "1.0.0", 378 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 379 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 380 | "dev": true, 381 | "requires": { 382 | "kind-of": "^6.0.0" 383 | } 384 | }, 385 | "is-data-descriptor": { 386 | "version": "1.0.0", 387 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 388 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 389 | "dev": true, 390 | "requires": { 391 | "kind-of": "^6.0.0" 392 | } 393 | }, 394 | "is-descriptor": { 395 | "version": "1.0.2", 396 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 397 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 398 | "dev": true, 399 | "requires": { 400 | "is-accessor-descriptor": "^1.0.0", 401 | "is-data-descriptor": "^1.0.0", 402 | "kind-of": "^6.0.2" 403 | } 404 | } 405 | } 406 | }, 407 | "base64-js": { 408 | "version": "1.5.1", 409 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 410 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 411 | "dev": true 412 | }, 413 | "binary-extensions": { 414 | "version": "2.2.0", 415 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 416 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 417 | "dev": true, 418 | "optional": true 419 | }, 420 | "bindings": { 421 | "version": "1.5.0", 422 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 423 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 424 | "dev": true, 425 | "optional": true, 426 | "requires": { 427 | "file-uri-to-path": "1.0.0" 428 | } 429 | }, 430 | "bluebird": { 431 | "version": "3.7.2", 432 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 433 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 434 | "dev": true 435 | }, 436 | "bn.js": { 437 | "version": "5.2.1", 438 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", 439 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", 440 | "dev": true 441 | }, 442 | "brace-expansion": { 443 | "version": "1.1.11", 444 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 445 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 446 | "dev": true, 447 | "requires": { 448 | "balanced-match": "^1.0.0", 449 | "concat-map": "0.0.1" 450 | } 451 | }, 452 | "braces": { 453 | "version": "2.3.2", 454 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 455 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 456 | "dev": true, 457 | "requires": { 458 | "arr-flatten": "^1.1.0", 459 | "array-unique": "^0.3.2", 460 | "extend-shallow": "^2.0.1", 461 | "fill-range": "^4.0.0", 462 | "isobject": "^3.0.1", 463 | "repeat-element": "^1.1.2", 464 | "snapdragon": "^0.8.1", 465 | "snapdragon-node": "^2.0.1", 466 | "split-string": "^3.0.2", 467 | "to-regex": "^3.0.1" 468 | }, 469 | "dependencies": { 470 | "extend-shallow": { 471 | "version": "2.0.1", 472 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 473 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 474 | "dev": true, 475 | "requires": { 476 | "is-extendable": "^0.1.0" 477 | } 478 | } 479 | } 480 | }, 481 | "brorand": { 482 | "version": "1.1.0", 483 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 484 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", 485 | "dev": true 486 | }, 487 | "browserify-aes": { 488 | "version": "1.2.0", 489 | "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 490 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 491 | "dev": true, 492 | "requires": { 493 | "buffer-xor": "^1.0.3", 494 | "cipher-base": "^1.0.0", 495 | "create-hash": "^1.1.0", 496 | "evp_bytestokey": "^1.0.3", 497 | "inherits": "^2.0.1", 498 | "safe-buffer": "^5.0.1" 499 | } 500 | }, 501 | "browserify-cipher": { 502 | "version": "1.0.1", 503 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 504 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 505 | "dev": true, 506 | "requires": { 507 | "browserify-aes": "^1.0.4", 508 | "browserify-des": "^1.0.0", 509 | "evp_bytestokey": "^1.0.0" 510 | } 511 | }, 512 | "browserify-des": { 513 | "version": "1.0.2", 514 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 515 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 516 | "dev": true, 517 | "requires": { 518 | "cipher-base": "^1.0.1", 519 | "des.js": "^1.0.0", 520 | "inherits": "^2.0.1", 521 | "safe-buffer": "^5.1.2" 522 | } 523 | }, 524 | "browserify-rsa": { 525 | "version": "4.1.0", 526 | "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", 527 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", 528 | "dev": true, 529 | "requires": { 530 | "bn.js": "^5.0.0", 531 | "randombytes": "^2.0.1" 532 | } 533 | }, 534 | "browserify-sign": { 535 | "version": "4.2.1", 536 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", 537 | "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", 538 | "dev": true, 539 | "requires": { 540 | "bn.js": "^5.1.1", 541 | "browserify-rsa": "^4.0.1", 542 | "create-hash": "^1.2.0", 543 | "create-hmac": "^1.1.7", 544 | "elliptic": "^6.5.3", 545 | "inherits": "^2.0.4", 546 | "parse-asn1": "^5.1.5", 547 | "readable-stream": "^3.6.0", 548 | "safe-buffer": "^5.2.0" 549 | }, 550 | "dependencies": { 551 | "inherits": { 552 | "version": "2.0.4", 553 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 554 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 555 | "dev": true 556 | }, 557 | "readable-stream": { 558 | "version": "3.6.0", 559 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 560 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 561 | "dev": true, 562 | "requires": { 563 | "inherits": "^2.0.3", 564 | "string_decoder": "^1.1.1", 565 | "util-deprecate": "^1.0.1" 566 | } 567 | }, 568 | "safe-buffer": { 569 | "version": "5.2.1", 570 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 571 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 572 | "dev": true 573 | } 574 | } 575 | }, 576 | "browserify-zlib": { 577 | "version": "0.2.0", 578 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", 579 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", 580 | "dev": true, 581 | "requires": { 582 | "pako": "~1.0.5" 583 | } 584 | }, 585 | "buffer": { 586 | "version": "4.9.2", 587 | "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", 588 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", 589 | "dev": true, 590 | "requires": { 591 | "base64-js": "^1.0.2", 592 | "ieee754": "^1.1.4", 593 | "isarray": "^1.0.0" 594 | } 595 | }, 596 | "buffer-from": { 597 | "version": "1.1.2", 598 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 599 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 600 | "dev": true 601 | }, 602 | "buffer-xor": { 603 | "version": "1.0.3", 604 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 605 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", 606 | "dev": true 607 | }, 608 | "builtin-status-codes": { 609 | "version": "3.0.0", 610 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", 611 | "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", 612 | "dev": true 613 | }, 614 | "cacache": { 615 | "version": "12.0.4", 616 | "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", 617 | "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", 618 | "dev": true, 619 | "requires": { 620 | "bluebird": "^3.5.5", 621 | "chownr": "^1.1.1", 622 | "figgy-pudding": "^3.5.1", 623 | "glob": "^7.1.4", 624 | "graceful-fs": "^4.1.15", 625 | "infer-owner": "^1.0.3", 626 | "lru-cache": "^5.1.1", 627 | "mississippi": "^3.0.0", 628 | "mkdirp": "^0.5.1", 629 | "move-concurrently": "^1.0.1", 630 | "promise-inflight": "^1.0.1", 631 | "rimraf": "^2.6.3", 632 | "ssri": "^6.0.1", 633 | "unique-filename": "^1.1.1", 634 | "y18n": "^4.0.0" 635 | }, 636 | "dependencies": { 637 | "graceful-fs": { 638 | "version": "4.2.10", 639 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 640 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 641 | "dev": true 642 | } 643 | } 644 | }, 645 | "cache-base": { 646 | "version": "1.0.1", 647 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 648 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 649 | "dev": true, 650 | "requires": { 651 | "collection-visit": "^1.0.0", 652 | "component-emitter": "^1.2.1", 653 | "get-value": "^2.0.6", 654 | "has-value": "^1.0.0", 655 | "isobject": "^3.0.1", 656 | "set-value": "^2.0.0", 657 | "to-object-path": "^0.3.0", 658 | "union-value": "^1.0.0", 659 | "unset-value": "^1.0.0" 660 | } 661 | }, 662 | "camelcase": { 663 | "version": "5.3.1", 664 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 665 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 666 | "dev": true 667 | }, 668 | "chalk": { 669 | "version": "2.4.2", 670 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 671 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 672 | "dev": true, 673 | "requires": { 674 | "ansi-styles": "^3.2.1", 675 | "escape-string-regexp": "^1.0.5", 676 | "supports-color": "^5.3.0" 677 | }, 678 | "dependencies": { 679 | "supports-color": { 680 | "version": "5.5.0", 681 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 682 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 683 | "dev": true, 684 | "requires": { 685 | "has-flag": "^3.0.0" 686 | } 687 | } 688 | } 689 | }, 690 | "chokidar": { 691 | "version": "3.5.3", 692 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 693 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 694 | "dev": true, 695 | "optional": true, 696 | "requires": { 697 | "anymatch": "~3.1.2", 698 | "braces": "~3.0.2", 699 | "fsevents": "~2.3.2", 700 | "glob-parent": "~5.1.2", 701 | "is-binary-path": "~2.1.0", 702 | "is-glob": "~4.0.1", 703 | "normalize-path": "~3.0.0", 704 | "readdirp": "~3.6.0" 705 | }, 706 | "dependencies": { 707 | "braces": { 708 | "version": "3.0.2", 709 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 710 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 711 | "dev": true, 712 | "optional": true, 713 | "requires": { 714 | "fill-range": "^7.0.1" 715 | } 716 | }, 717 | "fill-range": { 718 | "version": "7.0.1", 719 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 720 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 721 | "dev": true, 722 | "optional": true, 723 | "requires": { 724 | "to-regex-range": "^5.0.1" 725 | } 726 | }, 727 | "is-number": { 728 | "version": "7.0.0", 729 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 730 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 731 | "dev": true, 732 | "optional": true 733 | }, 734 | "to-regex-range": { 735 | "version": "5.0.1", 736 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 737 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 738 | "dev": true, 739 | "optional": true, 740 | "requires": { 741 | "is-number": "^7.0.0" 742 | } 743 | } 744 | } 745 | }, 746 | "chownr": { 747 | "version": "1.1.4", 748 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 749 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 750 | "dev": true 751 | }, 752 | "chrome-trace-event": { 753 | "version": "1.0.3", 754 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", 755 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", 756 | "dev": true 757 | }, 758 | "cipher-base": { 759 | "version": "1.0.4", 760 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 761 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 762 | "dev": true, 763 | "requires": { 764 | "inherits": "^2.0.1", 765 | "safe-buffer": "^5.0.1" 766 | } 767 | }, 768 | "class-utils": { 769 | "version": "0.3.6", 770 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 771 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 772 | "dev": true, 773 | "requires": { 774 | "arr-union": "^3.1.0", 775 | "define-property": "^0.2.5", 776 | "isobject": "^3.0.0", 777 | "static-extend": "^0.1.1" 778 | }, 779 | "dependencies": { 780 | "define-property": { 781 | "version": "0.2.5", 782 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 783 | "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", 784 | "dev": true, 785 | "requires": { 786 | "is-descriptor": "^0.1.0" 787 | } 788 | } 789 | } 790 | }, 791 | "cliui": { 792 | "version": "5.0.0", 793 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 794 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", 795 | "dev": true, 796 | "requires": { 797 | "string-width": "^3.1.0", 798 | "strip-ansi": "^5.2.0", 799 | "wrap-ansi": "^5.1.0" 800 | } 801 | }, 802 | "collection-visit": { 803 | "version": "1.0.0", 804 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 805 | "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", 806 | "dev": true, 807 | "requires": { 808 | "map-visit": "^1.0.0", 809 | "object-visit": "^1.0.0" 810 | } 811 | }, 812 | "color-convert": { 813 | "version": "1.9.3", 814 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 815 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 816 | "dev": true, 817 | "requires": { 818 | "color-name": "1.1.3" 819 | } 820 | }, 821 | "color-name": { 822 | "version": "1.1.3", 823 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 824 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 825 | "dev": true 826 | }, 827 | "commander": { 828 | "version": "2.20.3", 829 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 830 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 831 | "dev": true 832 | }, 833 | "commondir": { 834 | "version": "1.0.1", 835 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 836 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", 837 | "dev": true 838 | }, 839 | "component-emitter": { 840 | "version": "1.3.0", 841 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 842 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", 843 | "dev": true 844 | }, 845 | "concat-map": { 846 | "version": "0.0.1", 847 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 848 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 849 | "dev": true 850 | }, 851 | "concat-stream": { 852 | "version": "1.6.2", 853 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", 854 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", 855 | "dev": true, 856 | "requires": { 857 | "buffer-from": "^1.0.0", 858 | "inherits": "^2.0.3", 859 | "readable-stream": "^2.2.2", 860 | "typedarray": "^0.0.6" 861 | } 862 | }, 863 | "console-browserify": { 864 | "version": "1.2.0", 865 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", 866 | "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", 867 | "dev": true 868 | }, 869 | "constants-browserify": { 870 | "version": "1.0.0", 871 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", 872 | "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", 873 | "dev": true 874 | }, 875 | "copy-concurrently": { 876 | "version": "1.0.5", 877 | "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", 878 | "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", 879 | "dev": true, 880 | "requires": { 881 | "aproba": "^1.1.1", 882 | "fs-write-stream-atomic": "^1.0.8", 883 | "iferr": "^0.1.5", 884 | "mkdirp": "^0.5.1", 885 | "rimraf": "^2.5.4", 886 | "run-queue": "^1.0.0" 887 | } 888 | }, 889 | "copy-descriptor": { 890 | "version": "0.1.1", 891 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 892 | "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", 893 | "dev": true 894 | }, 895 | "core-util-is": { 896 | "version": "1.0.2", 897 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 898 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 899 | "dev": true 900 | }, 901 | "create-ecdh": { 902 | "version": "4.0.4", 903 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", 904 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", 905 | "dev": true, 906 | "requires": { 907 | "bn.js": "^4.1.0", 908 | "elliptic": "^6.5.3" 909 | }, 910 | "dependencies": { 911 | "bn.js": { 912 | "version": "4.12.0", 913 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 914 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 915 | "dev": true 916 | } 917 | } 918 | }, 919 | "create-hash": { 920 | "version": "1.2.0", 921 | "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 922 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 923 | "dev": true, 924 | "requires": { 925 | "cipher-base": "^1.0.1", 926 | "inherits": "^2.0.1", 927 | "md5.js": "^1.3.4", 928 | "ripemd160": "^2.0.1", 929 | "sha.js": "^2.4.0" 930 | } 931 | }, 932 | "create-hmac": { 933 | "version": "1.1.7", 934 | "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 935 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 936 | "dev": true, 937 | "requires": { 938 | "cipher-base": "^1.0.3", 939 | "create-hash": "^1.1.0", 940 | "inherits": "^2.0.1", 941 | "ripemd160": "^2.0.0", 942 | "safe-buffer": "^5.0.1", 943 | "sha.js": "^2.4.8" 944 | } 945 | }, 946 | "cross-spawn": { 947 | "version": "6.0.5", 948 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 949 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 950 | "dev": true, 951 | "requires": { 952 | "nice-try": "^1.0.4", 953 | "path-key": "^2.0.1", 954 | "semver": "^5.5.0", 955 | "shebang-command": "^1.2.0", 956 | "which": "^1.2.9" 957 | } 958 | }, 959 | "crypto-browserify": { 960 | "version": "3.12.0", 961 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 962 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 963 | "dev": true, 964 | "requires": { 965 | "browserify-cipher": "^1.0.0", 966 | "browserify-sign": "^4.0.0", 967 | "create-ecdh": "^4.0.0", 968 | "create-hash": "^1.1.0", 969 | "create-hmac": "^1.1.0", 970 | "diffie-hellman": "^5.0.0", 971 | "inherits": "^2.0.1", 972 | "pbkdf2": "^3.0.3", 973 | "public-encrypt": "^4.0.0", 974 | "randombytes": "^2.0.0", 975 | "randomfill": "^1.0.3" 976 | } 977 | }, 978 | "cyclist": { 979 | "version": "1.0.1", 980 | "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", 981 | "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", 982 | "dev": true 983 | }, 984 | "debug": { 985 | "version": "2.6.9", 986 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 987 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 988 | "dev": true, 989 | "requires": { 990 | "ms": "2.0.0" 991 | } 992 | }, 993 | "decamelize": { 994 | "version": "1.2.0", 995 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 996 | "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", 997 | "dev": true 998 | }, 999 | "decode-uri-component": { 1000 | "version": "0.2.2", 1001 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", 1002 | "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", 1003 | "dev": true 1004 | }, 1005 | "define-property": { 1006 | "version": "2.0.2", 1007 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 1008 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 1009 | "dev": true, 1010 | "requires": { 1011 | "is-descriptor": "^1.0.2", 1012 | "isobject": "^3.0.1" 1013 | }, 1014 | "dependencies": { 1015 | "is-accessor-descriptor": { 1016 | "version": "1.0.0", 1017 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1018 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1019 | "dev": true, 1020 | "requires": { 1021 | "kind-of": "^6.0.0" 1022 | } 1023 | }, 1024 | "is-data-descriptor": { 1025 | "version": "1.0.0", 1026 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1027 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1028 | "dev": true, 1029 | "requires": { 1030 | "kind-of": "^6.0.0" 1031 | } 1032 | }, 1033 | "is-descriptor": { 1034 | "version": "1.0.2", 1035 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1036 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1037 | "dev": true, 1038 | "requires": { 1039 | "is-accessor-descriptor": "^1.0.0", 1040 | "is-data-descriptor": "^1.0.0", 1041 | "kind-of": "^6.0.2" 1042 | } 1043 | } 1044 | } 1045 | }, 1046 | "des.js": { 1047 | "version": "1.0.1", 1048 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", 1049 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", 1050 | "dev": true, 1051 | "requires": { 1052 | "inherits": "^2.0.1", 1053 | "minimalistic-assert": "^1.0.0" 1054 | } 1055 | }, 1056 | "detect-file": { 1057 | "version": "1.0.0", 1058 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 1059 | "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", 1060 | "dev": true 1061 | }, 1062 | "diffie-hellman": { 1063 | "version": "5.0.3", 1064 | "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 1065 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 1066 | "dev": true, 1067 | "requires": { 1068 | "bn.js": "^4.1.0", 1069 | "miller-rabin": "^4.0.0", 1070 | "randombytes": "^2.0.0" 1071 | }, 1072 | "dependencies": { 1073 | "bn.js": { 1074 | "version": "4.12.0", 1075 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1076 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 1077 | "dev": true 1078 | } 1079 | } 1080 | }, 1081 | "domain-browser": { 1082 | "version": "1.2.0", 1083 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", 1084 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", 1085 | "dev": true 1086 | }, 1087 | "duplexify": { 1088 | "version": "3.7.1", 1089 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", 1090 | "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", 1091 | "dev": true, 1092 | "requires": { 1093 | "end-of-stream": "^1.0.0", 1094 | "inherits": "^2.0.1", 1095 | "readable-stream": "^2.0.0", 1096 | "stream-shift": "^1.0.0" 1097 | } 1098 | }, 1099 | "elliptic": { 1100 | "version": "6.5.4", 1101 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 1102 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 1103 | "dev": true, 1104 | "requires": { 1105 | "bn.js": "^4.11.9", 1106 | "brorand": "^1.1.0", 1107 | "hash.js": "^1.0.0", 1108 | "hmac-drbg": "^1.0.1", 1109 | "inherits": "^2.0.4", 1110 | "minimalistic-assert": "^1.0.1", 1111 | "minimalistic-crypto-utils": "^1.0.1" 1112 | }, 1113 | "dependencies": { 1114 | "bn.js": { 1115 | "version": "4.12.0", 1116 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1117 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 1118 | "dev": true 1119 | }, 1120 | "inherits": { 1121 | "version": "2.0.4", 1122 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1123 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1124 | "dev": true 1125 | } 1126 | } 1127 | }, 1128 | "emoji-regex": { 1129 | "version": "7.0.3", 1130 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 1131 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 1132 | "dev": true 1133 | }, 1134 | "end-of-stream": { 1135 | "version": "1.4.4", 1136 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1137 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1138 | "dev": true, 1139 | "requires": { 1140 | "once": "^1.4.0" 1141 | } 1142 | }, 1143 | "enhanced-resolve": { 1144 | "version": "4.5.0", 1145 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", 1146 | "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", 1147 | "dev": true, 1148 | "requires": { 1149 | "graceful-fs": "^4.1.2", 1150 | "memory-fs": "^0.5.0", 1151 | "tapable": "^1.0.0" 1152 | }, 1153 | "dependencies": { 1154 | "memory-fs": { 1155 | "version": "0.5.0", 1156 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", 1157 | "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", 1158 | "dev": true, 1159 | "requires": { 1160 | "errno": "^0.1.3", 1161 | "readable-stream": "^2.0.1" 1162 | } 1163 | } 1164 | } 1165 | }, 1166 | "errno": { 1167 | "version": "0.1.7", 1168 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", 1169 | "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", 1170 | "dev": true, 1171 | "requires": { 1172 | "prr": "~1.0.1" 1173 | } 1174 | }, 1175 | "escape-string-regexp": { 1176 | "version": "1.0.5", 1177 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1178 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1179 | "dev": true 1180 | }, 1181 | "eslint-scope": { 1182 | "version": "4.0.3", 1183 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 1184 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 1185 | "dev": true, 1186 | "requires": { 1187 | "esrecurse": "^4.1.0", 1188 | "estraverse": "^4.1.1" 1189 | } 1190 | }, 1191 | "esrecurse": { 1192 | "version": "4.3.0", 1193 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1194 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1195 | "dev": true, 1196 | "requires": { 1197 | "estraverse": "^5.2.0" 1198 | }, 1199 | "dependencies": { 1200 | "estraverse": { 1201 | "version": "5.3.0", 1202 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1203 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1204 | "dev": true 1205 | } 1206 | } 1207 | }, 1208 | "estraverse": { 1209 | "version": "4.3.0", 1210 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1211 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1212 | "dev": true 1213 | }, 1214 | "events": { 1215 | "version": "3.3.0", 1216 | "resolved": "http://registry.npmjs.org/events/-/events-3.3.0.tgz", 1217 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1218 | "dev": true 1219 | }, 1220 | "evp_bytestokey": { 1221 | "version": "1.0.3", 1222 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 1223 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 1224 | "dev": true, 1225 | "requires": { 1226 | "md5.js": "^1.3.4", 1227 | "safe-buffer": "^5.1.1" 1228 | } 1229 | }, 1230 | "expand-brackets": { 1231 | "version": "2.1.4", 1232 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 1233 | "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", 1234 | "dev": true, 1235 | "requires": { 1236 | "debug": "^2.3.3", 1237 | "define-property": "^0.2.5", 1238 | "extend-shallow": "^2.0.1", 1239 | "posix-character-classes": "^0.1.0", 1240 | "regex-not": "^1.0.0", 1241 | "snapdragon": "^0.8.1", 1242 | "to-regex": "^3.0.1" 1243 | }, 1244 | "dependencies": { 1245 | "define-property": { 1246 | "version": "0.2.5", 1247 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1248 | "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", 1249 | "dev": true, 1250 | "requires": { 1251 | "is-descriptor": "^0.1.0" 1252 | } 1253 | }, 1254 | "extend-shallow": { 1255 | "version": "2.0.1", 1256 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1257 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 1258 | "dev": true, 1259 | "requires": { 1260 | "is-extendable": "^0.1.0" 1261 | } 1262 | } 1263 | } 1264 | }, 1265 | "expand-tilde": { 1266 | "version": "2.0.2", 1267 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 1268 | "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", 1269 | "dev": true, 1270 | "requires": { 1271 | "homedir-polyfill": "^1.0.1" 1272 | } 1273 | }, 1274 | "extend-shallow": { 1275 | "version": "3.0.2", 1276 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 1277 | "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", 1278 | "dev": true, 1279 | "requires": { 1280 | "assign-symbols": "^1.0.0", 1281 | "is-extendable": "^1.0.1" 1282 | }, 1283 | "dependencies": { 1284 | "is-extendable": { 1285 | "version": "1.0.1", 1286 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1287 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1288 | "dev": true, 1289 | "requires": { 1290 | "is-plain-object": "^2.0.4" 1291 | } 1292 | } 1293 | } 1294 | }, 1295 | "extglob": { 1296 | "version": "2.0.4", 1297 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 1298 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 1299 | "dev": true, 1300 | "requires": { 1301 | "array-unique": "^0.3.2", 1302 | "define-property": "^1.0.0", 1303 | "expand-brackets": "^2.1.4", 1304 | "extend-shallow": "^2.0.1", 1305 | "fragment-cache": "^0.2.1", 1306 | "regex-not": "^1.0.0", 1307 | "snapdragon": "^0.8.1", 1308 | "to-regex": "^3.0.1" 1309 | }, 1310 | "dependencies": { 1311 | "define-property": { 1312 | "version": "1.0.0", 1313 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 1314 | "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", 1315 | "dev": true, 1316 | "requires": { 1317 | "is-descriptor": "^1.0.0" 1318 | } 1319 | }, 1320 | "extend-shallow": { 1321 | "version": "2.0.1", 1322 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1323 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 1324 | "dev": true, 1325 | "requires": { 1326 | "is-extendable": "^0.1.0" 1327 | } 1328 | }, 1329 | "is-accessor-descriptor": { 1330 | "version": "1.0.0", 1331 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1332 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1333 | "dev": true, 1334 | "requires": { 1335 | "kind-of": "^6.0.0" 1336 | } 1337 | }, 1338 | "is-data-descriptor": { 1339 | "version": "1.0.0", 1340 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1341 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1342 | "dev": true, 1343 | "requires": { 1344 | "kind-of": "^6.0.0" 1345 | } 1346 | }, 1347 | "is-descriptor": { 1348 | "version": "1.0.2", 1349 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1350 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1351 | "dev": true, 1352 | "requires": { 1353 | "is-accessor-descriptor": "^1.0.0", 1354 | "is-data-descriptor": "^1.0.0", 1355 | "kind-of": "^6.0.2" 1356 | } 1357 | } 1358 | } 1359 | }, 1360 | "fast-deep-equal": { 1361 | "version": "3.1.3", 1362 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1363 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1364 | "dev": true 1365 | }, 1366 | "fast-json-stable-stringify": { 1367 | "version": "2.1.0", 1368 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1369 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1370 | "dev": true 1371 | }, 1372 | "figgy-pudding": { 1373 | "version": "3.5.2", 1374 | "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", 1375 | "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", 1376 | "dev": true 1377 | }, 1378 | "file-uri-to-path": { 1379 | "version": "1.0.0", 1380 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 1381 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 1382 | "dev": true, 1383 | "optional": true 1384 | }, 1385 | "fill-range": { 1386 | "version": "4.0.0", 1387 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 1388 | "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", 1389 | "dev": true, 1390 | "requires": { 1391 | "extend-shallow": "^2.0.1", 1392 | "is-number": "^3.0.0", 1393 | "repeat-string": "^1.6.1", 1394 | "to-regex-range": "^2.1.0" 1395 | }, 1396 | "dependencies": { 1397 | "extend-shallow": { 1398 | "version": "2.0.1", 1399 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1400 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 1401 | "dev": true, 1402 | "requires": { 1403 | "is-extendable": "^0.1.0" 1404 | } 1405 | } 1406 | } 1407 | }, 1408 | "find-cache-dir": { 1409 | "version": "2.1.0", 1410 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", 1411 | "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", 1412 | "dev": true, 1413 | "requires": { 1414 | "commondir": "^1.0.1", 1415 | "make-dir": "^2.0.0", 1416 | "pkg-dir": "^3.0.0" 1417 | } 1418 | }, 1419 | "find-up": { 1420 | "version": "3.0.0", 1421 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 1422 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 1423 | "dev": true, 1424 | "requires": { 1425 | "locate-path": "^3.0.0" 1426 | } 1427 | }, 1428 | "findup-sync": { 1429 | "version": "3.0.0", 1430 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", 1431 | "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", 1432 | "dev": true, 1433 | "requires": { 1434 | "detect-file": "^1.0.0", 1435 | "is-glob": "^4.0.0", 1436 | "micromatch": "^3.0.4", 1437 | "resolve-dir": "^1.0.1" 1438 | } 1439 | }, 1440 | "flush-write-stream": { 1441 | "version": "1.1.1", 1442 | "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", 1443 | "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", 1444 | "dev": true, 1445 | "requires": { 1446 | "inherits": "^2.0.3", 1447 | "readable-stream": "^2.3.6" 1448 | } 1449 | }, 1450 | "for-in": { 1451 | "version": "1.0.2", 1452 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1453 | "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", 1454 | "dev": true 1455 | }, 1456 | "fragment-cache": { 1457 | "version": "0.2.1", 1458 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1459 | "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", 1460 | "dev": true, 1461 | "requires": { 1462 | "map-cache": "^0.2.2" 1463 | } 1464 | }, 1465 | "from2": { 1466 | "version": "2.3.0", 1467 | "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", 1468 | "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", 1469 | "dev": true, 1470 | "requires": { 1471 | "inherits": "^2.0.1", 1472 | "readable-stream": "^2.0.0" 1473 | } 1474 | }, 1475 | "fs-write-stream-atomic": { 1476 | "version": "1.0.10", 1477 | "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", 1478 | "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", 1479 | "dev": true, 1480 | "requires": { 1481 | "graceful-fs": "^4.1.2", 1482 | "iferr": "^0.1.5", 1483 | "imurmurhash": "^0.1.4", 1484 | "readable-stream": "1 || 2" 1485 | } 1486 | }, 1487 | "fs.realpath": { 1488 | "version": "1.0.0", 1489 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1490 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1491 | "dev": true 1492 | }, 1493 | "fsevents": { 1494 | "version": "2.3.2", 1495 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1496 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1497 | "dev": true, 1498 | "optional": true 1499 | }, 1500 | "get-caller-file": { 1501 | "version": "2.0.5", 1502 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1503 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1504 | "dev": true 1505 | }, 1506 | "get-value": { 1507 | "version": "2.0.6", 1508 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1509 | "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", 1510 | "dev": true 1511 | }, 1512 | "glob": { 1513 | "version": "7.2.3", 1514 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1515 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1516 | "dev": true, 1517 | "requires": { 1518 | "fs.realpath": "^1.0.0", 1519 | "inflight": "^1.0.4", 1520 | "inherits": "2", 1521 | "minimatch": "^3.1.1", 1522 | "once": "^1.3.0", 1523 | "path-is-absolute": "^1.0.0" 1524 | } 1525 | }, 1526 | "glob-parent": { 1527 | "version": "5.1.2", 1528 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1529 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1530 | "dev": true, 1531 | "optional": true, 1532 | "requires": { 1533 | "is-glob": "^4.0.1" 1534 | } 1535 | }, 1536 | "global-modules": { 1537 | "version": "2.0.0", 1538 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", 1539 | "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", 1540 | "dev": true, 1541 | "requires": { 1542 | "global-prefix": "^3.0.0" 1543 | }, 1544 | "dependencies": { 1545 | "global-prefix": { 1546 | "version": "3.0.0", 1547 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", 1548 | "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", 1549 | "dev": true, 1550 | "requires": { 1551 | "ini": "^1.3.5", 1552 | "kind-of": "^6.0.2", 1553 | "which": "^1.3.1" 1554 | } 1555 | } 1556 | } 1557 | }, 1558 | "global-prefix": { 1559 | "version": "1.0.2", 1560 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1561 | "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", 1562 | "dev": true, 1563 | "requires": { 1564 | "expand-tilde": "^2.0.2", 1565 | "homedir-polyfill": "^1.0.1", 1566 | "ini": "^1.3.4", 1567 | "is-windows": "^1.0.1", 1568 | "which": "^1.2.14" 1569 | } 1570 | }, 1571 | "graceful-fs": { 1572 | "version": "4.1.11", 1573 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1574 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1575 | "dev": true 1576 | }, 1577 | "has-flag": { 1578 | "version": "3.0.0", 1579 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1580 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1581 | "dev": true 1582 | }, 1583 | "has-value": { 1584 | "version": "1.0.0", 1585 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1586 | "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", 1587 | "dev": true, 1588 | "requires": { 1589 | "get-value": "^2.0.6", 1590 | "has-values": "^1.0.0", 1591 | "isobject": "^3.0.0" 1592 | } 1593 | }, 1594 | "has-values": { 1595 | "version": "1.0.0", 1596 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1597 | "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", 1598 | "dev": true, 1599 | "requires": { 1600 | "is-number": "^3.0.0", 1601 | "kind-of": "^4.0.0" 1602 | }, 1603 | "dependencies": { 1604 | "kind-of": { 1605 | "version": "4.0.0", 1606 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1607 | "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", 1608 | "dev": true, 1609 | "requires": { 1610 | "is-buffer": "^1.1.5" 1611 | } 1612 | } 1613 | } 1614 | }, 1615 | "hash-base": { 1616 | "version": "3.1.0", 1617 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", 1618 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", 1619 | "dev": true, 1620 | "requires": { 1621 | "inherits": "^2.0.4", 1622 | "readable-stream": "^3.6.0", 1623 | "safe-buffer": "^5.2.0" 1624 | }, 1625 | "dependencies": { 1626 | "inherits": { 1627 | "version": "2.0.4", 1628 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1629 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1630 | "dev": true 1631 | }, 1632 | "readable-stream": { 1633 | "version": "3.6.0", 1634 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1635 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1636 | "dev": true, 1637 | "requires": { 1638 | "inherits": "^2.0.3", 1639 | "string_decoder": "^1.1.1", 1640 | "util-deprecate": "^1.0.1" 1641 | } 1642 | }, 1643 | "safe-buffer": { 1644 | "version": "5.2.1", 1645 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1646 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1647 | "dev": true 1648 | } 1649 | } 1650 | }, 1651 | "hash.js": { 1652 | "version": "1.1.7", 1653 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1654 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1655 | "dev": true, 1656 | "requires": { 1657 | "inherits": "^2.0.3", 1658 | "minimalistic-assert": "^1.0.1" 1659 | } 1660 | }, 1661 | "hmac-drbg": { 1662 | "version": "1.0.1", 1663 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1664 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 1665 | "dev": true, 1666 | "requires": { 1667 | "hash.js": "^1.0.3", 1668 | "minimalistic-assert": "^1.0.0", 1669 | "minimalistic-crypto-utils": "^1.0.1" 1670 | } 1671 | }, 1672 | "homedir-polyfill": { 1673 | "version": "1.0.3", 1674 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", 1675 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", 1676 | "dev": true, 1677 | "requires": { 1678 | "parse-passwd": "^1.0.0" 1679 | } 1680 | }, 1681 | "https-browserify": { 1682 | "version": "1.0.0", 1683 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 1684 | "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", 1685 | "dev": true 1686 | }, 1687 | "ieee754": { 1688 | "version": "1.2.1", 1689 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1690 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1691 | "dev": true 1692 | }, 1693 | "iferr": { 1694 | "version": "0.1.5", 1695 | "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", 1696 | "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", 1697 | "dev": true 1698 | }, 1699 | "import-local": { 1700 | "version": "2.0.0", 1701 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", 1702 | "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", 1703 | "dev": true, 1704 | "requires": { 1705 | "pkg-dir": "^3.0.0", 1706 | "resolve-cwd": "^2.0.0" 1707 | } 1708 | }, 1709 | "imurmurhash": { 1710 | "version": "0.1.4", 1711 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1712 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1713 | "dev": true 1714 | }, 1715 | "infer-owner": { 1716 | "version": "1.0.4", 1717 | "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", 1718 | "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", 1719 | "dev": true 1720 | }, 1721 | "inflight": { 1722 | "version": "1.0.6", 1723 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1724 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1725 | "dev": true, 1726 | "requires": { 1727 | "once": "^1.3.0", 1728 | "wrappy": "1" 1729 | } 1730 | }, 1731 | "inherits": { 1732 | "version": "2.0.3", 1733 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1734 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1735 | "dev": true 1736 | }, 1737 | "ini": { 1738 | "version": "1.3.8", 1739 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1740 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1741 | "dev": true 1742 | }, 1743 | "interpret": { 1744 | "version": "1.4.0", 1745 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", 1746 | "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", 1747 | "dev": true 1748 | }, 1749 | "is-accessor-descriptor": { 1750 | "version": "0.1.6", 1751 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1752 | "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", 1753 | "dev": true, 1754 | "requires": { 1755 | "kind-of": "^3.0.2" 1756 | }, 1757 | "dependencies": { 1758 | "kind-of": { 1759 | "version": "3.2.2", 1760 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1761 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 1762 | "dev": true, 1763 | "requires": { 1764 | "is-buffer": "^1.1.5" 1765 | } 1766 | } 1767 | } 1768 | }, 1769 | "is-binary-path": { 1770 | "version": "2.1.0", 1771 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1772 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1773 | "dev": true, 1774 | "optional": true, 1775 | "requires": { 1776 | "binary-extensions": "^2.0.0" 1777 | } 1778 | }, 1779 | "is-buffer": { 1780 | "version": "1.1.6", 1781 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1782 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1783 | "dev": true 1784 | }, 1785 | "is-data-descriptor": { 1786 | "version": "0.1.4", 1787 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1788 | "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", 1789 | "dev": true, 1790 | "requires": { 1791 | "kind-of": "^3.0.2" 1792 | }, 1793 | "dependencies": { 1794 | "kind-of": { 1795 | "version": "3.2.2", 1796 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1797 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 1798 | "dev": true, 1799 | "requires": { 1800 | "is-buffer": "^1.1.5" 1801 | } 1802 | } 1803 | } 1804 | }, 1805 | "is-descriptor": { 1806 | "version": "0.1.6", 1807 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1808 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1809 | "dev": true, 1810 | "requires": { 1811 | "is-accessor-descriptor": "^0.1.6", 1812 | "is-data-descriptor": "^0.1.4", 1813 | "kind-of": "^5.0.0" 1814 | }, 1815 | "dependencies": { 1816 | "kind-of": { 1817 | "version": "5.1.0", 1818 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1819 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 1820 | "dev": true 1821 | } 1822 | } 1823 | }, 1824 | "is-extendable": { 1825 | "version": "0.1.1", 1826 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1827 | "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", 1828 | "dev": true 1829 | }, 1830 | "is-extglob": { 1831 | "version": "2.1.1", 1832 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1833 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1834 | "dev": true, 1835 | "optional": true 1836 | }, 1837 | "is-fullwidth-code-point": { 1838 | "version": "2.0.0", 1839 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1840 | "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", 1841 | "dev": true 1842 | }, 1843 | "is-glob": { 1844 | "version": "4.0.3", 1845 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1846 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1847 | "dev": true, 1848 | "requires": { 1849 | "is-extglob": "^2.1.1" 1850 | } 1851 | }, 1852 | "is-number": { 1853 | "version": "3.0.0", 1854 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1855 | "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", 1856 | "dev": true, 1857 | "requires": { 1858 | "kind-of": "^3.0.2" 1859 | }, 1860 | "dependencies": { 1861 | "kind-of": { 1862 | "version": "3.2.2", 1863 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1864 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 1865 | "dev": true, 1866 | "requires": { 1867 | "is-buffer": "^1.1.5" 1868 | } 1869 | } 1870 | } 1871 | }, 1872 | "is-plain-object": { 1873 | "version": "2.0.4", 1874 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1875 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1876 | "dev": true, 1877 | "requires": { 1878 | "isobject": "^3.0.1" 1879 | } 1880 | }, 1881 | "is-windows": { 1882 | "version": "1.0.2", 1883 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1884 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 1885 | "dev": true 1886 | }, 1887 | "is-wsl": { 1888 | "version": "1.1.0", 1889 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 1890 | "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", 1891 | "dev": true 1892 | }, 1893 | "isarray": { 1894 | "version": "1.0.0", 1895 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1896 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1897 | "dev": true 1898 | }, 1899 | "isexe": { 1900 | "version": "2.0.0", 1901 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1902 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1903 | "dev": true 1904 | }, 1905 | "isobject": { 1906 | "version": "3.0.1", 1907 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1908 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", 1909 | "dev": true 1910 | }, 1911 | "json-parse-better-errors": { 1912 | "version": "1.0.2", 1913 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 1914 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 1915 | "dev": true 1916 | }, 1917 | "json-schema-traverse": { 1918 | "version": "0.4.1", 1919 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1920 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1921 | "dev": true 1922 | }, 1923 | "kind-of": { 1924 | "version": "6.0.3", 1925 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1926 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 1927 | "dev": true 1928 | }, 1929 | "loader-runner": { 1930 | "version": "2.4.0", 1931 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", 1932 | "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", 1933 | "dev": true 1934 | }, 1935 | "loader-utils": { 1936 | "version": "1.4.2", 1937 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", 1938 | "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", 1939 | "dev": true, 1940 | "requires": { 1941 | "big.js": "^5.2.2", 1942 | "emojis-list": "^3.0.0", 1943 | "json5": "^1.0.1" 1944 | }, 1945 | "dependencies": { 1946 | "big.js": { 1947 | "version": "5.2.2", 1948 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", 1949 | "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", 1950 | "dev": true 1951 | }, 1952 | "emojis-list": { 1953 | "version": "3.0.0", 1954 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", 1955 | "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", 1956 | "dev": true 1957 | }, 1958 | "json5": { 1959 | "version": "1.0.2", 1960 | "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.2.tgz", 1961 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", 1962 | "dev": true, 1963 | "requires": { 1964 | "minimist": "^1.2.0" 1965 | } 1966 | } 1967 | } 1968 | }, 1969 | "locate-path": { 1970 | "version": "3.0.0", 1971 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 1972 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 1973 | "dev": true, 1974 | "requires": { 1975 | "p-locate": "^3.0.0", 1976 | "path-exists": "^3.0.0" 1977 | } 1978 | }, 1979 | "lru-cache": { 1980 | "version": "5.1.1", 1981 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 1982 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 1983 | "dev": true, 1984 | "requires": { 1985 | "yallist": "^3.0.2" 1986 | } 1987 | }, 1988 | "make-dir": { 1989 | "version": "2.1.0", 1990 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 1991 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 1992 | "dev": true, 1993 | "requires": { 1994 | "pify": "^4.0.1", 1995 | "semver": "^5.6.0" 1996 | }, 1997 | "dependencies": { 1998 | "semver": { 1999 | "version": "5.7.1", 2000 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2001 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2002 | "dev": true 2003 | } 2004 | } 2005 | }, 2006 | "map-cache": { 2007 | "version": "0.2.2", 2008 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2009 | "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", 2010 | "dev": true 2011 | }, 2012 | "map-visit": { 2013 | "version": "1.0.0", 2014 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2015 | "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", 2016 | "dev": true, 2017 | "requires": { 2018 | "object-visit": "^1.0.0" 2019 | } 2020 | }, 2021 | "md5.js": { 2022 | "version": "1.3.5", 2023 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 2024 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 2025 | "dev": true, 2026 | "requires": { 2027 | "hash-base": "^3.0.0", 2028 | "inherits": "^2.0.1", 2029 | "safe-buffer": "^5.1.2" 2030 | } 2031 | }, 2032 | "memory-fs": { 2033 | "version": "0.4.1", 2034 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", 2035 | "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", 2036 | "dev": true, 2037 | "requires": { 2038 | "errno": "^0.1.3", 2039 | "readable-stream": "^2.0.1" 2040 | } 2041 | }, 2042 | "micromatch": { 2043 | "version": "3.1.10", 2044 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 2045 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 2046 | "dev": true, 2047 | "requires": { 2048 | "arr-diff": "^4.0.0", 2049 | "array-unique": "^0.3.2", 2050 | "braces": "^2.3.1", 2051 | "define-property": "^2.0.2", 2052 | "extend-shallow": "^3.0.2", 2053 | "extglob": "^2.0.4", 2054 | "fragment-cache": "^0.2.1", 2055 | "kind-of": "^6.0.2", 2056 | "nanomatch": "^1.2.9", 2057 | "object.pick": "^1.3.0", 2058 | "regex-not": "^1.0.0", 2059 | "snapdragon": "^0.8.1", 2060 | "to-regex": "^3.0.2" 2061 | } 2062 | }, 2063 | "miller-rabin": { 2064 | "version": "4.0.1", 2065 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 2066 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 2067 | "dev": true, 2068 | "requires": { 2069 | "bn.js": "^4.0.0", 2070 | "brorand": "^1.0.1" 2071 | }, 2072 | "dependencies": { 2073 | "bn.js": { 2074 | "version": "4.12.0", 2075 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2076 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 2077 | "dev": true 2078 | } 2079 | } 2080 | }, 2081 | "minimalistic-assert": { 2082 | "version": "1.0.1", 2083 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 2084 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", 2085 | "dev": true 2086 | }, 2087 | "minimalistic-crypto-utils": { 2088 | "version": "1.0.1", 2089 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 2090 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", 2091 | "dev": true 2092 | }, 2093 | "minimatch": { 2094 | "version": "3.1.2", 2095 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2096 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2097 | "dev": true, 2098 | "requires": { 2099 | "brace-expansion": "^1.1.7" 2100 | } 2101 | }, 2102 | "minimist": { 2103 | "version": "1.2.7", 2104 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 2105 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 2106 | "dev": true 2107 | }, 2108 | "mississippi": { 2109 | "version": "3.0.0", 2110 | "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", 2111 | "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", 2112 | "dev": true, 2113 | "requires": { 2114 | "concat-stream": "^1.5.0", 2115 | "duplexify": "^3.4.2", 2116 | "end-of-stream": "^1.1.0", 2117 | "flush-write-stream": "^1.0.0", 2118 | "from2": "^2.1.0", 2119 | "parallel-transform": "^1.1.0", 2120 | "pump": "^3.0.0", 2121 | "pumpify": "^1.3.3", 2122 | "stream-each": "^1.1.0", 2123 | "through2": "^2.0.0" 2124 | } 2125 | }, 2126 | "mixin-deep": { 2127 | "version": "1.3.2", 2128 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", 2129 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", 2130 | "dev": true, 2131 | "requires": { 2132 | "for-in": "^1.0.2", 2133 | "is-extendable": "^1.0.1" 2134 | }, 2135 | "dependencies": { 2136 | "is-extendable": { 2137 | "version": "1.0.1", 2138 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2139 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2140 | "dev": true, 2141 | "requires": { 2142 | "is-plain-object": "^2.0.4" 2143 | } 2144 | } 2145 | } 2146 | }, 2147 | "mkdirp": { 2148 | "version": "0.5.6", 2149 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 2150 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 2151 | "dev": true, 2152 | "requires": { 2153 | "minimist": "^1.2.6" 2154 | } 2155 | }, 2156 | "move-concurrently": { 2157 | "version": "1.0.1", 2158 | "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", 2159 | "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", 2160 | "dev": true, 2161 | "requires": { 2162 | "aproba": "^1.1.1", 2163 | "copy-concurrently": "^1.0.0", 2164 | "fs-write-stream-atomic": "^1.0.8", 2165 | "mkdirp": "^0.5.1", 2166 | "rimraf": "^2.5.4", 2167 | "run-queue": "^1.0.3" 2168 | } 2169 | }, 2170 | "ms": { 2171 | "version": "2.0.0", 2172 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2173 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 2174 | "dev": true 2175 | }, 2176 | "nan": { 2177 | "version": "2.17.0", 2178 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", 2179 | "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", 2180 | "dev": true, 2181 | "optional": true 2182 | }, 2183 | "nanomatch": { 2184 | "version": "1.2.13", 2185 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 2186 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 2187 | "dev": true, 2188 | "requires": { 2189 | "arr-diff": "^4.0.0", 2190 | "array-unique": "^0.3.2", 2191 | "define-property": "^2.0.2", 2192 | "extend-shallow": "^3.0.2", 2193 | "fragment-cache": "^0.2.1", 2194 | "is-windows": "^1.0.2", 2195 | "kind-of": "^6.0.2", 2196 | "object.pick": "^1.3.0", 2197 | "regex-not": "^1.0.0", 2198 | "snapdragon": "^0.8.1", 2199 | "to-regex": "^3.0.1" 2200 | } 2201 | }, 2202 | "neo-async": { 2203 | "version": "2.6.2", 2204 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 2205 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 2206 | "dev": true 2207 | }, 2208 | "nice-try": { 2209 | "version": "1.0.5", 2210 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2211 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 2212 | "dev": true 2213 | }, 2214 | "node-libs-browser": { 2215 | "version": "2.2.1", 2216 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", 2217 | "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", 2218 | "dev": true, 2219 | "requires": { 2220 | "assert": "^1.1.1", 2221 | "browserify-zlib": "^0.2.0", 2222 | "buffer": "^4.3.0", 2223 | "console-browserify": "^1.1.0", 2224 | "constants-browserify": "^1.0.0", 2225 | "crypto-browserify": "^3.11.0", 2226 | "domain-browser": "^1.1.1", 2227 | "events": "^3.0.0", 2228 | "https-browserify": "^1.0.0", 2229 | "os-browserify": "^0.3.0", 2230 | "path-browserify": "0.0.1", 2231 | "process": "^0.11.10", 2232 | "punycode": "^1.2.4", 2233 | "querystring-es3": "^0.2.0", 2234 | "readable-stream": "^2.3.3", 2235 | "stream-browserify": "^2.0.1", 2236 | "stream-http": "^2.7.2", 2237 | "string_decoder": "^1.0.0", 2238 | "timers-browserify": "^2.0.4", 2239 | "tty-browserify": "0.0.0", 2240 | "url": "^0.11.0", 2241 | "util": "^0.11.0", 2242 | "vm-browserify": "^1.0.1" 2243 | }, 2244 | "dependencies": { 2245 | "punycode": { 2246 | "version": "1.4.1", 2247 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2248 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 2249 | "dev": true 2250 | } 2251 | } 2252 | }, 2253 | "normalize-path": { 2254 | "version": "3.0.0", 2255 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2256 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2257 | "dev": true, 2258 | "optional": true 2259 | }, 2260 | "object-assign": { 2261 | "version": "4.1.1", 2262 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2263 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2264 | "dev": true 2265 | }, 2266 | "object-copy": { 2267 | "version": "0.1.0", 2268 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2269 | "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", 2270 | "dev": true, 2271 | "requires": { 2272 | "copy-descriptor": "^0.1.0", 2273 | "define-property": "^0.2.5", 2274 | "kind-of": "^3.0.3" 2275 | }, 2276 | "dependencies": { 2277 | "define-property": { 2278 | "version": "0.2.5", 2279 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2280 | "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", 2281 | "dev": true, 2282 | "requires": { 2283 | "is-descriptor": "^0.1.0" 2284 | } 2285 | }, 2286 | "kind-of": { 2287 | "version": "3.2.2", 2288 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2289 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 2290 | "dev": true, 2291 | "requires": { 2292 | "is-buffer": "^1.1.5" 2293 | } 2294 | } 2295 | } 2296 | }, 2297 | "object-visit": { 2298 | "version": "1.0.1", 2299 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2300 | "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", 2301 | "dev": true, 2302 | "requires": { 2303 | "isobject": "^3.0.0" 2304 | } 2305 | }, 2306 | "object.pick": { 2307 | "version": "1.3.0", 2308 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2309 | "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", 2310 | "dev": true, 2311 | "requires": { 2312 | "isobject": "^3.0.1" 2313 | } 2314 | }, 2315 | "once": { 2316 | "version": "1.4.0", 2317 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2318 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2319 | "dev": true, 2320 | "requires": { 2321 | "wrappy": "1" 2322 | } 2323 | }, 2324 | "os-browserify": { 2325 | "version": "0.3.0", 2326 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", 2327 | "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", 2328 | "dev": true 2329 | }, 2330 | "p-limit": { 2331 | "version": "2.3.0", 2332 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2333 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2334 | "dev": true, 2335 | "requires": { 2336 | "p-try": "^2.0.0" 2337 | } 2338 | }, 2339 | "p-locate": { 2340 | "version": "3.0.0", 2341 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2342 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2343 | "dev": true, 2344 | "requires": { 2345 | "p-limit": "^2.0.0" 2346 | } 2347 | }, 2348 | "p-try": { 2349 | "version": "2.2.0", 2350 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2351 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 2352 | "dev": true 2353 | }, 2354 | "pako": { 2355 | "version": "1.0.11", 2356 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 2357 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 2358 | "dev": true 2359 | }, 2360 | "parallel-transform": { 2361 | "version": "1.2.0", 2362 | "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", 2363 | "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", 2364 | "dev": true, 2365 | "requires": { 2366 | "cyclist": "^1.0.1", 2367 | "inherits": "^2.0.3", 2368 | "readable-stream": "^2.1.5" 2369 | } 2370 | }, 2371 | "parse-asn1": { 2372 | "version": "5.1.6", 2373 | "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", 2374 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", 2375 | "dev": true, 2376 | "requires": { 2377 | "asn1.js": "^5.2.0", 2378 | "browserify-aes": "^1.0.0", 2379 | "evp_bytestokey": "^1.0.0", 2380 | "pbkdf2": "^3.0.3", 2381 | "safe-buffer": "^5.1.1" 2382 | } 2383 | }, 2384 | "parse-passwd": { 2385 | "version": "1.0.0", 2386 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 2387 | "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", 2388 | "dev": true 2389 | }, 2390 | "pascalcase": { 2391 | "version": "0.1.1", 2392 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2393 | "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", 2394 | "dev": true 2395 | }, 2396 | "path-browserify": { 2397 | "version": "0.0.1", 2398 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", 2399 | "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", 2400 | "dev": true 2401 | }, 2402 | "path-dirname": { 2403 | "version": "1.0.2", 2404 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", 2405 | "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", 2406 | "dev": true, 2407 | "optional": true 2408 | }, 2409 | "path-exists": { 2410 | "version": "3.0.0", 2411 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2412 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 2413 | "dev": true 2414 | }, 2415 | "path-is-absolute": { 2416 | "version": "1.0.1", 2417 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2418 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2419 | "dev": true 2420 | }, 2421 | "path-key": { 2422 | "version": "2.0.1", 2423 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2424 | "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", 2425 | "dev": true 2426 | }, 2427 | "pbkdf2": { 2428 | "version": "3.1.2", 2429 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", 2430 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", 2431 | "dev": true, 2432 | "requires": { 2433 | "create-hash": "^1.1.2", 2434 | "create-hmac": "^1.1.4", 2435 | "ripemd160": "^2.0.1", 2436 | "safe-buffer": "^5.0.1", 2437 | "sha.js": "^2.4.8" 2438 | } 2439 | }, 2440 | "picomatch": { 2441 | "version": "2.3.1", 2442 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2443 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2444 | "dev": true, 2445 | "optional": true 2446 | }, 2447 | "pify": { 2448 | "version": "4.0.1", 2449 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2450 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 2451 | "dev": true 2452 | }, 2453 | "pkg-dir": { 2454 | "version": "3.0.0", 2455 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 2456 | "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", 2457 | "dev": true, 2458 | "requires": { 2459 | "find-up": "^3.0.0" 2460 | } 2461 | }, 2462 | "posix-character-classes": { 2463 | "version": "0.1.1", 2464 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2465 | "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", 2466 | "dev": true 2467 | }, 2468 | "process": { 2469 | "version": "0.11.10", 2470 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 2471 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 2472 | "dev": true 2473 | }, 2474 | "process-nextick-args": { 2475 | "version": "2.0.0", 2476 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2477 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 2478 | "dev": true 2479 | }, 2480 | "promise-inflight": { 2481 | "version": "1.0.1", 2482 | "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 2483 | "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", 2484 | "dev": true 2485 | }, 2486 | "prr": { 2487 | "version": "1.0.1", 2488 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 2489 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", 2490 | "dev": true 2491 | }, 2492 | "public-encrypt": { 2493 | "version": "4.0.3", 2494 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 2495 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 2496 | "dev": true, 2497 | "requires": { 2498 | "bn.js": "^4.1.0", 2499 | "browserify-rsa": "^4.0.0", 2500 | "create-hash": "^1.1.0", 2501 | "parse-asn1": "^5.0.0", 2502 | "randombytes": "^2.0.1", 2503 | "safe-buffer": "^5.1.2" 2504 | }, 2505 | "dependencies": { 2506 | "bn.js": { 2507 | "version": "4.12.0", 2508 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 2509 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 2510 | "dev": true 2511 | } 2512 | } 2513 | }, 2514 | "pump": { 2515 | "version": "3.0.0", 2516 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2517 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2518 | "dev": true, 2519 | "requires": { 2520 | "end-of-stream": "^1.1.0", 2521 | "once": "^1.3.1" 2522 | } 2523 | }, 2524 | "pumpify": { 2525 | "version": "1.5.1", 2526 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", 2527 | "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", 2528 | "dev": true, 2529 | "requires": { 2530 | "duplexify": "^3.6.0", 2531 | "inherits": "^2.0.3", 2532 | "pump": "^2.0.0" 2533 | }, 2534 | "dependencies": { 2535 | "pump": { 2536 | "version": "2.0.1", 2537 | "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", 2538 | "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", 2539 | "dev": true, 2540 | "requires": { 2541 | "end-of-stream": "^1.1.0", 2542 | "once": "^1.3.1" 2543 | } 2544 | } 2545 | } 2546 | }, 2547 | "punycode": { 2548 | "version": "2.2.0", 2549 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", 2550 | "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", 2551 | "dev": true 2552 | }, 2553 | "querystring": { 2554 | "version": "0.2.0", 2555 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 2556 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", 2557 | "dev": true 2558 | }, 2559 | "querystring-es3": { 2560 | "version": "0.2.1", 2561 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 2562 | "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", 2563 | "dev": true 2564 | }, 2565 | "randombytes": { 2566 | "version": "2.1.0", 2567 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2568 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2569 | "dev": true, 2570 | "requires": { 2571 | "safe-buffer": "^5.1.0" 2572 | } 2573 | }, 2574 | "randomfill": { 2575 | "version": "1.0.4", 2576 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 2577 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 2578 | "dev": true, 2579 | "requires": { 2580 | "randombytes": "^2.0.5", 2581 | "safe-buffer": "^5.1.0" 2582 | } 2583 | }, 2584 | "readable-stream": { 2585 | "version": "2.3.6", 2586 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 2587 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 2588 | "dev": true, 2589 | "requires": { 2590 | "core-util-is": "~1.0.0", 2591 | "inherits": "~2.0.3", 2592 | "isarray": "~1.0.0", 2593 | "process-nextick-args": "~2.0.0", 2594 | "safe-buffer": "~5.1.1", 2595 | "string_decoder": "~1.1.1", 2596 | "util-deprecate": "~1.0.1" 2597 | } 2598 | }, 2599 | "readdirp": { 2600 | "version": "3.6.0", 2601 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2602 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2603 | "dev": true, 2604 | "optional": true, 2605 | "requires": { 2606 | "picomatch": "^2.2.1" 2607 | } 2608 | }, 2609 | "regex-not": { 2610 | "version": "1.0.2", 2611 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 2612 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 2613 | "dev": true, 2614 | "requires": { 2615 | "extend-shallow": "^3.0.2", 2616 | "safe-regex": "^1.1.0" 2617 | } 2618 | }, 2619 | "remove-trailing-separator": { 2620 | "version": "1.1.0", 2621 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2622 | "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", 2623 | "dev": true, 2624 | "optional": true 2625 | }, 2626 | "repeat-element": { 2627 | "version": "1.1.4", 2628 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", 2629 | "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", 2630 | "dev": true 2631 | }, 2632 | "repeat-string": { 2633 | "version": "1.6.1", 2634 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2635 | "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", 2636 | "dev": true 2637 | }, 2638 | "require-directory": { 2639 | "version": "2.1.1", 2640 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2641 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 2642 | "dev": true 2643 | }, 2644 | "require-main-filename": { 2645 | "version": "2.0.0", 2646 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2647 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2648 | "dev": true 2649 | }, 2650 | "resolve-cwd": { 2651 | "version": "2.0.0", 2652 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", 2653 | "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", 2654 | "dev": true, 2655 | "requires": { 2656 | "resolve-from": "^3.0.0" 2657 | } 2658 | }, 2659 | "resolve-dir": { 2660 | "version": "1.0.1", 2661 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 2662 | "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", 2663 | "dev": true, 2664 | "requires": { 2665 | "expand-tilde": "^2.0.0", 2666 | "global-modules": "^1.0.0" 2667 | }, 2668 | "dependencies": { 2669 | "global-modules": { 2670 | "version": "1.0.0", 2671 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 2672 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 2673 | "dev": true, 2674 | "requires": { 2675 | "global-prefix": "^1.0.1", 2676 | "is-windows": "^1.0.1", 2677 | "resolve-dir": "^1.0.0" 2678 | } 2679 | } 2680 | } 2681 | }, 2682 | "resolve-from": { 2683 | "version": "3.0.0", 2684 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", 2685 | "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", 2686 | "dev": true 2687 | }, 2688 | "resolve-url": { 2689 | "version": "0.2.1", 2690 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 2691 | "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", 2692 | "dev": true 2693 | }, 2694 | "ret": { 2695 | "version": "0.1.15", 2696 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 2697 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 2698 | "dev": true 2699 | }, 2700 | "rimraf": { 2701 | "version": "2.7.1", 2702 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 2703 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 2704 | "dev": true, 2705 | "requires": { 2706 | "glob": "^7.1.3" 2707 | } 2708 | }, 2709 | "ripemd160": { 2710 | "version": "2.0.2", 2711 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 2712 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 2713 | "dev": true, 2714 | "requires": { 2715 | "hash-base": "^3.0.0", 2716 | "inherits": "^2.0.1" 2717 | } 2718 | }, 2719 | "run-queue": { 2720 | "version": "1.0.3", 2721 | "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", 2722 | "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", 2723 | "dev": true, 2724 | "requires": { 2725 | "aproba": "^1.1.1" 2726 | } 2727 | }, 2728 | "safe-buffer": { 2729 | "version": "5.1.2", 2730 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2731 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2732 | "dev": true 2733 | }, 2734 | "safe-regex": { 2735 | "version": "1.1.0", 2736 | "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 2737 | "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", 2738 | "dev": true, 2739 | "requires": { 2740 | "ret": "~0.1.10" 2741 | } 2742 | }, 2743 | "safer-buffer": { 2744 | "version": "2.1.2", 2745 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2746 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2747 | "dev": true 2748 | }, 2749 | "schema-utils": { 2750 | "version": "1.0.0", 2751 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", 2752 | "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", 2753 | "dev": true, 2754 | "requires": { 2755 | "ajv": "^6.1.0", 2756 | "ajv-errors": "^1.0.0", 2757 | "ajv-keywords": "^3.1.0" 2758 | } 2759 | }, 2760 | "semver": { 2761 | "version": "5.7.1", 2762 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2763 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2764 | "dev": true 2765 | }, 2766 | "serialize-javascript": { 2767 | "version": "4.0.0", 2768 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", 2769 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", 2770 | "dev": true, 2771 | "requires": { 2772 | "randombytes": "^2.1.0" 2773 | } 2774 | }, 2775 | "set-blocking": { 2776 | "version": "2.0.0", 2777 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2778 | "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", 2779 | "dev": true 2780 | }, 2781 | "set-value": { 2782 | "version": "2.0.1", 2783 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", 2784 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", 2785 | "dev": true, 2786 | "requires": { 2787 | "extend-shallow": "^2.0.1", 2788 | "is-extendable": "^0.1.1", 2789 | "is-plain-object": "^2.0.3", 2790 | "split-string": "^3.0.1" 2791 | }, 2792 | "dependencies": { 2793 | "extend-shallow": { 2794 | "version": "2.0.1", 2795 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2796 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 2797 | "dev": true, 2798 | "requires": { 2799 | "is-extendable": "^0.1.0" 2800 | } 2801 | } 2802 | } 2803 | }, 2804 | "setimmediate": { 2805 | "version": "1.0.5", 2806 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 2807 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 2808 | "dev": true 2809 | }, 2810 | "sha.js": { 2811 | "version": "2.4.11", 2812 | "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 2813 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 2814 | "dev": true, 2815 | "requires": { 2816 | "inherits": "^2.0.1", 2817 | "safe-buffer": "^5.0.1" 2818 | } 2819 | }, 2820 | "shebang-command": { 2821 | "version": "1.2.0", 2822 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2823 | "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", 2824 | "dev": true, 2825 | "requires": { 2826 | "shebang-regex": "^1.0.0" 2827 | } 2828 | }, 2829 | "shebang-regex": { 2830 | "version": "1.0.0", 2831 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2832 | "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", 2833 | "dev": true 2834 | }, 2835 | "snapdragon": { 2836 | "version": "0.8.2", 2837 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 2838 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 2839 | "dev": true, 2840 | "requires": { 2841 | "base": "^0.11.1", 2842 | "debug": "^2.2.0", 2843 | "define-property": "^0.2.5", 2844 | "extend-shallow": "^2.0.1", 2845 | "map-cache": "^0.2.2", 2846 | "source-map": "^0.5.6", 2847 | "source-map-resolve": "^0.5.0", 2848 | "use": "^3.1.0" 2849 | }, 2850 | "dependencies": { 2851 | "define-property": { 2852 | "version": "0.2.5", 2853 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2854 | "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", 2855 | "dev": true, 2856 | "requires": { 2857 | "is-descriptor": "^0.1.0" 2858 | } 2859 | }, 2860 | "extend-shallow": { 2861 | "version": "2.0.1", 2862 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2863 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", 2864 | "dev": true, 2865 | "requires": { 2866 | "is-extendable": "^0.1.0" 2867 | } 2868 | } 2869 | } 2870 | }, 2871 | "snapdragon-node": { 2872 | "version": "2.1.1", 2873 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 2874 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 2875 | "dev": true, 2876 | "requires": { 2877 | "define-property": "^1.0.0", 2878 | "isobject": "^3.0.0", 2879 | "snapdragon-util": "^3.0.1" 2880 | }, 2881 | "dependencies": { 2882 | "define-property": { 2883 | "version": "1.0.0", 2884 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 2885 | "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", 2886 | "dev": true, 2887 | "requires": { 2888 | "is-descriptor": "^1.0.0" 2889 | } 2890 | }, 2891 | "is-accessor-descriptor": { 2892 | "version": "1.0.0", 2893 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 2894 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 2895 | "dev": true, 2896 | "requires": { 2897 | "kind-of": "^6.0.0" 2898 | } 2899 | }, 2900 | "is-data-descriptor": { 2901 | "version": "1.0.0", 2902 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 2903 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 2904 | "dev": true, 2905 | "requires": { 2906 | "kind-of": "^6.0.0" 2907 | } 2908 | }, 2909 | "is-descriptor": { 2910 | "version": "1.0.2", 2911 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 2912 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 2913 | "dev": true, 2914 | "requires": { 2915 | "is-accessor-descriptor": "^1.0.0", 2916 | "is-data-descriptor": "^1.0.0", 2917 | "kind-of": "^6.0.2" 2918 | } 2919 | } 2920 | } 2921 | }, 2922 | "snapdragon-util": { 2923 | "version": "3.0.1", 2924 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 2925 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 2926 | "dev": true, 2927 | "requires": { 2928 | "kind-of": "^3.2.0" 2929 | }, 2930 | "dependencies": { 2931 | "kind-of": { 2932 | "version": "3.2.2", 2933 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2934 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 2935 | "dev": true, 2936 | "requires": { 2937 | "is-buffer": "^1.1.5" 2938 | } 2939 | } 2940 | } 2941 | }, 2942 | "source-list-map": { 2943 | "version": "2.0.1", 2944 | "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", 2945 | "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", 2946 | "dev": true 2947 | }, 2948 | "source-map": { 2949 | "version": "0.5.7", 2950 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2951 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", 2952 | "dev": true 2953 | }, 2954 | "source-map-resolve": { 2955 | "version": "0.5.3", 2956 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", 2957 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", 2958 | "dev": true, 2959 | "requires": { 2960 | "atob": "^2.1.2", 2961 | "decode-uri-component": "^0.2.0", 2962 | "resolve-url": "^0.2.1", 2963 | "source-map-url": "^0.4.0", 2964 | "urix": "^0.1.0" 2965 | } 2966 | }, 2967 | "source-map-support": { 2968 | "version": "0.5.21", 2969 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2970 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2971 | "dev": true, 2972 | "requires": { 2973 | "buffer-from": "^1.0.0", 2974 | "source-map": "^0.6.0" 2975 | }, 2976 | "dependencies": { 2977 | "source-map": { 2978 | "version": "0.6.1", 2979 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2980 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2981 | "dev": true 2982 | } 2983 | } 2984 | }, 2985 | "source-map-url": { 2986 | "version": "0.4.1", 2987 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", 2988 | "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", 2989 | "dev": true 2990 | }, 2991 | "split-string": { 2992 | "version": "3.1.0", 2993 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 2994 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 2995 | "dev": true, 2996 | "requires": { 2997 | "extend-shallow": "^3.0.0" 2998 | } 2999 | }, 3000 | "ssri": { 3001 | "version": "6.0.2", 3002 | "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", 3003 | "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", 3004 | "dev": true, 3005 | "requires": { 3006 | "figgy-pudding": "^3.5.1" 3007 | } 3008 | }, 3009 | "static-extend": { 3010 | "version": "0.1.2", 3011 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3012 | "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", 3013 | "dev": true, 3014 | "requires": { 3015 | "define-property": "^0.2.5", 3016 | "object-copy": "^0.1.0" 3017 | }, 3018 | "dependencies": { 3019 | "define-property": { 3020 | "version": "0.2.5", 3021 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3022 | "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", 3023 | "dev": true, 3024 | "requires": { 3025 | "is-descriptor": "^0.1.0" 3026 | } 3027 | } 3028 | } 3029 | }, 3030 | "stream-browserify": { 3031 | "version": "2.0.2", 3032 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", 3033 | "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", 3034 | "dev": true, 3035 | "requires": { 3036 | "inherits": "~2.0.1", 3037 | "readable-stream": "^2.0.2" 3038 | } 3039 | }, 3040 | "stream-each": { 3041 | "version": "1.2.3", 3042 | "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", 3043 | "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", 3044 | "dev": true, 3045 | "requires": { 3046 | "end-of-stream": "^1.1.0", 3047 | "stream-shift": "^1.0.0" 3048 | } 3049 | }, 3050 | "stream-http": { 3051 | "version": "2.8.3", 3052 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", 3053 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", 3054 | "dev": true, 3055 | "requires": { 3056 | "builtin-status-codes": "^3.0.0", 3057 | "inherits": "^2.0.1", 3058 | "readable-stream": "^2.3.6", 3059 | "to-arraybuffer": "^1.0.0", 3060 | "xtend": "^4.0.0" 3061 | } 3062 | }, 3063 | "stream-shift": { 3064 | "version": "1.0.1", 3065 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", 3066 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", 3067 | "dev": true 3068 | }, 3069 | "string-width": { 3070 | "version": "3.1.0", 3071 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3072 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3073 | "dev": true, 3074 | "requires": { 3075 | "emoji-regex": "^7.0.1", 3076 | "is-fullwidth-code-point": "^2.0.0", 3077 | "strip-ansi": "^5.1.0" 3078 | } 3079 | }, 3080 | "string_decoder": { 3081 | "version": "1.1.1", 3082 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3083 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3084 | "dev": true, 3085 | "requires": { 3086 | "safe-buffer": "~5.1.0" 3087 | } 3088 | }, 3089 | "strip-ansi": { 3090 | "version": "5.2.0", 3091 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 3092 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 3093 | "dev": true, 3094 | "requires": { 3095 | "ansi-regex": "^4.1.0" 3096 | } 3097 | }, 3098 | "supports-color": { 3099 | "version": "6.1.0", 3100 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 3101 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 3102 | "dev": true, 3103 | "requires": { 3104 | "has-flag": "^3.0.0" 3105 | } 3106 | }, 3107 | "tapable": { 3108 | "version": "1.1.3", 3109 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", 3110 | "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", 3111 | "dev": true 3112 | }, 3113 | "terser": { 3114 | "version": "4.8.1", 3115 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", 3116 | "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", 3117 | "dev": true, 3118 | "requires": { 3119 | "commander": "^2.20.0", 3120 | "source-map": "~0.6.1", 3121 | "source-map-support": "~0.5.12" 3122 | }, 3123 | "dependencies": { 3124 | "source-map": { 3125 | "version": "0.6.1", 3126 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3127 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3128 | "dev": true 3129 | } 3130 | } 3131 | }, 3132 | "terser-webpack-plugin": { 3133 | "version": "1.4.5", 3134 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", 3135 | "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", 3136 | "dev": true, 3137 | "requires": { 3138 | "cacache": "^12.0.2", 3139 | "find-cache-dir": "^2.1.0", 3140 | "is-wsl": "^1.1.0", 3141 | "schema-utils": "^1.0.0", 3142 | "serialize-javascript": "^4.0.0", 3143 | "source-map": "^0.6.1", 3144 | "terser": "^4.1.2", 3145 | "webpack-sources": "^1.4.0", 3146 | "worker-farm": "^1.7.0" 3147 | }, 3148 | "dependencies": { 3149 | "source-map": { 3150 | "version": "0.6.1", 3151 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3152 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3153 | "dev": true 3154 | } 3155 | } 3156 | }, 3157 | "through2": { 3158 | "version": "2.0.5", 3159 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", 3160 | "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", 3161 | "dev": true, 3162 | "requires": { 3163 | "readable-stream": "~2.3.6", 3164 | "xtend": "~4.0.1" 3165 | } 3166 | }, 3167 | "timers-browserify": { 3168 | "version": "2.0.12", 3169 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", 3170 | "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", 3171 | "dev": true, 3172 | "requires": { 3173 | "setimmediate": "^1.0.4" 3174 | } 3175 | }, 3176 | "to-arraybuffer": { 3177 | "version": "1.0.1", 3178 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 3179 | "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", 3180 | "dev": true 3181 | }, 3182 | "to-object-path": { 3183 | "version": "0.3.0", 3184 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3185 | "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", 3186 | "dev": true, 3187 | "requires": { 3188 | "kind-of": "^3.0.2" 3189 | }, 3190 | "dependencies": { 3191 | "kind-of": { 3192 | "version": "3.2.2", 3193 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3194 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", 3195 | "dev": true, 3196 | "requires": { 3197 | "is-buffer": "^1.1.5" 3198 | } 3199 | } 3200 | } 3201 | }, 3202 | "to-regex": { 3203 | "version": "3.0.2", 3204 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3205 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3206 | "dev": true, 3207 | "requires": { 3208 | "define-property": "^2.0.2", 3209 | "extend-shallow": "^3.0.2", 3210 | "regex-not": "^1.0.2", 3211 | "safe-regex": "^1.1.0" 3212 | } 3213 | }, 3214 | "to-regex-range": { 3215 | "version": "2.1.1", 3216 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3217 | "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", 3218 | "dev": true, 3219 | "requires": { 3220 | "is-number": "^3.0.0", 3221 | "repeat-string": "^1.6.1" 3222 | } 3223 | }, 3224 | "tty-browserify": { 3225 | "version": "0.0.0", 3226 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", 3227 | "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", 3228 | "dev": true 3229 | }, 3230 | "typedarray": { 3231 | "version": "0.0.6", 3232 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3233 | "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", 3234 | "dev": true 3235 | }, 3236 | "union-value": { 3237 | "version": "1.0.1", 3238 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", 3239 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", 3240 | "dev": true, 3241 | "requires": { 3242 | "arr-union": "^3.1.0", 3243 | "get-value": "^2.0.6", 3244 | "is-extendable": "^0.1.1", 3245 | "set-value": "^2.0.1" 3246 | } 3247 | }, 3248 | "unique-filename": { 3249 | "version": "1.1.1", 3250 | "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", 3251 | "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", 3252 | "dev": true, 3253 | "requires": { 3254 | "unique-slug": "^2.0.0" 3255 | } 3256 | }, 3257 | "unique-slug": { 3258 | "version": "2.0.2", 3259 | "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", 3260 | "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", 3261 | "dev": true, 3262 | "requires": { 3263 | "imurmurhash": "^0.1.4" 3264 | } 3265 | }, 3266 | "unset-value": { 3267 | "version": "1.0.0", 3268 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3269 | "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", 3270 | "dev": true, 3271 | "requires": { 3272 | "has-value": "^0.3.1", 3273 | "isobject": "^3.0.0" 3274 | }, 3275 | "dependencies": { 3276 | "has-value": { 3277 | "version": "0.3.1", 3278 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3279 | "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", 3280 | "dev": true, 3281 | "requires": { 3282 | "get-value": "^2.0.3", 3283 | "has-values": "^0.1.4", 3284 | "isobject": "^2.0.0" 3285 | }, 3286 | "dependencies": { 3287 | "isobject": { 3288 | "version": "2.1.0", 3289 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3290 | "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", 3291 | "dev": true, 3292 | "requires": { 3293 | "isarray": "1.0.0" 3294 | } 3295 | } 3296 | } 3297 | }, 3298 | "has-values": { 3299 | "version": "0.1.4", 3300 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3301 | "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", 3302 | "dev": true 3303 | } 3304 | } 3305 | }, 3306 | "upath": { 3307 | "version": "1.2.0", 3308 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", 3309 | "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", 3310 | "dev": true, 3311 | "optional": true 3312 | }, 3313 | "uri-js": { 3314 | "version": "4.4.1", 3315 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3316 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3317 | "dev": true, 3318 | "requires": { 3319 | "punycode": "^2.1.0" 3320 | } 3321 | }, 3322 | "urix": { 3323 | "version": "0.1.0", 3324 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3325 | "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", 3326 | "dev": true 3327 | }, 3328 | "url": { 3329 | "version": "0.11.0", 3330 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 3331 | "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", 3332 | "dev": true, 3333 | "requires": { 3334 | "punycode": "1.3.2", 3335 | "querystring": "0.2.0" 3336 | }, 3337 | "dependencies": { 3338 | "punycode": { 3339 | "version": "1.3.2", 3340 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3341 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", 3342 | "dev": true 3343 | } 3344 | } 3345 | }, 3346 | "use": { 3347 | "version": "3.1.1", 3348 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 3349 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", 3350 | "dev": true 3351 | }, 3352 | "util": { 3353 | "version": "0.11.1", 3354 | "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", 3355 | "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", 3356 | "dev": true, 3357 | "requires": { 3358 | "inherits": "2.0.3" 3359 | } 3360 | }, 3361 | "util-deprecate": { 3362 | "version": "1.0.2", 3363 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3364 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3365 | "dev": true 3366 | }, 3367 | "v8-compile-cache": { 3368 | "version": "2.3.0", 3369 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 3370 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 3371 | "dev": true 3372 | }, 3373 | "vm-browserify": { 3374 | "version": "1.1.2", 3375 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", 3376 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", 3377 | "dev": true 3378 | }, 3379 | "watchpack": { 3380 | "version": "1.7.5", 3381 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", 3382 | "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", 3383 | "dev": true, 3384 | "requires": { 3385 | "chokidar": "^3.4.1", 3386 | "graceful-fs": "^4.1.2", 3387 | "neo-async": "^2.5.0", 3388 | "watchpack-chokidar2": "^2.0.1" 3389 | } 3390 | }, 3391 | "watchpack-chokidar2": { 3392 | "version": "2.0.1", 3393 | "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", 3394 | "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", 3395 | "dev": true, 3396 | "optional": true, 3397 | "requires": { 3398 | "chokidar": "^2.1.8" 3399 | }, 3400 | "dependencies": { 3401 | "anymatch": { 3402 | "version": "2.0.0", 3403 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", 3404 | "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", 3405 | "dev": true, 3406 | "optional": true, 3407 | "requires": { 3408 | "micromatch": "^3.1.4", 3409 | "normalize-path": "^2.1.1" 3410 | }, 3411 | "dependencies": { 3412 | "normalize-path": { 3413 | "version": "2.1.1", 3414 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 3415 | "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", 3416 | "dev": true, 3417 | "optional": true, 3418 | "requires": { 3419 | "remove-trailing-separator": "^1.0.1" 3420 | } 3421 | } 3422 | } 3423 | }, 3424 | "binary-extensions": { 3425 | "version": "1.13.1", 3426 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", 3427 | "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", 3428 | "dev": true, 3429 | "optional": true 3430 | }, 3431 | "chokidar": { 3432 | "version": "2.1.8", 3433 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", 3434 | "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", 3435 | "dev": true, 3436 | "optional": true, 3437 | "requires": { 3438 | "anymatch": "^2.0.0", 3439 | "async-each": "^1.0.1", 3440 | "braces": "^2.3.2", 3441 | "fsevents": "^1.2.7", 3442 | "glob-parent": "^3.1.0", 3443 | "inherits": "^2.0.3", 3444 | "is-binary-path": "^1.0.0", 3445 | "is-glob": "^4.0.0", 3446 | "normalize-path": "^3.0.0", 3447 | "path-is-absolute": "^1.0.0", 3448 | "readdirp": "^2.2.1", 3449 | "upath": "^1.1.1" 3450 | } 3451 | }, 3452 | "fsevents": { 3453 | "version": "1.2.13", 3454 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", 3455 | "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", 3456 | "dev": true, 3457 | "optional": true, 3458 | "requires": { 3459 | "bindings": "^1.5.0", 3460 | "nan": "^2.12.1" 3461 | } 3462 | }, 3463 | "glob-parent": { 3464 | "version": "3.1.0", 3465 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", 3466 | "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", 3467 | "dev": true, 3468 | "optional": true, 3469 | "requires": { 3470 | "is-glob": "^3.1.0", 3471 | "path-dirname": "^1.0.0" 3472 | }, 3473 | "dependencies": { 3474 | "is-glob": { 3475 | "version": "3.1.0", 3476 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 3477 | "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", 3478 | "dev": true, 3479 | "optional": true, 3480 | "requires": { 3481 | "is-extglob": "^2.1.0" 3482 | } 3483 | } 3484 | } 3485 | }, 3486 | "is-binary-path": { 3487 | "version": "1.0.1", 3488 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 3489 | "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", 3490 | "dev": true, 3491 | "optional": true, 3492 | "requires": { 3493 | "binary-extensions": "^1.0.0" 3494 | } 3495 | }, 3496 | "readdirp": { 3497 | "version": "2.2.1", 3498 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", 3499 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", 3500 | "dev": true, 3501 | "optional": true, 3502 | "requires": { 3503 | "graceful-fs": "^4.1.11", 3504 | "micromatch": "^3.1.10", 3505 | "readable-stream": "^2.0.2" 3506 | } 3507 | } 3508 | } 3509 | }, 3510 | "webpack": { 3511 | "version": "4.46.0", 3512 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", 3513 | "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", 3514 | "dev": true, 3515 | "requires": { 3516 | "@webassemblyjs/ast": "1.9.0", 3517 | "@webassemblyjs/helper-module-context": "1.9.0", 3518 | "@webassemblyjs/wasm-edit": "1.9.0", 3519 | "@webassemblyjs/wasm-parser": "1.9.0", 3520 | "acorn": "^6.4.1", 3521 | "ajv": "^6.10.2", 3522 | "ajv-keywords": "^3.4.1", 3523 | "chrome-trace-event": "^1.0.2", 3524 | "enhanced-resolve": "^4.5.0", 3525 | "eslint-scope": "^4.0.3", 3526 | "json-parse-better-errors": "^1.0.2", 3527 | "loader-runner": "^2.4.0", 3528 | "loader-utils": "^1.2.3", 3529 | "memory-fs": "^0.4.1", 3530 | "micromatch": "^3.1.10", 3531 | "mkdirp": "^0.5.3", 3532 | "neo-async": "^2.6.1", 3533 | "node-libs-browser": "^2.2.1", 3534 | "schema-utils": "^1.0.0", 3535 | "tapable": "^1.1.3", 3536 | "terser-webpack-plugin": "^1.4.3", 3537 | "watchpack": "^1.7.4", 3538 | "webpack-sources": "^1.4.1" 3539 | }, 3540 | "dependencies": { 3541 | "enhanced-resolve": { 3542 | "version": "4.5.0", 3543 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", 3544 | "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", 3545 | "dev": true, 3546 | "requires": { 3547 | "graceful-fs": "^4.1.2", 3548 | "memory-fs": "^0.5.0", 3549 | "tapable": "^1.0.0" 3550 | }, 3551 | "dependencies": { 3552 | "memory-fs": { 3553 | "version": "0.5.0", 3554 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", 3555 | "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", 3556 | "dev": true, 3557 | "requires": { 3558 | "errno": "^0.1.3", 3559 | "readable-stream": "^2.0.1" 3560 | } 3561 | } 3562 | } 3563 | }, 3564 | "tapable": { 3565 | "version": "1.1.3", 3566 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", 3567 | "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", 3568 | "dev": true 3569 | } 3570 | } 3571 | }, 3572 | "webpack-cli": { 3573 | "version": "3.3.12", 3574 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", 3575 | "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", 3576 | "dev": true, 3577 | "requires": { 3578 | "chalk": "^2.4.2", 3579 | "cross-spawn": "^6.0.5", 3580 | "enhanced-resolve": "^4.1.1", 3581 | "findup-sync": "^3.0.0", 3582 | "global-modules": "^2.0.0", 3583 | "import-local": "^2.0.0", 3584 | "interpret": "^1.4.0", 3585 | "loader-utils": "^1.4.0", 3586 | "supports-color": "^6.1.0", 3587 | "v8-compile-cache": "^2.1.1", 3588 | "yargs": "^13.3.2" 3589 | } 3590 | }, 3591 | "webpack-sources": { 3592 | "version": "1.4.3", 3593 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", 3594 | "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", 3595 | "dev": true, 3596 | "requires": { 3597 | "source-list-map": "^2.0.0", 3598 | "source-map": "~0.6.1" 3599 | }, 3600 | "dependencies": { 3601 | "source-map": { 3602 | "version": "0.6.1", 3603 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3604 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3605 | "dev": true 3606 | } 3607 | } 3608 | }, 3609 | "which": { 3610 | "version": "1.3.1", 3611 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3612 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3613 | "dev": true, 3614 | "requires": { 3615 | "isexe": "^2.0.0" 3616 | } 3617 | }, 3618 | "which-module": { 3619 | "version": "2.0.0", 3620 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3621 | "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", 3622 | "dev": true 3623 | }, 3624 | "worker-farm": { 3625 | "version": "1.7.0", 3626 | "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", 3627 | "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", 3628 | "dev": true, 3629 | "requires": { 3630 | "errno": "~0.1.7" 3631 | } 3632 | }, 3633 | "wrap-ansi": { 3634 | "version": "5.1.0", 3635 | "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 3636 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", 3637 | "dev": true, 3638 | "requires": { 3639 | "ansi-styles": "^3.2.0", 3640 | "string-width": "^3.0.0", 3641 | "strip-ansi": "^5.0.0" 3642 | } 3643 | }, 3644 | "wrappy": { 3645 | "version": "1.0.2", 3646 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3647 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 3648 | "dev": true 3649 | }, 3650 | "xtend": { 3651 | "version": "4.0.2", 3652 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 3653 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 3654 | "dev": true 3655 | }, 3656 | "y18n": { 3657 | "version": "4.0.1", 3658 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", 3659 | "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", 3660 | "dev": true 3661 | }, 3662 | "yallist": { 3663 | "version": "3.1.1", 3664 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 3665 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 3666 | "dev": true 3667 | }, 3668 | "yargs": { 3669 | "version": "13.3.2", 3670 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", 3671 | "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", 3672 | "dev": true, 3673 | "requires": { 3674 | "cliui": "^5.0.0", 3675 | "find-up": "^3.0.0", 3676 | "get-caller-file": "^2.0.1", 3677 | "require-directory": "^2.1.1", 3678 | "require-main-filename": "^2.0.0", 3679 | "set-blocking": "^2.0.0", 3680 | "string-width": "^3.0.0", 3681 | "which-module": "^2.0.0", 3682 | "y18n": "^4.0.0", 3683 | "yargs-parser": "^13.1.2" 3684 | } 3685 | }, 3686 | "yargs-parser": { 3687 | "version": "13.1.2", 3688 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", 3689 | "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", 3690 | "dev": true, 3691 | "requires": { 3692 | "camelcase": "^5.0.0", 3693 | "decamelize": "^1.2.0" 3694 | } 3695 | } 3696 | } 3697 | } 3698 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tooloud", 3 | "version": "2.0.4", 4 | "description": "Collection of noise functions written in JavaScript", 5 | "main": "index.js", 6 | "dependencies": {}, 7 | "scripts": { 8 | "build": "webpack" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/jackunion/tooloud.git" 13 | }, 14 | "keywords": [ 15 | "Perlin", 16 | "Simplex", 17 | "Worley", 18 | "Fractal", 19 | "noise" 20 | ], 21 | "author": "jackunion", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/jackunion/tooloud/issues" 25 | }, 26 | "homepage": "https://github.com/jackunion/tooloud#readme", 27 | "devDependencies": { 28 | "webpack": "^4.23.1", 29 | "webpack-cli": "^3.1.2" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Fractal.js: -------------------------------------------------------------------------------- 1 | class Fractal { 2 | static noise(x, y, z, octaves, noiseCallback) { 3 | let t = 0, f = 1, n = 0; 4 | for (let i = 0; i < octaves; i++) { 5 | n += noiseCallback(x * f, y * f, z * f) / f; 6 | t += 1/f; 7 | f *= 2; 8 | } 9 | return n / t; 10 | } 11 | } 12 | 13 | export default Fractal; 14 | -------------------------------------------------------------------------------- /src/Perlin.js: -------------------------------------------------------------------------------- 1 | const PERMUTATION = [ 2 | 151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225, 3 | 140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148, 4 | 247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32, 5 | 57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175, 6 | 74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122, 7 | 60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54, 8 | 65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169, 9 | 200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64, 10 | 52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212, 11 | 207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213, 12 | 119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9, 13 | 129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104, 14 | 218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241, 15 | 81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157, 16 | 184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93, 17 | 222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180 18 | ]; 19 | 20 | const P = [...PERMUTATION, ...PERMUTATION]; 21 | 22 | class Perlin { 23 | constructor(seed = 3000) { 24 | this._seedValue = Perlin.xorshift(seed); 25 | 26 | this.noise = this.noise.bind(this); 27 | this.setSeed = this.setSeed.bind(this); 28 | } 29 | 30 | static xorshift(value) { 31 | let x = value ^ (value >> 12); 32 | x = x ^ (x << 25); 33 | x = x ^ (x >> 27); 34 | return x * 2; 35 | } 36 | 37 | static lerp(t, a, b) { 38 | return a + t * (b - a); 39 | } 40 | 41 | static fade(t) { 42 | return t * t * t * (t * (t * 6 - 15) + 10); 43 | } 44 | 45 | static grad(hash, x, y, z) { 46 | var h = hash & 15, 47 | u = h<8 ? x : y, 48 | v = h<4 ? y : h===12||h===14 ? x : z; 49 | return ((h&1) === 0 ? u : -u) + ((h&2) === 0 ? v : -v); 50 | } 51 | 52 | setSeed(seed = 3000) { 53 | this._seedValue = Perlin.xorshift(seed); 54 | } 55 | 56 | noise(a, b, c) { 57 | let x = a + this._seedValue; 58 | let y = b + this._seedValue; 59 | let z = c + this._seedValue; 60 | 61 | const X = Math.floor(x) & 255; 62 | const Y = Math.floor(y) & 255; 63 | const Z = Math.floor(z) & 255; 64 | 65 | x -= Math.floor(x); 66 | y -= Math.floor(y); 67 | z -= Math.floor(z); 68 | 69 | const u = Perlin.fade(x); 70 | const v = Perlin.fade(y); 71 | const w = Perlin.fade(z); 72 | 73 | const A = P[X ]+Y, AA = P[A]+Z, AB = P[A+1]+Z; 74 | const B = P[X+1]+Y, BA = P[B]+Z, BB = P[B+1]+Z; 75 | 76 | return Perlin.lerp(w, 77 | Perlin.lerp(v, 78 | Perlin.lerp(u, Perlin.grad(P[AA], x, y, z), Perlin.grad(P[BA], x-1, y, z)), 79 | Perlin.lerp(u, Perlin.grad(P[AB], x, y-1, z), Perlin.grad(P[BB], x-1, y-1, z)) 80 | ), 81 | Perlin.lerp(v, 82 | Perlin.lerp(u, Perlin.grad(P[AA+1], x, y, z-1), Perlin.grad(P[BA+1], x-1, y, z-1)), 83 | Perlin.lerp(u, Perlin.grad(P[AB+1], x, y-1, z-1), Perlin.grad(P[BB+1], x-1, y-1, z-1)) 84 | ) 85 | ) 86 | } 87 | } 88 | 89 | export default Perlin; 90 | -------------------------------------------------------------------------------- /src/Simplex.js: -------------------------------------------------------------------------------- 1 | let i, j, k; 2 | let A = [0, 0, 0]; 3 | let u, v, w; 4 | let T = [0x15,0x38,0x32,0x2c,0x0d,0x13,0x07,0x2a]; 5 | 6 | class Simplex { 7 | constructor(seed = 3000) { 8 | this._seedValue = Simplex.xorshift(seed); 9 | 10 | this.setSeed = this.setSeed.bind(this); 11 | this.noise = this.noise.bind(this); 12 | } 13 | 14 | static xorshift(value) { 15 | let x = value ^ (value >> 12); 16 | x = x ^ (x << 25); 17 | x = x ^ (x >> 27); 18 | return x * 2; 19 | } 20 | 21 | static b2func(N, B) { 22 | return N >> B & 1; 23 | } 24 | 25 | static b4func(i, j, k, B) { 26 | return T[Simplex.b2func(i, B) << 2 | Simplex.b2func(j, B) << 1 | Simplex.b2func(k, B)]; 27 | } 28 | 29 | static K(a) { 30 | var s = (A[0]+A[1]+A[2]) / 6.; 31 | var x = u - A[0] + s, 32 | y = v - A[1] + s, 33 | z = w - A[2] + s; 34 | var t = .6 - x * x - y * y - z * z; 35 | var h = Simplex.shuffle(i + A[0], j + A[1], k + A[2]); 36 | 37 | A[a]++; 38 | 39 | if (t < 0) return 0; 40 | 41 | var b5 = h >> 5 & 1, 42 | b4 = h >> 4 & 1, 43 | b3 = h >> 3 & 1, 44 | b2 = h >> 2 & 1, 45 | b = h & 3; 46 | var p = b === 1 ? x : b === 2 ? y : z, 47 | q = b === 1 ? y : b === 2 ? z : x, 48 | r = b === 1 ? z : b === 2 ? x : y; 49 | p = (b5 === b3 ? -p : p); 50 | q = (b5 === b4 ? -q : q); 51 | r = (b5 !== (b4^b3) ? -r : r); 52 | t *= t; 53 | 54 | return 8 * t * t * (p + (b === 0 ? q + r : b2 === 0 ? q : r)); 55 | } 56 | 57 | static shuffle(i, j, k) { 58 | return Simplex.b4func(i, j, k, 0) + Simplex.b4func(j, k, i, 1) + 59 | Simplex.b4func(k, i, j, 2) + Simplex.b4func(i, j, k, 3) + 60 | Simplex.b4func(j, k, i, 4) + Simplex.b4func(k, i, j, 5) + 61 | Simplex.b4func(i, j, k, 6) + Simplex.b4func(j, k, i, 7); 62 | } 63 | 64 | setSeed(seed = 3000) { 65 | this._seedValue = Simplex.xorshift(seed); 66 | } 67 | 68 | noise(a, b, c) { 69 | let x = a + this._seedValue; 70 | let y = b + this._seedValue; 71 | let z = c + this._seedValue; 72 | let s = (x + y + z) / 3; 73 | 74 | i = Math.floor(x + s); 75 | j = Math.floor(y + s); 76 | k = Math.floor(z + s); 77 | s = (i + j + k) / 6.; 78 | u = x - i + s; 79 | v = y - j + s; 80 | w = z - k + s; 81 | A[0] = A[1] = A[2] = 0; 82 | 83 | const hi = u>=w ? u>=v ? 0 : 1 : v>=w ? 1 : 2; 84 | const lo = u< w ? u< v ? 0 : 1 : v< w ? 1 : 2; 85 | 86 | return Simplex.K(hi) + Simplex.K(3 - hi - lo) + Simplex.K(lo) + Simplex.K(0); 87 | } 88 | } 89 | 90 | export default Simplex; 91 | -------------------------------------------------------------------------------- /src/Worley.js: -------------------------------------------------------------------------------- 1 | class Worley { 2 | constructor(seed = 3000) { 3 | this._seedValue = seed; 4 | 5 | this.setSeed = this.setSeed.bind(this); 6 | this.noise = this.noise.bind(this); 7 | this.Euclidean = this.Euclidean.bind(this); 8 | this.Manhattan = this.Manhattan.bind(this); 9 | } 10 | 11 | static xorshift(value) { 12 | let x = value ^ (value >> 12); 13 | x = x ^ (x << 25); 14 | x = x ^ (x >> 27); 15 | return x * 2; 16 | } 17 | 18 | static hash(i, j, k) { 19 | return (((((2166136261 ^ i) * 16777619) ^ j) * 16777619) ^ k) * 16777619 & 0xffffffff; 20 | } 21 | 22 | static d(p1, p2) { 23 | return [p1.x - p2.x, p1.y - p2.y, p1.z - p2.z]; 24 | } 25 | 26 | static EuclideanDistance(p1, p2) { 27 | return Worley.d(p1, p2).reduce((sum, x) => sum + (x * x), 0); 28 | } 29 | 30 | static ManhattanDistance(p1, p2) { 31 | return Worley.d(p1, p2).reduce((sum, x) => sum + Math.abs(x), 0) 32 | } 33 | 34 | static probLookup(value) { 35 | value = value & 0xffffffff; 36 | if (value < 393325350) return 1; 37 | if (value < 1022645910) return 2; 38 | if (value < 1861739990) return 3; 39 | if (value < 2700834071) return 4; 40 | if (value < 3372109335) return 5; 41 | if (value < 3819626178) return 6; 42 | if (value < 4075350088) return 7; 43 | if (value < 4203212043) return 8; 44 | return 9; 45 | } 46 | 47 | static insert(arr, value) { 48 | let temp; 49 | for (let i = arr.length - 1; i >= 0; i--) { 50 | if (value > arr[i]) break; 51 | temp = arr[i]; 52 | arr[i] = value; 53 | if (i + 1 < arr.length) arr[i + 1] = temp; 54 | } 55 | } 56 | 57 | noise(input, distanceFunc) { 58 | let lastRandom, 59 | numberFeaturePoints, 60 | randomDiff = { x: 0, y: 0, z: 0 }, 61 | featurePoint = { x: 0, y: 0, z: 0 }; 62 | let cubeX, cubeY, cubeZ; 63 | let distanceArray = [9999999, 9999999, 9999999]; 64 | 65 | for (let i = -1; i < 2; ++i) 66 | for (let j = -1; j < 2; ++j) 67 | for (let k = -1; k < 2; ++k) { 68 | cubeX = Math.floor(input.x) + i; 69 | cubeY = Math.floor(input.y) + j; 70 | cubeZ = Math.floor(input.z) + k; 71 | lastRandom = Worley.xorshift( 72 | Worley.hash( 73 | (cubeX + this._seedValue) & 0xffffffff, 74 | (cubeY) & 0xffffffff, 75 | (cubeZ) & 0xffffffff 76 | ) 77 | ); 78 | numberFeaturePoints = Worley.probLookup(lastRandom); 79 | for (let l = 0; l < numberFeaturePoints; ++l) { 80 | lastRandom = Worley.xorshift(lastRandom); 81 | randomDiff.X = lastRandom / 0x100000000; 82 | 83 | lastRandom = Worley.xorshift(lastRandom); 84 | randomDiff.Y = lastRandom / 0x100000000; 85 | 86 | lastRandom = Worley.xorshift(lastRandom); 87 | randomDiff.Z = lastRandom / 0x100000000; 88 | 89 | featurePoint = { 90 | x: randomDiff.X + cubeX, 91 | y: randomDiff.Y + cubeY, 92 | z: randomDiff.Z + cubeZ 93 | }; 94 | Worley.insert(distanceArray, distanceFunc(input, featurePoint)); 95 | } 96 | } 97 | 98 | return distanceArray.map(x => x < 0 ? 0 : x > 1 ? 1 : x ); 99 | } 100 | 101 | setSeed(seed = 3000) { 102 | this._seedValue = seed; 103 | } 104 | 105 | Euclidean(x, y, z) { 106 | return this.noise({ x:x, y:y, z:z }, Worley.EuclideanDistance); 107 | } 108 | 109 | Manhattan(x, y, z) { 110 | return this.noise({ x:x, y:y, z:z }, Worley.ManhattanDistance); 111 | } 112 | } 113 | 114 | export default Worley; 115 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | Perlin noise implementation taken from http://mrl.nyu.edu/~perlin/noise/ 3 | Simplex noise implementation taken from http://www.csee.umbc.edu/~olano/s2002c36/ch02.pdf 4 | Worley noise implementation taken from https://aftbit.com/cell-noise-2/ 5 | */ 6 | 7 | import Perlin from './Perlin'; 8 | import Simplex from './Simplex'; 9 | import Worley from './Worley'; 10 | import Fractal from './Fractal'; 11 | 12 | const perlin = new Perlin(); 13 | const simplex = new Simplex(); 14 | const worley = new Worley(); 15 | 16 | export default { 17 | Perlin: { 18 | noise: perlin.noise, 19 | setSeed: perlin.setSeed, 20 | create: seed => new Perlin(seed) 21 | }, 22 | 23 | Simplex: { 24 | noise: simplex.noise, 25 | setSeed: simplex.setSeed, 26 | create: seed => new Simplex(seed) 27 | }, 28 | 29 | Worley: { 30 | Euclidean: worley.Euclidean, 31 | Manhattan: worley.Manhattan, 32 | setSeed: worley.setSeed, 33 | create: seed => new Worley(seed) 34 | }, 35 | 36 | Fractal: { 37 | noise: Fractal.noise 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: './index.js', 5 | mode: 'production', 6 | output: { 7 | filename: 'tooloud.min.js', 8 | library: 'tooloud', 9 | libraryExport: 'default', 10 | libraryTarget: 'umd', 11 | path: path.resolve(__dirname, 'dist') 12 | } 13 | }; 14 | --------------------------------------------------------------------------------