diff --git a/README.md b/README.md index 1a6fc4b0..19debbef 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ A diagram of this running 5 steps on a single sample image may help explain how This library works in the browser, in Node, and on the command line (CLI), which we think is great. ### Unix based platforms -You can set up a local environment to test the UI with `sudo npm setup` followed by `npm start` +You can set up a local environment to test the UI with `sudo npm run setup` followed by `npm start` ### Windows Our npm scripts do not support windows shells, please run the following snippet in PowerShell. diff --git a/dist/image-sequencer.js b/dist/image-sequencer.js index 51b44ac3..d340c73f 100644 --- a/dist/image-sequencer.js +++ b/dist/image-sequencer.js @@ -57529,252 +57529,252 @@ arguments[4][43][0].apply(exports,arguments) },{"dup":43}],150:[function(require,module,exports){ arguments[4][44][0].apply(exports,arguments) },{"./support/isBuffer":149,"_process":117,"dup":44,"inherits":70}],151:[function(require,module,exports){ -// add steps to the sequencer -function AddStep(_sequencer, image, name, o) { - return require('./InsertStep')(_sequencer,image,-1,name,o); -} -module.exports = AddStep; +// add steps to the sequencer +function AddStep(_sequencer, image, name, o) { + return require('./InsertStep')(_sequencer,image,-1,name,o); +} +module.exports = AddStep; },{"./InsertStep":155}],152:[function(require,module,exports){ -var fs = require('fs'); -var getDirectories = function(rootDir, cb) { - fs.readdir(rootDir, function(err, files) { - var dirs = []; - if (typeof (files) == "undefined" || files.length == 0) { - cb(dirs); - return []; - } - for (var index = 0; index < files.length; ++index) { - var file = files[index]; - if (file[0] !== '.') { - var filePath = rootDir + '/' + file; - fs.stat(filePath, function(err, stat) { - if (stat.isDirectory()) { - dirs.push(this.file); - } - if (files.length === (this.index + 1)) { - return cb(dirs); - } - }.bind({ index: index, file: file })); - } - } - }); -} - -module.exports = function ExportBin(dir = "./output/", ref, basic, filename) { - - // If user did not give an output filename so we can continue without doing anything - dir = (dir[dir.length - 1] == "/") ? dir : dir + "/"; - if (ref.options.inBrowser) return false; - fs.access(dir, function(err) { - if (err) console.error(err) - }); - if (filename && basic) { - for (var image in ref.images) { - var steps = ref.images[image].steps; - var datauri = steps.slice(-1)[0].output.src; - var ext = steps.slice(-1)[0].output.format; - var buffer = require('data-uri-to-buffer')(datauri); - fs.writeFile(dir + filename, buffer, function() { }); - } - } - else { - getDirectories(dir, function(dirs) { - var num = 1; - for (var d in dirs) { - if (dirs[d].match(/^sequencer(.*)$/) == null) continue; - var n = parseInt(dirs[d].match(/^sequencer(.*)$/)[1]); - num = (n >= num) ? (n + 1) : num; - } - fs.mkdir(dir + 'sequencer' + num, function() { - var root = dir + 'sequencer' + num + '/'; - for (var image in ref.images) { - var steps = ref.images[image].steps; - if (basic) { - var datauri = steps.slice(-1)[0].output.src; - var ext = steps.slice(-1)[0].output.format; - var buffer = require('data-uri-to-buffer')(datauri); - fs.writeFile(root + image + "_" + (steps.length - 1) + "." + ext, buffer, function() { }); - } - else { - for (var i in steps) { - var datauri = steps[i].output.src; - var ext = steps[i].output.format; - var buffer = require('data-uri-to-buffer')(datauri); - fs.writeFile(root + image + "_" + i + "." + ext, buffer, function() { }); - } - } - } - }); - }); - } -} +var fs = require('fs'); +var getDirectories = function(rootDir, cb) { + fs.readdir(rootDir, function(err, files) { + var dirs = []; + if (typeof (files) == "undefined" || files.length == 0) { + cb(dirs); + return []; + } + for (var index = 0; index < files.length; ++index) { + var file = files[index]; + if (file[0] !== '.') { + var filePath = rootDir + '/' + file; + fs.stat(filePath, function(err, stat) { + if (stat.isDirectory()) { + dirs.push(this.file); + } + if (files.length === (this.index + 1)) { + return cb(dirs); + } + }.bind({ index: index, file: file })); + } + } + }); +} + +module.exports = function ExportBin(dir = "./output/", ref, basic, filename) { + + // If user did not give an output filename so we can continue without doing anything + dir = (dir[dir.length - 1] == "/") ? dir : dir + "/"; + if (ref.options.inBrowser) return false; + fs.access(dir, function(err) { + if (err) console.error(err) + }); + if (filename && basic) { + for (var image in ref.images) { + var steps = ref.images[image].steps; + var datauri = steps.slice(-1)[0].output.src; + var ext = steps.slice(-1)[0].output.format; + var buffer = require('data-uri-to-buffer')(datauri); + fs.writeFile(dir + filename, buffer, function() { }); + } + } + else { + getDirectories(dir, function(dirs) { + var num = 1; + for (var d in dirs) { + if (dirs[d].match(/^sequencer(.*)$/) == null) continue; + var n = parseInt(dirs[d].match(/^sequencer(.*)$/)[1]); + num = (n >= num) ? (n + 1) : num; + } + fs.mkdir(dir + 'sequencer' + num, function() { + var root = dir + 'sequencer' + num + '/'; + for (var image in ref.images) { + var steps = ref.images[image].steps; + if (basic) { + var datauri = steps.slice(-1)[0].output.src; + var ext = steps.slice(-1)[0].output.format; + var buffer = require('data-uri-to-buffer')(datauri); + fs.writeFile(root + image + "_" + (steps.length - 1) + "." + ext, buffer, function() { }); + } + else { + for (var i in steps) { + var datauri = steps[i].output.src; + var ext = steps[i].output.format; + var buffer = require('data-uri-to-buffer')(datauri); + fs.writeFile(root + image + "_" + i + "." + ext, buffer, function() { }); + } + } + } + }); + }); + } +} },{"data-uri-to-buffer":20,"fs":47}],153:[function(require,module,exports){ -function objTypeOf(object){ - return Object.prototype.toString.call(object).split(" ")[1].slice(0,-1) -} - -function getPrimitive(object){ - return (objTypeOf(object)=='Array')?object[0]:object; -} - -function makeArray(input) { - return (objTypeOf(input)=="Array")?input:[input]; -} - -function copy(a) { - if (!typeof(a) == "object") return a; - if (objTypeOf(a) == "Array") return a.slice(); - if (objTypeOf(a) == "Object") { - var b = {}; - for (var v in a) { - b[v] = copy(a[v]); - } - return b; - } - return a; -} - -function formatInput(args,format,images) { - images = []; - for (var image in this.images) { - images.push(image); - } - var json_q = {}; - var format_i = format; - if (format == "+") - format = ['o_string_a', 'string_a', 'o_object']; - else if (format == "-") - format = ['o_string_a', 'number_a']; - else if (format == "^") - format = ['o_string_a', 'number', 'string', 'o_object']; - else if (format == "r") - format = ['o_string_a', 'o_number']; - else if (format == "l") - format = ['o_string','string','o_function']; - - /* - formats: - addSteps :: o_image_a, name_a, o_o - o_string_a, string_a, o_object => { image: [{name,o}] } - removeSteps :: o_image_a, index_a - o_string_a, number_a => { image: [index] } - insertSteps :: o_image_a, index, name, o_o - o_string_a, number, string, o_object => { image: [{index,name,o}] } - run :: o_image_a, o_from - o_string_a, o_number => { image: index } - loadImages :: image, src, o_function - string, string, o_function => { images: [{image:src}], callback } - - optionals: - image: o_string_a - options: o_object - from: o_number - callback: o_function - */ - - if(format[format.length-1] == "o_object") { - if(objTypeOf(args[args.length-1]) != "Object") - args.push({}); - } - else if (format[format.length-1] == "o_number") { - if(typeof(args[args.length-1]) != "number" && objTypeOf(args[0])!="Object") - args.push(1); - } - else if (format[format.length-1] == "o_function") { - if(objTypeOf(args[args.length-1]) != "Function" && objTypeOf(args[0])!="Object") - args.push(function(){}); - } - - if(format[0] == "o_string_a") { - if(args.length == format.length - 1) { - var insert = false; - for (var i in args) { - if (format[parseInt(i)+1].includes( typeof(getPrimitive(args[i])) )){ - insert = true; - } - else {insert = false; break;} - } - if(insert) - args.splice(0,0,copy(images)); - } - } - else if (format[0] == "o_string" && format_i == "l" && args.length == 2) { - if (typeof(args[0]) == "string") { - var identifier = "image"; - var number = 1; - while (this.images.hasOwnProperty(identifier+number)) number++; - args.splice(0,0,identifier+number); - } - } - - if(args.length == format.length) { - for (var i in format) { - if (format[i].substr(format[i].length-2,2)=="_a") - args[i] = makeArray(args[i]); - } - } - - if (args.length == 1) { - json_q = copy(args[0]); - if(!(format_i == "r" || format_i == "l")) { - for (var img in json_q) - json_q[img] = makeArray(json_q[img]); - } - } - else if (format_i == "r") { - for (var img in args[0]) json_q[args[0][img]] = args[1]; - } - else if (format_i == "l") { - json_q = { - images: {}, - callback: args[2] - } - json_q.images[args[0]] = args[1]; - } - else { - for (var img in args[0]) { - var image = args[0][img]; - json_q[image] = []; - - if(format_i == "+") { - for(var s in args[1]) { - json_q[image].push({ - name: args[1][s], - o: args[2] - }); - } - } - - if(format_i == "-") { - json_q[image] = args[1]; - } - - if(format_i == "^") { - var size = this.images[image].steps.length; - var index = args[1]; - index = (index==size)?index:index%size; - if (index<0) index += size+1; - json_q[image].push({ - index: index, - name: args[2], - o: args[3] - }); - } - - } - } - - if(format_i == "l") { - json_q.loadedimages = []; - for (var i in json_q.images) json_q.loadedimages.push(i); - } - - return json_q; - -} -module.exports = formatInput; +function objTypeOf(object){ + return Object.prototype.toString.call(object).split(" ")[1].slice(0,-1) +} + +function getPrimitive(object){ + return (objTypeOf(object)=='Array')?object[0]:object; +} + +function makeArray(input) { + return (objTypeOf(input)=="Array")?input:[input]; +} + +function copy(a) { + if (!typeof(a) == "object") return a; + if (objTypeOf(a) == "Array") return a.slice(); + if (objTypeOf(a) == "Object") { + var b = {}; + for (var v in a) { + b[v] = copy(a[v]); + } + return b; + } + return a; +} + +function formatInput(args,format,images) { + images = []; + for (var image in this.images) { + images.push(image); + } + var json_q = {}; + var format_i = format; + if (format == "+") + format = ['o_string_a', 'string_a', 'o_object']; + else if (format == "-") + format = ['o_string_a', 'number_a']; + else if (format == "^") + format = ['o_string_a', 'number', 'string', 'o_object']; + else if (format == "r") + format = ['o_string_a', 'o_number']; + else if (format == "l") + format = ['o_string','string','o_function']; + + /* + formats: + addSteps :: o_image_a, name_a, o_o + o_string_a, string_a, o_object => { image: [{name,o}] } + removeSteps :: o_image_a, index_a + o_string_a, number_a => { image: [index] } + insertSteps :: o_image_a, index, name, o_o + o_string_a, number, string, o_object => { image: [{index,name,o}] } + run :: o_image_a, o_from + o_string_a, o_number => { image: index } + loadImages :: image, src, o_function + string, string, o_function => { images: [{image:src}], callback } + + optionals: + image: o_string_a + options: o_object + from: o_number + callback: o_function + */ + + if(format[format.length-1] == "o_object") { + if(objTypeOf(args[args.length-1]) != "Object") + args.push({}); + } + else if (format[format.length-1] == "o_number") { + if(typeof(args[args.length-1]) != "number" && objTypeOf(args[0])!="Object") + args.push(1); + } + else if (format[format.length-1] == "o_function") { + if(objTypeOf(args[args.length-1]) != "Function" && objTypeOf(args[0])!="Object") + args.push(function(){}); + } + + if(format[0] == "o_string_a") { + if(args.length == format.length - 1) { + var insert = false; + for (var i in args) { + if (format[parseInt(i)+1].includes( typeof(getPrimitive(args[i])) )){ + insert = true; + } + else {insert = false; break;} + } + if(insert) + args.splice(0,0,copy(images)); + } + } + else if (format[0] == "o_string" && format_i == "l" && args.length == 2) { + if (typeof(args[0]) == "string") { + var identifier = "image"; + var number = 1; + while (this.images.hasOwnProperty(identifier+number)) number++; + args.splice(0,0,identifier+number); + } + } + + if(args.length == format.length) { + for (var i in format) { + if (format[i].substr(format[i].length-2,2)=="_a") + args[i] = makeArray(args[i]); + } + } + + if (args.length == 1) { + json_q = copy(args[0]); + if(!(format_i == "r" || format_i == "l")) { + for (var img in json_q) + json_q[img] = makeArray(json_q[img]); + } + } + else if (format_i == "r") { + for (var img in args[0]) json_q[args[0][img]] = args[1]; + } + else if (format_i == "l") { + json_q = { + images: {}, + callback: args[2] + } + json_q.images[args[0]] = args[1]; + } + else { + for (var img in args[0]) { + var image = args[0][img]; + json_q[image] = []; + + if(format_i == "+") { + for(var s in args[1]) { + json_q[image].push({ + name: args[1][s], + o: args[2] + }); + } + } + + if(format_i == "-") { + json_q[image] = args[1]; + } + + if(format_i == "^") { + var size = this.images[image].steps.length; + var index = args[1]; + index = (index==size)?index:index%size; + if (index<0) index += size+1; + json_q[image].push({ + index: index, + name: args[2], + o: args[3] + }); + } + + } + } + + if(format_i == "l") { + json_q.loadedimages = []; + for (var i in json_q.images) json_q.loadedimages.push(i); + } + + return json_q; + +} +module.exports = formatInput; },{}],154:[function(require,module,exports){ if (typeof window !== 'undefined') { isBrowser = true } @@ -58247,3405 +58247,3407 @@ ImageSequencer = function ImageSequencer(options) { module.exports = ImageSequencer; },{"./AddStep":151,"./ExportBin":152,"./FormatInput":153,"./InsertStep":155,"./Modules":156,"./ReplaceImage":157,"./Run":158,"./SavedSequences.json":160,"./ui/LoadImage":243,"./ui/SetInputStep":244,"./ui/UserInterface":245,"./util/getStep.js":247,"fs":47}],155:[function(require,module,exports){ -const getStepUtils = require('./util/getStep.js'); - -// insert one or more steps at a given index in the sequencer -function InsertStep(ref, image, index, name, o) { - if (ref.sequences[name]) { - return ref.importJSON(ref.sequences[name]); - } - - function insertStep(image, index, name, o_) { - if (ref.modules[name]) var moduleInfo = ref.modules[name][1]; - else { - console.log('Module ' + name + ' not found.'); - } - - var o = ref.copy(o_); - o.number = ref.options.sequencerCounter++; //Gives a Unique ID to each step - o.name = o_.name || name || moduleInfo.name; - o.description = o_.description || moduleInfo.description; - o.selector = o_.selector || 'ismod-' + name; - o.container = o_.container || ref.options.selector; - o.image = image; - o.inBrowser = ref.options.inBrowser; - - if (index == -1) index = ref.images[image].steps.length; - - o.step = { - name: o.name, - description: o.description, - ID: o.number, - imageName: o.image, - inBrowser: ref.options.inBrowser, - ui: ref.options.ui, - options: o - }; - var UI = ref.events; - - // Tell UI that a step has been set up. - o = o || {}; - ref.modules[name].expandSteps = function expandSteps(stepsArray) { - for (var step of stepsArray) { - ref.addSteps(step['name'], step['options']); - } - } - if (!ref.modules[name][1].length) { - UI.onSetup(o.step); - ref.images[image].steps.splice(index, 0, ref.modules[name][0](o, UI)); - } else { - ref.modules[name][0](o, UI); - } - - return true; - } - - insertStep(image, index, name, o); - ref.steps = ref.images[image].steps; - -} -module.exports = InsertStep; +const getStepUtils = require('./util/getStep.js'); + +// insert one or more steps at a given index in the sequencer +function InsertStep(ref, image, index, name, o) { + if (ref.sequences[name]) { + return ref.importJSON(ref.sequences[name]); + } + + function insertStep(image, index, name, o_) { + if (ref.modules[name]) var moduleInfo = ref.modules[name][1]; + else { + console.log('Module ' + name + ' not found.'); + } + + var o = ref.copy(o_); + o.number = ref.options.sequencerCounter++; //Gives a Unique ID to each step + o.name = o_.name || name || moduleInfo.name; + o.description = o_.description || moduleInfo.description; + o.selector = o_.selector || 'ismod-' + name; + o.container = o_.container || ref.options.selector; + o.image = image; + o.inBrowser = ref.options.inBrowser; + + if (index == -1) index = ref.images[image].steps.length; + + o.step = { + name: o.name, + description: o.description, + ID: o.number, + imageName: o.image, + inBrowser: ref.options.inBrowser, + ui: ref.options.ui, + options: o + }; + var UI = ref.events; + + // Tell UI that a step has been set up. + o = o || {}; + ref.modules[name].expandSteps = function expandSteps(stepsArray) { + for (var step of stepsArray) { + ref.addSteps(step['name'], step['options']); + } + } + if (!ref.modules[name][1].length) { + UI.onSetup(o.step); + ref.images[image].steps.splice(index, 0, ref.modules[name][0](o, UI)); + } else { + ref.modules[name][0](o, UI); + } + + return true; + } + + insertStep(image, index, name, o); + ref.steps = ref.images[image].steps; + +} +module.exports = InsertStep; },{"./util/getStep.js":247}],156:[function(require,module,exports){ -/* -* Core modules and their info files -*/ -module.exports = { - 'average': require('./modules/Average'), - 'blend': require('./modules/Blend'), - 'blur': require('./modules/Blur'), - 'brightness': require('./modules/Brightness'), - 'channel': require('./modules/Channel'), - 'colorbar': require('./modules/Colorbar'), - 'colormap': require('./modules/Colormap'), - 'contrast': require('./modules/Contrast'), - 'convolution': require('./modules/Convolution'), - 'crop': require('./modules/Crop'), - 'decode-qr': require('./modules/DecodeQr'), - 'dynamic': require('./modules/Dynamic'), - 'edge-detect': require('./modules/EdgeDetect'), - 'fisheye-gl': require('./modules/FisheyeGl'), - 'histogram': require('./modules/Histogram'), - 'gamma-correction': require('./modules/GammaCorrection'), - 'gradient': require('./modules/Gradient'), - 'import-image': require('./modules/ImportImage'), - 'invert': require('image-sequencer-invert'), - 'ndvi': require('./modules/Ndvi'), - 'ndvi-colormap': require('./modules/NdviColormap'), - 'overlay': require('./modules/Overlay'), - 'resize': require('./modules/Resize'), - 'rotate': require('./modules/Rotate'), - 'saturation': require('./modules/Saturation') -} +/* +* Core modules and their info files +*/ +module.exports = { + 'average': require('./modules/Average'), + 'blend': require('./modules/Blend'), + 'blur': require('./modules/Blur'), + 'brightness': require('./modules/Brightness'), + 'channel': require('./modules/Channel'), + 'colorbar': require('./modules/Colorbar'), + 'colormap': require('./modules/Colormap'), + 'contrast': require('./modules/Contrast'), + 'convolution': require('./modules/Convolution'), + 'crop': require('./modules/Crop'), + 'decode-qr': require('./modules/DecodeQr'), + 'dynamic': require('./modules/Dynamic'), + 'edge-detect': require('./modules/EdgeDetect'), + 'fisheye-gl': require('./modules/FisheyeGl'), + 'histogram': require('./modules/Histogram'), + 'gamma-correction': require('./modules/GammaCorrection'), + 'gradient': require('./modules/Gradient'), + 'import-image': require('./modules/ImportImage'), + 'invert': require('image-sequencer-invert'), + 'ndvi': require('./modules/Ndvi'), + 'ndvi-colormap': require('./modules/NdviColormap'), + 'overlay': require('./modules/Overlay'), + 'resize': require('./modules/Resize'), + 'rotate': require('./modules/Rotate'), + 'saturation': require('./modules/Saturation') +} -},{"./modules/Average":162,"./modules/Blend":165,"./modules/Blur":169,"./modules/Brightness":172,"./modules/Channel":175,"./modules/Colorbar":178,"./modules/Colormap":182,"./modules/Contrast":186,"./modules/Convolution":190,"./modules/Crop":195,"./modules/DecodeQr":198,"./modules/Dynamic":201,"./modules/EdgeDetect":205,"./modules/FisheyeGl":208,"./modules/GammaCorrection":211,"./modules/Gradient":214,"./modules/Histogram":217,"./modules/ImportImage":221,"./modules/Ndvi":225,"./modules/NdviColormap":228,"./modules/Overlay":231,"./modules/Resize":234,"./modules/Rotate":237,"./modules/Saturation":240,"image-sequencer-invert":61}],157:[function(require,module,exports){ -// Uses a given image as input and replaces it with the output. -// Works only in the browser. -function ReplaceImage(ref,selector,steps,options) { - if(!ref.options.inBrowser) return false; // This isn't for Node.js - var tempSequencer = ImageSequencer({ui: false}); - var this_ = ref; - if (window.hasOwnProperty('$')) var input = $(selector); - else var input = document.querySelectorAll(selector); - var images = []; - for (var i = 0; i < input.length; i++) { - if (input[i] instanceof HTMLImageElement) images.push(input[i]); - } - - function replaceImage (img, steps) { - var url = img.src; - // refactor to filetypeFromUrl() - var ext = url.split('?')[0].split('.').pop(); - - var xmlHTTP = new XMLHttpRequest(); - xmlHTTP.open('GET', url, true); - xmlHTTP.responseType = 'arraybuffer'; - xmlHTTP.onload = function(e) { - var arr = new Uint8Array(this.response); - - // in chunks to avoid "RangeError: Maximum call stack exceeded" - // https://github.com/publiclab/image-sequencer/issues/241 - // https://stackoverflow.com/a/20048852/1116657 - var raw = ''; - var i,j,subArray,chunk = 5000; - for (i=0,j=arr.length; i= ref.images[image].steps.length) return { options: { name: undefined } }; - else return ref.images[image].steps.slice(i + offset)[0]; - }; - ref.images[image].steps[i].getIndex = function getIndex() { - return i; - } - - for (var util in getStepUtils) { - if (getStepUtils.hasOwnProperty(util)) { - ref.images[image].steps[i][util] = getStepUtils[util]; - } - } - - // Tell UI that a step is being drawn. - ref.images[image].steps[i].UI.onDraw(ref.images[image].steps[i].options.step); - - // provides a set of standard tools for each step - var inputForNextStep = require('./RunToolkit')(ref.copy(input)); - - ref.images[image].steps[i].draw( - inputForNextStep, - function onEachStep() { - - // This output is accessible by UI - ref.images[image].steps[i].options.step.output = ref.images[image].steps[i].output.src; - - // Tell UI that step has been drawn. - ref.images[image].steps[i].UI.onComplete(ref.images[image].steps[i].options.step); - - drawStep(drawarray, ++pos); - }, - progressObj - ); - } - } - - function drawSteps(json_q) { - var drawarray = []; - for (var image in json_q) { - var no_steps = ref.images[image].steps.length; - var init = json_q[image]; - for (var i = 0; i < no_steps - init; i++) { - drawarray.push({ image: image, i: init + i }); - } - } - drawStep(drawarray, ind); - } - - function filter(json_q) { - for (var image in json_q) { - if (json_q[image] == 0 && ref.images[image].steps.length == 1) - delete json_q[image]; - else if (json_q[image] == 0) json_q[image]++; - } - for (var image in json_q) { - var prevstep = ref.images[image].steps[json_q[image] - 1]; - while ( - typeof prevstep == "undefined" || - typeof prevstep.output == "undefined" - ) { - prevstep = ref.images[image].steps[--json_q[image] - 1]; - } - } - return json_q; - } - - var json_q = filter(json_q); - return drawSteps(json_q); -} -module.exports = Run; +const getStepUtils = require('./util/getStep.js'); + +function Run(ref, json_q, callback, ind, progressObj) { + if (!progressObj) progressObj = { stop: function() { } }; + + function drawStep(drawarray, pos) { + if (pos == drawarray.length && drawarray[pos - 1] !== undefined) { + var image = drawarray[pos - 1].image; + if (ref.objTypeOf(callback) == "Function" && ref.images[image].steps.slice(-1)[0].output) { + var steps = ref.images[image].steps; + var out = steps[steps.length - 1].output.src; + callback(out); + return true; + } + } + + // so we don't run on the loadImage module: + if (drawarray[pos] !== undefined) { + var image = drawarray[pos].image; + var i = drawarray[pos].i; + var input = ref.images[image].steps[i - 1].output; + + ref.images[image].steps[i].getStep = function getStep(offset) { + if (i + offset >= ref.images[image].steps.length) return { options: { name: undefined } }; + else return ref.images[image].steps.slice(i + offset)[0]; + }; + ref.images[image].steps[i].getIndex = function getIndex() { + return i; + } + + for (var util in getStepUtils) { + if (getStepUtils.hasOwnProperty(util)) { + ref.images[image].steps[i][util] = getStepUtils[util]; + } + } + + // Tell UI that a step is being drawn. + ref.images[image].steps[i].UI.onDraw(ref.images[image].steps[i].options.step); + + // provides a set of standard tools for each step + var inputForNextStep = require('./RunToolkit')(ref.copy(input)); + + ref.images[image].steps[i].draw( + inputForNextStep, + function onEachStep() { + + // This output is accessible by UI + ref.images[image].steps[i].options.step.output = ref.images[image].steps[i].output.src; + + // Tell UI that step has been drawn. + ref.images[image].steps[i].UI.onComplete(ref.images[image].steps[i].options.step); + + drawStep(drawarray, ++pos); + }, + progressObj + ); + } + } + + function drawSteps(json_q) { + var drawarray = []; + for (var image in json_q) { + var no_steps = ref.images[image].steps.length; + var init = json_q[image]; + for (var i = 0; i < no_steps - init; i++) { + drawarray.push({ image: image, i: init + i }); + } + } + drawStep(drawarray, ind); + } + + function filter(json_q) { + for (var image in json_q) { + if (json_q[image] == 0 && ref.images[image].steps.length == 1) + delete json_q[image]; + else if (json_q[image] == 0) json_q[image]++; + } + for (var image in json_q) { + var prevstep = ref.images[image].steps[json_q[image] - 1]; + while ( + typeof prevstep == "undefined" || + typeof prevstep.output == "undefined" + ) { + prevstep = ref.images[image].steps[--json_q[image] - 1]; + } + } + return json_q; + } + + var json_q = filter(json_q); + return drawSteps(json_q); +} +module.exports = Run; },{"./RunToolkit":159,"./util/getStep.js":247}],159:[function(require,module,exports){ -const getPixels = require('get-pixels'); -const pixelManipulation = require('./modules/_nomodule/PixelManipulation'); -const lodash = require('lodash'); -const dataUriToBuffer = require('data-uri-to-buffer'); -const savePixels = require('save-pixels'); - -module.exports = function(input) { - input.getPixels = getPixels; - input.pixelManipulation = pixelManipulation; - input.lodash = lodash; - input.dataUriToBuffer = dataUriToBuffer; - input.savePixels = savePixels; - return input; +const getPixels = require('get-pixels'); +const pixelManipulation = require('./modules/_nomodule/PixelManipulation'); +const lodash = require('lodash'); +const dataUriToBuffer = require('data-uri-to-buffer'); +const savePixels = require('save-pixels'); + +module.exports = function(input) { + input.getPixels = getPixels; + input.pixelManipulation = pixelManipulation; + input.lodash = lodash; + input.dataUriToBuffer = dataUriToBuffer; + input.savePixels = savePixels; + return input; } },{"./modules/_nomodule/PixelManipulation":242,"data-uri-to-buffer":20,"get-pixels":30,"lodash":75,"save-pixels":138}],160:[function(require,module,exports){ module.exports={"sample":[{"name":"invert","options":{}},{"name":"channel","options":{"channel":"red"}},{"name":"blur","options":{"blur":"5"}}]} },{}],161:[function(require,module,exports){ -/* -* Average all pixel colors -*/ -module.exports = function Average(options, UI){ - - options.blur = options.blur || 2 - var output; - - options.step.metadata = options.step.metadata || {}; - - function draw(input,callback,progressObj){ - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a){ - return [r,g,b,a] - } - - // do the averaging - function extraManipulation(pixels){ - var sum = [0,0,0,0]; - for (var i = 0; i < pixels.data.length; i += 4) { - sum[0] += pixels.data[i + 0]; - sum[1] += pixels.data[i + 1]; - sum[2] += pixels.data[i + 2]; - sum[3] += pixels.data[i + 3]; - } - - sum[0] = parseInt(sum[0] / (pixels.data.length / 4)); - sum[1] = parseInt(sum[1] / (pixels.data.length / 4)); - sum[2] = parseInt(sum[2] / (pixels.data.length / 4)); - sum[3] = parseInt(sum[3] / (pixels.data.length / 4)); - - for (var i = 0; i < pixels.data.length; i += 4) { - pixels.data[i + 0] = sum[0]; - pixels.data[i + 1] = sum[1]; - pixels.data[i + 2] = sum[2]; - pixels.data[i + 3] = sum[3]; - } - // report back and store average in metadata: - options.step.metadata.averages = sum; - console.log("average: ", sum); - // TODO: refactor into a new "display()" method as per https://github.com/publiclab/image-sequencer/issues/242 - if (options.step.inBrowser && options.step.ui) $(options.step.ui).find('.details').append("

Averages (r, g, b, a): " + sum.join(', ') + "

"); - return pixels; - } - - function output(image, datauri, mimetype){ - - // This output is accessible by Image Sequencer - step.output = { - src: datauri, - format: mimetype - }; - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* +* Average all pixel colors +*/ +module.exports = function Average(options, UI){ + + options.blur = options.blur || 2 + var output; + + options.step.metadata = options.step.metadata || {}; + + function draw(input,callback,progressObj){ + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a){ + return [r,g,b,a] + } + + // do the averaging + function extraManipulation(pixels){ + var sum = [0,0,0,0]; + for (var i = 0; i < pixels.data.length; i += 4) { + sum[0] += pixels.data[i + 0]; + sum[1] += pixels.data[i + 1]; + sum[2] += pixels.data[i + 2]; + sum[3] += pixels.data[i + 3]; + } + + sum[0] = parseInt(sum[0] / (pixels.data.length / 4)); + sum[1] = parseInt(sum[1] / (pixels.data.length / 4)); + sum[2] = parseInt(sum[2] / (pixels.data.length / 4)); + sum[3] = parseInt(sum[3] / (pixels.data.length / 4)); + + for (var i = 0; i < pixels.data.length; i += 4) { + pixels.data[i + 0] = sum[0]; + pixels.data[i + 1] = sum[1]; + pixels.data[i + 2] = sum[2]; + pixels.data[i + 3] = sum[3]; + } + // report back and store average in metadata: + options.step.metadata.averages = sum; + console.log("average: ", sum); + // TODO: refactor into a new "display()" method as per https://github.com/publiclab/image-sequencer/issues/242 + if (options.step.inBrowser && options.step.ui) $(options.step.ui).find('.details').append("

Averages (r, g, b, a): " + sum.join(', ') + "

"); + return pixels; + } + + function output(image, datauri, mimetype){ + + // This output is accessible by Image Sequencer + step.output = { + src: datauri, + format: mimetype + }; + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],162:[function(require,module,exports){ -module.exports = [ - require('./Module'), - require('./info.json') +module.exports = [ + require('./Module'), + require('./info.json') ] },{"./Module":161,"./info.json":163}],163:[function(require,module,exports){ -module.exports={ - "name": "Average", - "description": "Average all pixel color", - "inputs": { - } -} +module.exports={ + "name": "Average", + "description": "Average all pixel color", + "inputs": { + } +} },{}],164:[function(require,module,exports){ -module.exports = function Dynamic(options, UI, util) { - - options.func = options.func || "function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }"; - options.offset = options.offset || -2; - - var output; - - // This function is called on every draw. - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - // convert to runnable code: - if (typeof options.func === "string") eval('options.func = ' + options.func); - - var getPixels = require('get-pixels'); - - // convert offset as string to int - if(typeof options.offset === "string") options.offset = parseInt(options.offset); - - // save first image's pixels - var priorStep = this.getStep(options.offset); - - getPixels(priorStep.output.src, function(err, pixels) { - options.firstImagePixels = pixels; - - function changePixel(r2, g2, b2, a2, x, y) { - // blend! - var p = options.firstImagePixels; - return options.func( - r2, g2, b2, a2, - p.get(x, y, 0), - p.get(x, y, 1), - p.get(x, y, 2), - p.get(x, y, 3) - ) - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - // run PixelManipulatin on second image's pixels - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - }); - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Dynamic(options, UI, util) { + + options.func = options.func || "function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }"; + options.offset = options.offset || -2; + + var output; + + // This function is called on every draw. + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + // convert to runnable code: + if (typeof options.func === "string") eval('options.func = ' + options.func); + + var getPixels = require('get-pixels'); + + // convert offset as string to int + if(typeof options.offset === "string") options.offset = parseInt(options.offset); + + // save first image's pixels + var priorStep = this.getStep(options.offset); + + getPixels(priorStep.output.src, function(err, pixels) { + options.firstImagePixels = pixels; + + function changePixel(r2, g2, b2, a2, x, y) { + // blend! + var p = options.firstImagePixels; + return options.func( + r2, g2, b2, a2, + p.get(x, y, 0), + p.get(x, y, 1), + p.get(x, y, 2), + p.get(x, y, 3) + ) + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + // run PixelManipulatin on second image's pixels + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + }); + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"get-pixels":30}],165:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":164,"./info.json":166,"dup":162}],166:[function(require,module,exports){ -module.exports={ - "name": "Blend", - "description": "Blend two chosen image steps with the given function. Defaults to using the red channel from image 1 and the green and blue and alpha channels of image 2. Easier to use interfaces coming soon!", - "inputs": { - "offset": { - "type": "integer", - "desc": "Choose which image to blend the current image with. Two steps back is -2, three steps back is -3 etc.", - "default": -2 - }, - "blend": { - "type": "input", - "desc": "Function to use to blend the two images.", - "default": "function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }" - } - } -} +module.exports={ + "name": "Blend", + "description": "Blend two chosen image steps with the given function. Defaults to using the red channel from image 1 and the green and blue and alpha channels of image 2. Easier to use interfaces coming soon!", + "inputs": { + "offset": { + "type": "integer", + "desc": "Choose which image to blend the current image with. Two steps back is -2, three steps back is -3 etc.", + "default": -2 + }, + "blend": { + "type": "input", + "desc": "Function to use to blend the two images.", + "default": "function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }" + } + } +} },{}],167:[function(require,module,exports){ -module.exports = exports = function(pixels, blur) { - let kernel = kernelGenerator(blur, 1), oldpix = pixels; - kernel = flipKernel(kernel); - - for (let i = 0; i < pixels.shape[0]; i++) { - for (let j = 0; j < pixels.shape[1]; j++) { - let neighboutPos = getNeighbouringPixelPositions([i, j]); - let acc = [0.0, 0.0, 0.0, 0.0]; - for (let a = 0; a < kernel.length; a++) { - for (let b = 0; b < kernel.length; b++) { - acc[0] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 0) * kernel[a][b]); - acc[1] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 1) * kernel[a][b]); - acc[2] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 2) * kernel[a][b]); - acc[3] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 3) * kernel[a][b]); - } - } - pixels.set(i, j, 0, acc[0]); - pixels.set(i, j, 1, acc[1]); - pixels.set(i, j, 2, acc[2]); - } - } - return pixels; - - - - //Generates a 3x3 Gaussian kernel - function kernelGenerator(sigma, size) { - - /* - Trying out a variable radius kernel not working as of now - */ - // const coeff = (1.0/(2.0*Math.PI*sigma*sigma)) - // const expCoeff = -1 * (1.0/2.0 * sigma * sigma) - // let e = Math.E - // let result = [] - // for(let i = -1 * size;i<=size;i++){ - // let arr = [] - // for(let j= -1 * size;j<=size;j++){ - // arr.push(coeff * Math.pow(e,expCoeff * ((i * i) + (j*j)))) - // } - // result.push(arr) - // } - // let sum = result.reduce((sum,val)=>{ - // return val.reduce((sumInner,valInner)=>{ - // return sumInner+valInner - // }) - // }) - // result = result.map(arr=>arr.map(val=>(val + 0.0)/(sum + 0.0))) - - // return result - - return [ - [2.0 / 159.0, 4.0 / 159.0, 5.0 / 159.0, 4.0 / 159.0, 2.0 / 159.0], - [4.0 / 159.0, 9.0 / 159.0, 12.0 / 159.0, 9.0 / 159.0, 4.0 / 159.0], - [5.0 / 159.0, 12.0 / 159.0, 15.0 / 159.0, 12.0 / 159.0, 5.0 / 159.0], - [4.0 / 159.0, 9.0 / 159.0, 12.0 / 159.0, 9.0 / 159.0, 4.0 / 159.0], - [2.0 / 159.0, 4.0 / 159.0, 5.0 / 159.0, 4.0 / 159.0, 2.0 / 159.0] - ]; - } - function getNeighbouringPixelPositions(pixelPosition) { - let x = pixelPosition[0], y = pixelPosition[1], result = []; - - for (let i = -2; i <= 2; i++) { - let arr = []; - for (let j = -2; j <= 2; j++) - arr.push([x + i, y + j]); - - result.push(arr); - } - return result; - } - - function flipKernel(kernel) { - let result = []; - for (let i = kernel.length - 1; i >= 0; i--) { - let arr = []; - for (let j = kernel[i].length - 1; j >= 0; j--) { - arr.push(kernel[i][j]); - } - result.push(arr); - } - return result; - } +module.exports = exports = function(pixels, blur) { + let kernel = kernelGenerator(blur, 1), oldpix = pixels; + kernel = flipKernel(kernel); + + for (let i = 0; i < pixels.shape[0]; i++) { + for (let j = 0; j < pixels.shape[1]; j++) { + let neighboutPos = getNeighbouringPixelPositions([i, j]); + let acc = [0.0, 0.0, 0.0, 0.0]; + for (let a = 0; a < kernel.length; a++) { + for (let b = 0; b < kernel.length; b++) { + acc[0] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 0) * kernel[a][b]); + acc[1] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 1) * kernel[a][b]); + acc[2] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 2) * kernel[a][b]); + acc[3] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 3) * kernel[a][b]); + } + } + pixels.set(i, j, 0, acc[0]); + pixels.set(i, j, 1, acc[1]); + pixels.set(i, j, 2, acc[2]); + } + } + return pixels; + + + + //Generates a 3x3 Gaussian kernel + function kernelGenerator(sigma, size) { + + /* + Trying out a variable radius kernel not working as of now + */ + // const coeff = (1.0/(2.0*Math.PI*sigma*sigma)) + // const expCoeff = -1 * (1.0/2.0 * sigma * sigma) + // let e = Math.E + // let result = [] + // for(let i = -1 * size;i<=size;i++){ + // let arr = [] + // for(let j= -1 * size;j<=size;j++){ + // arr.push(coeff * Math.pow(e,expCoeff * ((i * i) + (j*j)))) + // } + // result.push(arr) + // } + // let sum = result.reduce((sum,val)=>{ + // return val.reduce((sumInner,valInner)=>{ + // return sumInner+valInner + // }) + // }) + // result = result.map(arr=>arr.map(val=>(val + 0.0)/(sum + 0.0))) + + // return result + + return [ + [2.0 / 159.0, 4.0 / 159.0, 5.0 / 159.0, 4.0 / 159.0, 2.0 / 159.0], + [4.0 / 159.0, 9.0 / 159.0, 12.0 / 159.0, 9.0 / 159.0, 4.0 / 159.0], + [5.0 / 159.0, 12.0 / 159.0, 15.0 / 159.0, 12.0 / 159.0, 5.0 / 159.0], + [4.0 / 159.0, 9.0 / 159.0, 12.0 / 159.0, 9.0 / 159.0, 4.0 / 159.0], + [2.0 / 159.0, 4.0 / 159.0, 5.0 / 159.0, 4.0 / 159.0, 2.0 / 159.0] + ]; + } + function getNeighbouringPixelPositions(pixelPosition) { + let x = pixelPosition[0], y = pixelPosition[1], result = []; + + for (let i = -2; i <= 2; i++) { + let arr = []; + for (let j = -2; j <= 2; j++) + arr.push([x + i, y + j]); + + result.push(arr); + } + return result; + } + + function flipKernel(kernel) { + let result = []; + for (let i = kernel.length - 1; i >= 0; i--) { + let arr = []; + for (let j = kernel[i].length - 1; j >= 0; j--) { + arr.push(kernel[i][j]); + } + result.push(arr); + } + return result; + } } },{}],168:[function(require,module,exports){ -/* -* Blur an Image -*/ -module.exports = function Blur(options, UI) { - - options.blur = options.blur || 2 - var output; - - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - return [r, g, b, a] - } - - function extraManipulation(pixels) { - pixels = require('./Blur')(pixels, options.blur) - return pixels - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* +* Blur an Image +*/ +module.exports = function Blur(options, UI) { + + options.blur = options.blur || 2 + var output; + + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + return [r, g, b, a] + } + + function extraManipulation(pixels) { + pixels = require('./Blur')(pixels, options.blur) + return pixels + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"./Blur":167}],169:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":168,"./info.json":170,"dup":162}],170:[function(require,module,exports){ -module.exports={ - "name": "Blur", - "description": "Applies a Gaussian blur given by the intensity value", - "inputs": { - "blur": { - "type": "range", - "desc": "Amount of gaussian blur(Less blur gives more detail, typically 0-5)", - "default": "2", - "min": "0", - "max": "5", - "step": "0.25" - } - } -} +module.exports={ + "name": "Blur", + "description": "Applies a Gaussian blur given by the intensity value", + "inputs": { + "blur": { + "type": "range", + "desc": "Amount of gaussian blur(Less blur gives more detail, typically 0-5)", + "default": "2", + "min": "0", + "max": "5", + "step": "0.25" + } + } +} },{}],171:[function(require,module,exports){ -/* -* Changes the Image Brightness -*/ - -module.exports = function Brightness(options,UI){ - - var output; - - function draw(input,callback,progressObj){ - - progressObj.stop(true); - progressObj.overrideFlag = true; - - /* - In this case progress is handled by changepixel internally otherwise progressObj - needs to be overriden and used - For eg. progressObj = new SomeProgressModule() - */ - - var step = this; - - function changePixel(r, g, b, a){ - var val = (options.brightness)/100.0 - - r = val*r<255?val*r:255 - g = val*g<255?val*g:255 - b = val*b<255?val*b:255 - return [r , g, b, a] - } - - function output(image,datauri,mimetype){ - - // This output is accessible by Image Sequencer - step.output = {src:datauri,format:mimetype}; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* +* Changes the Image Brightness +*/ + +module.exports = function Brightness(options,UI){ + + var output; + + function draw(input,callback,progressObj){ + + progressObj.stop(true); + progressObj.overrideFlag = true; + + /* + In this case progress is handled by changepixel internally otherwise progressObj + needs to be overriden and used + For eg. progressObj = new SomeProgressModule() + */ + + var step = this; + + function changePixel(r, g, b, a){ + options.brightness = + options.brightness || 100 + var val = (options.brightness)/100.0 + + r = val*r<255?val*r:255 + g = val*g<255?val*g:255 + b = val*b<255?val*b:255 + return [r, g, b, a] + } + + function output(image,datauri,mimetype){ + + // This output is accessible by Image Sequencer + step.output = {src:datauri,format:mimetype}; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],172:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":171,"./info.json":173,"dup":162}],173:[function(require,module,exports){ -module.exports={ - "name": "Brightness", - "description": "Change the brightness of the image by given percent value", - "inputs": { - "brightness": { - "type": "range", - "desc": "% brightness for the new image", - "default": "100", - "min": "0", - "max": "200", - "step": "1" - } - } -} +module.exports={ + "name": "Brightness", + "description": "Change the brightness of the image by given percent value", + "inputs": { + "brightness": { + "type": "range", + "desc": "% brightness for the new image", + "default": "100", + "min": "0", + "max": "200", + "step": "1" + } + } +} },{}],174:[function(require,module,exports){ -/* - * Display only one color channel - */ -module.exports = function Channel(options, UI) { - - options.channel = options.channel || "green"; - - var output; - - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - if (options.channel == "red") return [r, 0, 0, a]; - if (options.channel == "green") return [0, g, 0, a]; - if (options.channel == "blue") return [0, 0, b, a]; - } - - function output(image, datauri, mimetype) { - - // This output is accesible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - //setup: setup, // optional - draw: draw, - output: output, - UI: UI - } -} +/* + * Display only one color channel + */ +module.exports = function Channel(options, UI) { + + options.channel = options.channel || "green"; + + var output; + + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + if (options.channel == "red") return [r, 0, 0, a]; + if (options.channel == "green") return [0, g, 0, a]; + if (options.channel == "blue") return [0, 0, b, a]; + } + + function output(image, datauri, mimetype) { + + // This output is accesible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + //setup: setup, // optional + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],175:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":174,"./info.json":176,"dup":162}],176:[function(require,module,exports){ -module.exports={ - "name": "Channel", - "description": "Displays only one color channel of an image -- default is green", - "inputs": { - "channel": { - "type": "select", - "desc": "Color channel", - "default": "green", - "values": ["red", "green", "blue"] - } - } -} +module.exports={ + "name": "Channel", + "description": "Displays only one color channel of an image -- default is green", + "inputs": { + "channel": { + "type": "select", + "desc": "Color channel", + "default": "green", + "values": ["red", "green", "blue"] + } + } +} },{}],177:[function(require,module,exports){ -module.exports = function NdviColormapfunction(options, UI) { - - options.x = options.x || 0; - options.y = options.y || 0; - options.colormap = options.colormap || "default"; - options.h = options.h || 10; - this.expandSteps([ - { 'name': 'gradient', 'options': {} }, - { 'name': 'colormap', 'options': { colormap: options.colormap } }, - { 'name': 'crop', 'options': { 'y': 0, 'h': options.h } }, - { 'name': 'overlay', 'options': { 'x': options.x, 'y': options.y, 'offset': -4 } } - ]); - return { - isMeta: true - } +module.exports = function NdviColormapfunction(options, UI) { + + options.x = options.x || 0; + options.y = options.y || 0; + options.colormap = options.colormap || "default"; + options.h = options.h || 10; + this.expandSteps([ + { 'name': 'gradient', 'options': {} }, + { 'name': 'colormap', 'options': { colormap: options.colormap } }, + { 'name': 'crop', 'options': { 'y': 0, 'h': options.h } }, + { 'name': 'overlay', 'options': { 'x': options.x, 'y': options.y, 'offset': -4 } } + ]); + return { + isMeta: true + } } },{}],178:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":177,"./info.json":179,"dup":162}],179:[function(require,module,exports){ -module.exports={ - "name": "Colorbar", - "description": "Generates a colorbar to lay over the image", - "inputs": { - "colormap": { - "type": "select", - "desc": "Name of the Colormap", - "default": "default", - "values": [ - "default", - "greyscale", - "stretched", - "fastie" - ] - }, - "x": { - "type": "integer", - "desc": "X-position of the image on which the new image is overlayed", - "default": 0 - }, - "y": { - "type": "integer", - "desc": "Y-position of the image on which the new image is overlayed", - "default": 0 - }, - "h": { - "type": "iinteger", - "desc": "height of the colorbar", - "default": 10 - } - }, - "length": 4 +module.exports={ + "name": "Colorbar", + "description": "Generates a colorbar to lay over the image", + "inputs": { + "colormap": { + "type": "select", + "desc": "Name of the Colormap", + "default": "default", + "values": [ + "default", + "greyscale", + "stretched", + "fastie" + ] + }, + "x": { + "type": "integer", + "desc": "X-position of the image on which the new image is overlayed", + "default": 0 + }, + "y": { + "type": "integer", + "desc": "Y-position of the image on which the new image is overlayed", + "default": 0 + }, + "h": { + "type": "iinteger", + "desc": "height of the colorbar", + "default": 10 + } + }, + "length": 4 } },{}],180:[function(require,module,exports){ -/* - * Accepts a value from 0-255 and returns the new color-mapped pixel - * from a lookup table, which can be specified as an array of [begin, end] - * gradients, where begin and end are represented as [r, g, b] colors. In - * combination, a lookup table which maps values from 0 - 255 smoothly from black to white looks like: - * [ - * [0, [0, 0, 0], [255, 255, 255]], - * [1, [255, 255, 255], [255, 255, 255]] - * ] - * - * Adapted from bgamari's work in Infragram: https://github.com/p-v-o-s/infragram-js/commit/346c97576a07b71a55671d17e0153b7df74e803b - */ - -module.exports = function Colormap(value, options) { - options.colormap = options.colormap || colormaps.default; - // if a lookup table is provided as an array: - if(typeof(options.colormap) == "object") - colormapFunction = colormap(options.colormap); - // if a stored colormap is named with a string like "fastie": - else if(colormaps.hasOwnProperty(options.colormap)) - colormapFunction = colormaps[options.colormap]; - else colormapFunction = colormaps.default; - return colormapFunction(value / 255.00); -} - -function colormap(segments) { - return function(x) { - var i, result, x0, x1, xstart, y0, y1, _i, _j, _len, _ref, _ref1, _ref2, _ref3; - _ref = [0, 0], y0 = _ref[0], y1 = _ref[1]; - _ref1 = [segments[0][0], 1], x0 = _ref1[0], x1 = _ref1[1]; - if (x < x0) { - return y0; - } - for (i = _i = 0, _len = segments.length; _i < _len; i = ++_i) { - _ref2 = segments[i], xstart = _ref2[0], y0 = _ref2[1], y1 = _ref2[2]; - x0 = xstart; - if (i === segments.length - 1) { - x1 = 1; - break; - } - x1 = segments[i + 1][0]; - if ((xstart <= x && x < x1)) { - break; - } - } - result = []; - for (i = _j = 0, _ref3 = y0.length; 0 <= _ref3 ? _j < _ref3 : _j > _ref3; i = 0 <= _ref3 ? ++_j : --_j) { - result[i] = (x - x0) / (x1 - x0) * (y1[i] - y0[i]) + y0[i]; - } - return result; - }; -}; - -var colormaps = { - greyscale: colormap([ - [0, [0, 0, 0], [220, 20, 60] ], - [1, [255, 255, 255], [255, 255, 255] ] - ]), - - bluwhtgrngis: colormap([ - [0, [6,23,86], [6,25, 84] ], - [0.0625, [6,25,84], [6,25, 84] ],//1 - [0.125, [6,25,84], [6,25, 84] ],//2 - [0.1875, [6,25,84], [6,25, 84] ], - [0.25, [6,25,84], [6,25,84] ], - [0.3125, [6,25,84], [9,24, 84] ],//5 - [0.3438, [9,24, 84], [119,120,162] ],//5 - [0.375, [119,129,162],[249,250,251] ], //6 - [0.406, [249,250,251],[255,255,255] ], //6.5 - [0.4375, [255,255,255],[255,255,255] ], //7 white - [0.50, [255,255,255],[214,205,191] ],//8 - [0.52, [214,205,191],[178,175,96] ],//8.2 - [0.5625, [178,175,96], [151,176,53] ],//9 - [0.593, [151,176,53], [146,188,12] ],//9.5 - [0.625, [146,188,12], [96,161,1] ], //10 - [0.6875, [96,161,1], [30,127,3] ],//11 - [0.75, [30,127,3], [0,99,1] ],//12 - [0.8125, [0,99,1], [0,74,1] ],//13 - [0.875, [0,74,1], [0,52, 0] ],//14 - [0.9375, [0,52, 0], [0,34,0] ], //15 - [0.968, [0,34,0], [68,70,67] ] //16 - ]), - - - brntogrn: colormap([ - [0, [110,12,3], [118,6,1] ], - [0.0625, [118,6,1], [141,19,6] ], - [0.125, [141,19,6], [165,35,13] ], - [0.1875, [165,35,13], [177,59,25] ], - [0.2188, [177,59,25], [192,91,36] ], - [0.25, [192,91,36], [214, 145, 76] ], - [0.3125, [214,145,76], [230,183,134] ], - [0.375, [230,183,134],[243, 224, 194]], - [0.4375, [243,224,194],[250,252,229] ], - [0.50, [250,252,229],[217,235,185] ], - [0.5625, [217,235,185],[184,218,143] ], - [0.625, [184,218,143],[141,202,89] ], - [0.6875, [141,202,89], [80,176,61] ], - [0.75, [80,176,61], [0, 147, 32] ], - [0.8125, [0,147,32], [1, 122, 22] ], - [0.875, [1,122,22], [0, 114, 19] ], - [0.90, [0,114,19], [0,105,18] ], - [0.9375, [0,105,18], [7,70,14] ] - - ]), - - - blutoredjet: colormap([ - [0, [0,0,140], [1,1,186] ], - [0.0625, [1,1,186], [0,1,248] ], - [0.125, [0,1,248], [0,70,254] ], - [0.1875, [0,70,254], [0,130,255] ], - [0.25, [0,130,255], [2,160,255] ], - [0.2813, [2,160,255], [0,187,255] ], //inset - [0.3125, [0,187,255], [6,250,255] ], - // [0.348, [0,218,255], [8,252,251] ],//inset - [0.375, [8,252,251], [27,254,228] ], - [0.406, [27,254,228], [70,255,187] ], //insert - [0.4375, [70,255,187], [104,254,151]], - [0.47, [104,254,151],[132,255,19] ],//insert - [0.50, [132,255,19], [195,255,60] ], - [0.5625, [195,255,60], [231,254,25] ], - [0.5976, [231,254,25], [253,246,1] ],//insert - [0.625, [253,246,1], [252,210,1] ], //yellow - [0.657, [252,210,1], [255,183,0] ],//insert - [0.6875, [255,183,0], [255,125,2] ], - [0.75, [255,125,2], [255,65, 1] ], - [0.8125, [255,65, 1], [247, 1, 1] ], - [0.875, [247,1,1], [200, 1, 3] ], - [0.9375, [200,1,3], [122, 3, 2] ] - - ]), - - - colors16: colormap([ - [0, [0,0,0], [0,0,0] ], - [0.0625, [3,1,172], [3,1,172] ], - [0.125, [3,1,222], [3,1, 222] ], - [0.1875, [0,111,255], [0,111,255] ], - [0.25, [3,172,255], [3,172,255] ], - [0.3125, [1,226,255], [1,226,255] ], - [0.375, [2,255,0], [2,255,0] ], - [0.4375, [198,254,0], [190,254,0] ], - [0.50, [252,255,0], [252,255,0] ], - [0.5625, [255,223,3], [255,223,3] ], - [0.625, [255,143,3], [255,143,3] ], - [0.6875, [255,95,3], [255,95,3] ], - [0.75, [242,0,1], [242,0,1] ], - [0.8125, [245,0,170], [245,0,170] ], - [0.875, [223,180,225], [223,180,225] ], - [0.9375, [255,255,255], [255,255, 255]] - - ]), - - default: colormap([ - [0, [45,1,121], [25,1,137] ], - [0.125, [25,1,137], [0,6,156] ], - [0.1875, [0,6,156], [7,41,172] ], - [0.25, [7,41,172], [22,84,187] ], - [0.3125, [22,84,187], [25,125,194] ], - [0.375, [25,125,194], [26,177,197] ], - [0.4375, [26,177,197], [23,199,193] ], - [0.47, [23,199,193], [25, 200,170] ], - [0.50, [25, 200,170], [21,209,27] ], - [0.5625, [21,209,27], [108,215,18] ], - [0.625, [108,215,18], [166,218,19] ], - [0.6875, [166,218,19], [206,221,20] ], - [0.75, [206,221,20], [222,213,19 ] ], - [0.7813, [222,213,19], [222, 191, 19]], - [0.8125, [222, 191, 19], [227,133,17] ], - [0.875, [227,133,17], [231,83,16] ], - [0.9375, [231,83,16], [220,61,48] ] - - ]), - - - fastie: colormap([ - [0, [255, 255, 255], [0, 0, 0] ], - [0.167, [0, 0, 0], [255, 255, 255] ], - [0.33, [2, 0, 226], [2, 0, 226] ], - [0.5, [0, 0, 0], [140, 140, 255] ], - [0.55, [140, 140, 255], [0, 255, 0] ], - [0.63, [0, 255, 0], [255, 255, 0] ], - [0.75, [255, 255, 0], [255, 0, 0] ], - [0.95, [255, 0, 0], [255, 0, 255] ] - ]), - - - stretched: colormap([ - [0, [0, 0, 255], [0, 0, 255] ], - [0.1, [0, 0, 255], [38, 195, 195] ], - [0.5, [0, 150, 0], [255, 255, 0] ], - [0.7, [255, 255, 0], [255, 50, 50] ], - [0.9, [255, 50, 50], [255, 50, 50] ] - ]) - +/* + * Accepts a value from 0-255 and returns the new color-mapped pixel + * from a lookup table, which can be specified as an array of [begin, end] + * gradients, where begin and end are represented as [r, g, b] colors. In + * combination, a lookup table which maps values from 0 - 255 smoothly from black to white looks like: + * [ + * [0, [0, 0, 0], [255, 255, 255]], + * [1, [255, 255, 255], [255, 255, 255]] + * ] + * + * Adapted from bgamari's work in Infragram: https://github.com/p-v-o-s/infragram-js/commit/346c97576a07b71a55671d17e0153b7df74e803b + */ + +module.exports = function Colormap(value, options) { + options.colormap = options.colormap || colormaps.default; + // if a lookup table is provided as an array: + if(typeof(options.colormap) == "object") + colormapFunction = colormap(options.colormap); + // if a stored colormap is named with a string like "fastie": + else if(colormaps.hasOwnProperty(options.colormap)) + colormapFunction = colormaps[options.colormap]; + else colormapFunction = colormaps.default; + return colormapFunction(value / 255.00); +} + +function colormap(segments) { + return function(x) { + var i, result, x0, x1, xstart, y0, y1, _i, _j, _len, _ref, _ref1, _ref2, _ref3; + _ref = [0, 0], y0 = _ref[0], y1 = _ref[1]; + _ref1 = [segments[0][0], 1], x0 = _ref1[0], x1 = _ref1[1]; + if (x < x0) { + return y0; + } + for (i = _i = 0, _len = segments.length; _i < _len; i = ++_i) { + _ref2 = segments[i], xstart = _ref2[0], y0 = _ref2[1], y1 = _ref2[2]; + x0 = xstart; + if (i === segments.length - 1) { + x1 = 1; + break; + } + x1 = segments[i + 1][0]; + if ((xstart <= x && x < x1)) { + break; + } + } + result = []; + for (i = _j = 0, _ref3 = y0.length; 0 <= _ref3 ? _j < _ref3 : _j > _ref3; i = 0 <= _ref3 ? ++_j : --_j) { + result[i] = (x - x0) / (x1 - x0) * (y1[i] - y0[i]) + y0[i]; + } + return result; + }; +}; + +var colormaps = { + greyscale: colormap([ + [0, [0, 0, 0], [220, 20, 60] ], + [1, [255, 255, 255], [255, 255, 255] ] + ]), + + bluwhtgrngis: colormap([ + [0, [6,23,86], [6,25, 84] ], + [0.0625, [6,25,84], [6,25, 84] ],//1 + [0.125, [6,25,84], [6,25, 84] ],//2 + [0.1875, [6,25,84], [6,25, 84] ], + [0.25, [6,25,84], [6,25,84] ], + [0.3125, [6,25,84], [9,24, 84] ],//5 + [0.3438, [9,24, 84], [119,120,162] ],//5 + [0.375, [119,129,162],[249,250,251] ], //6 + [0.406, [249,250,251],[255,255,255] ], //6.5 + [0.4375, [255,255,255],[255,255,255] ], //7 white + [0.50, [255,255,255],[214,205,191] ],//8 + [0.52, [214,205,191],[178,175,96] ],//8.2 + [0.5625, [178,175,96], [151,176,53] ],//9 + [0.593, [151,176,53], [146,188,12] ],//9.5 + [0.625, [146,188,12], [96,161,1] ], //10 + [0.6875, [96,161,1], [30,127,3] ],//11 + [0.75, [30,127,3], [0,99,1] ],//12 + [0.8125, [0,99,1], [0,74,1] ],//13 + [0.875, [0,74,1], [0,52, 0] ],//14 + [0.9375, [0,52, 0], [0,34,0] ], //15 + [0.968, [0,34,0], [68,70,67] ] //16 + ]), + + + brntogrn: colormap([ + [0, [110,12,3], [118,6,1] ], + [0.0625, [118,6,1], [141,19,6] ], + [0.125, [141,19,6], [165,35,13] ], + [0.1875, [165,35,13], [177,59,25] ], + [0.2188, [177,59,25], [192,91,36] ], + [0.25, [192,91,36], [214, 145, 76] ], + [0.3125, [214,145,76], [230,183,134] ], + [0.375, [230,183,134],[243, 224, 194]], + [0.4375, [243,224,194],[250,252,229] ], + [0.50, [250,252,229],[217,235,185] ], + [0.5625, [217,235,185],[184,218,143] ], + [0.625, [184,218,143],[141,202,89] ], + [0.6875, [141,202,89], [80,176,61] ], + [0.75, [80,176,61], [0, 147, 32] ], + [0.8125, [0,147,32], [1, 122, 22] ], + [0.875, [1,122,22], [0, 114, 19] ], + [0.90, [0,114,19], [0,105,18] ], + [0.9375, [0,105,18], [7,70,14] ] + + ]), + + + blutoredjet: colormap([ + [0, [0,0,140], [1,1,186] ], + [0.0625, [1,1,186], [0,1,248] ], + [0.125, [0,1,248], [0,70,254] ], + [0.1875, [0,70,254], [0,130,255] ], + [0.25, [0,130,255], [2,160,255] ], + [0.2813, [2,160,255], [0,187,255] ], //inset + [0.3125, [0,187,255], [6,250,255] ], + // [0.348, [0,218,255], [8,252,251] ],//inset + [0.375, [8,252,251], [27,254,228] ], + [0.406, [27,254,228], [70,255,187] ], //insert + [0.4375, [70,255,187], [104,254,151]], + [0.47, [104,254,151],[132,255,19] ],//insert + [0.50, [132,255,19], [195,255,60] ], + [0.5625, [195,255,60], [231,254,25] ], + [0.5976, [231,254,25], [253,246,1] ],//insert + [0.625, [253,246,1], [252,210,1] ], //yellow + [0.657, [252,210,1], [255,183,0] ],//insert + [0.6875, [255,183,0], [255,125,2] ], + [0.75, [255,125,2], [255,65, 1] ], + [0.8125, [255,65, 1], [247, 1, 1] ], + [0.875, [247,1,1], [200, 1, 3] ], + [0.9375, [200,1,3], [122, 3, 2] ] + + ]), + + + colors16: colormap([ + [0, [0,0,0], [0,0,0] ], + [0.0625, [3,1,172], [3,1,172] ], + [0.125, [3,1,222], [3,1, 222] ], + [0.1875, [0,111,255], [0,111,255] ], + [0.25, [3,172,255], [3,172,255] ], + [0.3125, [1,226,255], [1,226,255] ], + [0.375, [2,255,0], [2,255,0] ], + [0.4375, [198,254,0], [190,254,0] ], + [0.50, [252,255,0], [252,255,0] ], + [0.5625, [255,223,3], [255,223,3] ], + [0.625, [255,143,3], [255,143,3] ], + [0.6875, [255,95,3], [255,95,3] ], + [0.75, [242,0,1], [242,0,1] ], + [0.8125, [245,0,170], [245,0,170] ], + [0.875, [223,180,225], [223,180,225] ], + [0.9375, [255,255,255], [255,255, 255]] + + ]), + + default: colormap([ + [0, [45,1,121], [25,1,137] ], + [0.125, [25,1,137], [0,6,156] ], + [0.1875, [0,6,156], [7,41,172] ], + [0.25, [7,41,172], [22,84,187] ], + [0.3125, [22,84,187], [25,125,194] ], + [0.375, [25,125,194], [26,177,197] ], + [0.4375, [26,177,197], [23,199,193] ], + [0.47, [23,199,193], [25, 200,170] ], + [0.50, [25, 200,170], [21,209,27] ], + [0.5625, [21,209,27], [108,215,18] ], + [0.625, [108,215,18], [166,218,19] ], + [0.6875, [166,218,19], [206,221,20] ], + [0.75, [206,221,20], [222,213,19 ] ], + [0.7813, [222,213,19], [222, 191, 19]], + [0.8125, [222, 191, 19], [227,133,17] ], + [0.875, [227,133,17], [231,83,16] ], + [0.9375, [231,83,16], [220,61,48] ] + + ]), + + + fastie: colormap([ + [0, [255, 255, 255], [0, 0, 0] ], + [0.167, [0, 0, 0], [255, 255, 255] ], + [0.33, [2, 0, 226], [2, 0, 226] ], + [0.5, [0, 0, 0], [140, 140, 255] ], + [0.55, [140, 140, 255], [0, 255, 0] ], + [0.63, [0, 255, 0], [255, 255, 0] ], + [0.75, [255, 255, 0], [255, 0, 0] ], + [0.95, [255, 0, 0], [255, 0, 255] ] + ]), + + + stretched: colormap([ + [0, [0, 0, 255], [0, 0, 255] ], + [0.1, [0, 0, 255], [38, 195, 195] ], + [0.5, [0, 150, 0], [255, 255, 0] ], + [0.7, [255, 255, 0], [255, 50, 50] ], + [0.9, [255, 50, 50], [255, 50, 50] ] + ]) + } },{}],181:[function(require,module,exports){ -module.exports = function Colormap(options,UI) { - - var output; - - // This function is called on every draw. - function draw(input,callback,progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - var combined = (r + g + b) / 3.000; - var res = require('./Colormap')(combined, options); - return [res[0], res[1], res[2], 255]; - } - - function output(image,datauri,mimetype){ - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Colormap(options,UI) { + + var output; + + // This function is called on every draw. + function draw(input,callback,progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + var combined = (r + g + b) / 3.000; + var res = require('./Colormap')(combined, options); + return [res[0], res[1], res[2], 255]; + } + + function output(image,datauri,mimetype){ + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"./Colormap":180}],182:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":181,"./info.json":183,"dup":162}],183:[function(require,module,exports){ -module.exports={ - "name": "Colormap", - "description": "Maps brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients.\n\nFor example, 'cooler' colors like blue could represent low values, while 'hot' colors like red could represent high values.", - "inputs": { - "colormap": { - "type": "select", - "desc": "Name of the Colormap", - "default": "default", - "values": ["default","greyscale","stretched","fastie","brntogrn","blutoredjet","colors16"] - } - } -} +module.exports={ + "name": "Colormap", + "description": "Maps brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients.\n\nFor example, 'cooler' colors like blue could represent low values, while 'hot' colors like red could represent high values.", + "inputs": { + "colormap": { + "type": "select", + "desc": "Name of the Colormap", + "default": "default", + "values": ["default","greyscale","stretched","fastie","brntogrn","blutoredjet","colors16"] + } + } +} },{}],184:[function(require,module,exports){ -var _ = require('lodash'); -module.exports = exports = function(pixels , contrast){ - let oldpix = _.cloneDeep(pixels); - contrast = Number(contrast) - if (contrast < -100) contrast = -100; - if (contrast > 100) contrast = 100; - contrast = (100.0 + contrast) / 100.0; - contrast *= contrast; - - for (let i = 0; i < oldpix.shape[0]; i++) { - for (let j = 0; j < oldpix.shape[1]; j++) { - var r = oldpix.get(i,j,0)/255.0; - r -= 0.5; - r *= contrast; - r += 0.5; - r *= 255; - if (r < 0) r = 0; - if (r > 255) r = 255; - - - var g = oldpix.get(i,j,1)/255.0; - g -= 0.5; - g *= contrast; - g += 0.5; - g *= 255; - if (g < 0) g = 0; - if (g > 255) g = 255; - - - - var b = oldpix.get(i,j,2)/255.0; - b -= 0.5; - b *= contrast; - b += 0.5; - b *= 255; - if (b < 0) b = 0; - if (b > 255) b = 255; - - - pixels.set(i, j, 0, r); - pixels.set(i, j, 1, g); - pixels.set(i, j, 2, b); - - } - } - return pixels; +var _ = require('lodash'); +module.exports = exports = function(pixels , contrast){ + let oldpix = _.cloneDeep(pixels); + contrast = Number(contrast) + if (contrast < -100) contrast = -100; + if (contrast > 100) contrast = 100; + contrast = (100.0 + contrast) / 100.0; + contrast *= contrast; + + for (let i = 0; i < oldpix.shape[0]; i++) { + for (let j = 0; j < oldpix.shape[1]; j++) { + var r = oldpix.get(i,j,0)/255.0; + r -= 0.5; + r *= contrast; + r += 0.5; + r *= 255; + if (r < 0) r = 0; + if (r > 255) r = 255; + + + var g = oldpix.get(i,j,1)/255.0; + g -= 0.5; + g *= contrast; + g += 0.5; + g *= 255; + if (g < 0) g = 0; + if (g > 255) g = 255; + + + + var b = oldpix.get(i,j,2)/255.0; + b -= 0.5; + b *= contrast; + b += 0.5; + b *= 255; + if (b < 0) b = 0; + if (b > 255) b = 255; + + + pixels.set(i, j, 0, r); + pixels.set(i, j, 1, g); + pixels.set(i, j, 2, b); + + } + } + return pixels; } },{"lodash":75}],185:[function(require,module,exports){ -// /* -// * Changes the Image Contrast -// */ - -module.exports = function Contrast(options, UI) { - - options.contrast = options.contrast || 70 - var output; - - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - return [r, g, b, a] - } - - function extraManipulation(pixels) { - pixels = require('./Contrast')(pixels, options.contrast) - return pixels - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +// /* +// * Changes the Image Contrast +// */ + +module.exports = function Contrast(options, UI) { + + options.contrast = options.contrast || 70 + var output; + + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + return [r, g, b, a] + } + + function extraManipulation(pixels) { + pixels = require('./Contrast')(pixels, options.contrast) + return pixels + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"./Contrast":184}],186:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":185,"./info.json":187,"dup":162}],187:[function(require,module,exports){ -module.exports={ - "name": "Contrast", - "description": "Change the contrast of the image by given value", - "inputs": { - "contrast": { - "type": "Number", - "desc": "contrast for the new image, typically -100 to 100", - "default": 70 - } - } -} +module.exports={ + "name": "Contrast", + "description": "Change the contrast of the image by given value", + "inputs": { + "contrast": { + "type": "Number", + "desc": "contrast for the new image, typically -100 to 100", + "default": 70 + } + } +} },{}],188:[function(require,module,exports){ -var _ = require('lodash'); -module.exports = exports = function(pixels, constantFactor, kernelValues){ - let kernel = kernelGenerator(constantFactor, kernelValues), oldpix = _.cloneDeep(pixels); - kernel = flipKernel(kernel); - - for (let i = 0; i < pixels.shape[0]; i++) { - for (let j = 0; j < pixels.shape[1]; j++) { - let neighboutPos = getNeighbouringPixelPositions([i, j]); - let acc = [0.0, 0.0, 0.0, 0.0]; - for (let a = 0; a < kernel.length; a++) { - for (let b = 0; b < kernel.length; b++) { - acc[0] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 0) * kernel[a][b]); - acc[1] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 1) * kernel[a][b]); - acc[2] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 2) * kernel[a][b]); - acc[3] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 3) * kernel[a][b]); - } - } - acc[0] = acc[0]%255; - acc[1] = acc[1]%255; - acc[2] = acc[2]%255; - pixels.set(i, j, 0, acc[0]); - pixels.set(i, j, 1, acc[1]); - pixels.set(i, j, 2, acc[2]); - } - } - return pixels; - - - function kernelGenerator(constantFactor, kernelValues){ - kernelValues = kernelValues.split(" "); - for(i = 0 ; i < 9; i++){ - kernelValues[i] = Number(kernelValues[i]) * constantFactor; - } - let k = 0; - let arr = []; - for(i = 0; i < 3; i++){ - let columns = []; - for(j = 0; j < 3; j++){ - columns.push(kernelValues[k]); - k += 1; - } - arr.push(columns); - } - return arr; - } - - function getNeighbouringPixelPositions(pixelPosition) { - let x = pixelPosition[0], y = pixelPosition[1], result = []; - - for (let i = -1; i <= 1; i++) { - let arr = []; - for (let j = -1; j <= 1; j++) - arr.push([x + i, y + j]); - - result.push(arr); - } - return result; - } - - function flipKernel(kernel) { - let result = []; - for (let i = kernel.length - 1; i >= 0; i--) { - let arr = []; - for (let j = kernel[i].length - 1; j >= 0; j--) { - arr.push(kernel[i][j]); - } - result.push(arr); - } - return result; - } +var _ = require('lodash'); +module.exports = exports = function(pixels, constantFactor, kernelValues){ + let kernel = kernelGenerator(constantFactor, kernelValues), oldpix = _.cloneDeep(pixels); + kernel = flipKernel(kernel); + + for (let i = 0; i < pixels.shape[0]; i++) { + for (let j = 0; j < pixels.shape[1]; j++) { + let neighboutPos = getNeighbouringPixelPositions([i, j]); + let acc = [0.0, 0.0, 0.0, 0.0]; + for (let a = 0; a < kernel.length; a++) { + for (let b = 0; b < kernel.length; b++) { + acc[0] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 0) * kernel[a][b]); + acc[1] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 1) * kernel[a][b]); + acc[2] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 2) * kernel[a][b]); + acc[3] += (oldpix.get(neighboutPos[a][b][0], neighboutPos[a][b][1], 3) * kernel[a][b]); + } + } + acc[0] = acc[0]%255; + acc[1] = acc[1]%255; + acc[2] = acc[2]%255; + pixels.set(i, j, 0, acc[0]); + pixels.set(i, j, 1, acc[1]); + pixels.set(i, j, 2, acc[2]); + } + } + return pixels; + + + function kernelGenerator(constantFactor, kernelValues){ + kernelValues = kernelValues.split(" "); + for(i = 0 ; i < 9; i++){ + kernelValues[i] = Number(kernelValues[i]) * constantFactor; + } + let k = 0; + let arr = []; + for(i = 0; i < 3; i++){ + let columns = []; + for(j = 0; j < 3; j++){ + columns.push(kernelValues[k]); + k += 1; + } + arr.push(columns); + } + return arr; + } + + function getNeighbouringPixelPositions(pixelPosition) { + let x = pixelPosition[0], y = pixelPosition[1], result = []; + + for (let i = -1; i <= 1; i++) { + let arr = []; + for (let j = -1; j <= 1; j++) + arr.push([x + i, y + j]); + + result.push(arr); + } + return result; + } + + function flipKernel(kernel) { + let result = []; + for (let i = kernel.length - 1; i >= 0; i--) { + let arr = []; + for (let j = kernel[i].length - 1; j >= 0; j--) { + arr.push(kernel[i][j]); + } + result.push(arr); + } + return result; + } } },{"lodash":75}],189:[function(require,module,exports){ -module.exports = function Convolution(options, UI) { - - options.kernelValues = options.kernelValues || '1 1 1 1 1 1 1 1 1'; - options.constantFactor = options.constantFactor || 1/9; - var output; - - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - return [r, g, b, a] - } - - function extraManipulation(pixels) { - pixels = require('./Convolution')(pixels, options.constantFactor, options.kernelValues) - return pixels - } - - function output(image, datauri, mimetype) { - - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Convolution(options, UI) { + + options.kernelValues = options.kernelValues || '1 1 1 1 1 1 1 1 1'; + options.constantFactor = options.constantFactor || 1/9; + var output; + + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + return [r, g, b, a] + } + + function extraManipulation(pixels) { + pixels = require('./Convolution')(pixels, options.constantFactor, options.kernelValues) + return pixels + } + + function output(image, datauri, mimetype) { + + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"./Convolution":188}],190:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":189,"./info.json":191,"dup":162}],191:[function(require,module,exports){ -module.exports={ - "name": "Convolution", - "description": "Image Convolution using a given 3x3 kernel matrix Read more", - "inputs": { - "constantFactor":{ - "type": "Float", - "desc": "a constant factor, multiplies all the kernel values by that factor", - "default": 0.1111, - "placeholder": 0.1111 - }, - - "kernelValues": { - "type": "String", - "desc": "nine space separated numbers representing the kernel values in left to right and top to bottom format.", - "default": "1 1 1 1 1 1 1 1 1", - "placeholder": "1 1 1 1 1 1 1 1 1" - } - } -} +module.exports={ + "name": "Convolution", + "description": "Image Convolution using a given 3x3 kernel matrix Read more", + "inputs": { + "constantFactor":{ + "type": "Float", + "desc": "a constant factor, multiplies all the kernel values by that factor", + "default": 0.1111, + "placeholder": 0.1111 + }, + + "kernelValues": { + "type": "String", + "desc": "nine space separated numbers representing the kernel values in left to right and top to bottom format.", + "default": "1 1 1 1 1 1 1 1 1", + "placeholder": "1 1 1 1 1 1 1 1 1" + } + } +} },{}],192:[function(require,module,exports){ (function (Buffer){ -module.exports = function Crop(input,options,callback) { - - var getPixels = require('get-pixels'), - savePixels = require('save-pixels'); - - options.x = parseInt(options.x) || 0; - options.y = parseInt(options.y) || 0; - - getPixels(input.src,function(err,pixels){ - options.w = parseInt(options.w) || Math.floor(pixels.shape[0]); - options.h = parseInt(options.h) || Math.floor(pixels.shape[1]); - var ox = options.x; - var oy = options.y; - var w = options.w; - var h = options.h; - var iw = pixels.shape[0]; //Width of Original Image - var newarray = new Uint8Array(4*w*h); - for (var n = oy; n < oy + h; n++) { - newarray.set(pixels.data.slice(n*4*iw + ox, n*4*iw + ox + 4*w),4*w*(n-oy)); - } - pixels.data = newarray; - pixels.shape = [w,h,4]; - pixels.stride[1] = 4*w; - - options.format = input.format; - - var chunks = []; - var totalLength = 0; - var r = savePixels(pixels, options.format); - - r.on('data', function(chunk){ - totalLength += chunk.length; - chunks.push(chunk); - }); - - r.on('end', function(){ - var data = Buffer.concat(chunks, totalLength).toString('base64'); - var datauri = 'data:image/' + options.format + ';base64,' + data; - callback(datauri,options.format); - }); - }); -}; +module.exports = function Crop(input,options,callback) { + + var getPixels = require('get-pixels'), + savePixels = require('save-pixels'); + + options.x = parseInt(options.x) || 0; + options.y = parseInt(options.y) || 0; + + getPixels(input.src,function(err,pixels){ + options.w = parseInt(options.w) || Math.floor(pixels.shape[0]); + options.h = parseInt(options.h) || Math.floor(pixels.shape[1]); + var ox = options.x; + var oy = options.y; + var w = options.w; + var h = options.h; + var iw = pixels.shape[0]; //Width of Original Image + var newarray = new Uint8Array(4*w*h); + for (var n = oy; n < oy + h; n++) { + newarray.set(pixels.data.slice(n*4*iw + ox, n*4*iw + ox + 4*w),4*w*(n-oy)); + } + pixels.data = newarray; + pixels.shape = [w,h,4]; + pixels.stride[1] = 4*w; + + options.format = input.format; + + var chunks = []; + var totalLength = 0; + var r = savePixels(pixels, options.format); + + r.on('data', function(chunk){ + totalLength += chunk.length; + chunks.push(chunk); + }); + + r.on('end', function(){ + var data = Buffer.concat(chunks, totalLength).toString('base64'); + var datauri = 'data:image/' + options.format + ';base64,' + data; + callback(datauri,options.format); + }); + }); +}; }).call(this,require("buffer").Buffer) },{"buffer":5,"get-pixels":30,"save-pixels":138}],193:[function(require,module,exports){ -/* - * Image Cropping module - * Usage: - * Expected Inputs: - * options.x : x-coordinate of image where the modules starts cropping | default : 0 - * options.y : y-coordinate of image where the modules starts cropping | default : 0 - * options.w : width of the resulting cropped image | default : 50% of input image width - * options.h : height of the resulting cropped image | default : 50% of input image height - * Output: - * The cropped image, which is essentially a rectangle bounded by the lines: - * x = options.x - * x = options.x + options.w - * y = options.y - * y = options.y + options.h - */ -module.exports = function CropModule(options, UI) { - - // we should get UI to return the image thumbnail so we can attach our own UI extensions - // add our custom in-module html ui: - if (options.step.inBrowser) var ui = require('./Ui.js')(options.step, UI); - var output, - setupComplete = false; - - // This function is caled everytime the step has to be redrawn - function draw(input,callback) { - - var step = this; - - // save the input image; - // TODO: this should be moved to module API to persist the input image - options.step.input = input.src; - - require('./Crop')(input, options, function(out, format){ - - // This output is accessible to Image Sequencer - step.output = { - src: out, - format: format - } - - // This output is accessible to the UI - options.step.output = out; - - // Tell the UI that the step has been drawn - UI.onComplete(options.step); - - // we should do this via event/listener: - if (ui && ui.hide) ui.hide(); - - // start custom UI setup (draggable UI) - // only once we have an input image - if (setupComplete === false && options.step.inBrowser) { - setupComplete = true; - ui.setup(); - } - - // Tell Image Sequencer that step has been drawn - callback(); - - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Image Cropping module + * Usage: + * Expected Inputs: + * options.x : x-coordinate of image where the modules starts cropping | default : 0 + * options.y : y-coordinate of image where the modules starts cropping | default : 0 + * options.w : width of the resulting cropped image | default : 50% of input image width + * options.h : height of the resulting cropped image | default : 50% of input image height + * Output: + * The cropped image, which is essentially a rectangle bounded by the lines: + * x = options.x + * x = options.x + options.w + * y = options.y + * y = options.y + options.h + */ +module.exports = function CropModule(options, UI) { + + // we should get UI to return the image thumbnail so we can attach our own UI extensions + // add our custom in-module html ui: + if (options.step.inBrowser && !options.noUI) var ui = require('./Ui.js')(options.step, UI); + var output, + setupComplete = false; + + // This function is caled everytime the step has to be redrawn + function draw(input,callback) { + + var step = this; + + // save the input image; + // TODO: this should be moved to module API to persist the input image + options.step.input = input.src; + + require('./Crop')(input, options, function(out, format){ + + // This output is accessible to Image Sequencer + step.output = { + src: out, + format: format + } + + // This output is accessible to the UI + options.step.output = out; + + // Tell the UI that the step has been drawn + UI.onComplete(options.step); + + // we should do this via event/listener: + if (ui && ui.hide) ui.hide(); + + // start custom UI setup (draggable UI) + // only once we have an input image + if (setupComplete === false && options.step.inBrowser && !options.noUI) { + setupComplete = true; + ui.setup(); + } + + // Tell Image Sequencer that step has been drawn + callback(); + + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"./Crop":192,"./Ui.js":194}],194:[function(require,module,exports){ -// hide on save -module.exports = function CropModuleUi(step, ui) { - - let inputWidth = 0, - inputHeight = 0; - - // We don't have input image dimensions at the - // time of setting up the UI; that comes when draw() is triggered. - // So we trigger setup only on first run of draw() - // TODO: link this to an event rather than an explicit call in Module.js - function setup() { - let x = 0, - y = 0; - - // display original uncropped input image on initial setup - showOriginal(); - - inputWidth = Math.floor(imgEl().naturalWidth); - inputHeight = Math.floor(imgEl().naturalHeight); - - // display with 50%/50% default crop: - setOptions(x, y, inputWidth, inputHeight); - - $(imgEl()).imgAreaSelect({ - handles: true, - x1: x, - y1: y, - x2: x + inputWidth / 2, - y2: y + inputHeight / 2, - // when selection is complete - onSelectEnd: function onSelectEnd(img, selection) { - // assign crop values to module UI form inputs: - let converted = convertToNatural( - selection.x1, - selection.y1, - selection.width, - selection.height - ); - setOptions( - converted[0], - converted[1], - converted[2], - converted[3] - ); - } - }); - } - - function convertToNatural(_x, _y, _width, _height) { - let displayWidth = $(imgEl()).width(), - displayHeight = $(imgEl()).height(); - // return in same order [ x, y, width, height ]: - return [ - Math.floor(( _x / displayWidth ) * inputWidth), - Math.floor(( _y / displayHeight ) * inputHeight), - Math.floor(( _width / displayWidth ) * inputWidth), - Math.floor(( _height / displayHeight ) * inputHeight) - ] - } - - function remove() { - $(imgEl()).imgAreaSelect({ - remove: true - }); - } - - function hide() { - // then hide the draggable UI - $(imgEl()).imgAreaSelect({ - hide: true - }); - } - - // step.imgSelector is not defined, imgElement is: - function imgEl() { - return step.imgElement; - } - - function setOptions(x1, y1, width, height) { - let options = $($(imgEl()).parents()[2]).find("input"); - options[0].value = x1; - options[1].value = y1; - options[2].value = width; - options[3].value = height; - } - - // replaces currently displayed output thumbnail with the input image, for ui dragging purposes - function showOriginal() { - step.imgElement.src = step.input; - } - - return { - setup: setup, - remove: remove, - hide: hide - } -} +// hide on save +module.exports = function CropModuleUi(step, ui) { + + let inputWidth = 0, + inputHeight = 0; + + // We don't have input image dimensions at the + // time of setting up the UI; that comes when draw() is triggered. + // So we trigger setup only on first run of draw() + // TODO: link this to an event rather than an explicit call in Module.js + function setup() { + let x = 0, + y = 0; + + // display original uncropped input image on initial setup + showOriginal(); + + inputWidth = Math.floor(imgEl().naturalWidth); + inputHeight = Math.floor(imgEl().naturalHeight); + + // display with 50%/50% default crop: + setOptions(x, y, inputWidth, inputHeight); + + $(imgEl()).imgAreaSelect({ + handles: true, + x1: x, + y1: y, + x2: x + inputWidth / 2, + y2: y + inputHeight / 2, + // when selection is complete + onSelectEnd: function onSelectEnd(img, selection) { + // assign crop values to module UI form inputs: + let converted = convertToNatural( + selection.x1, + selection.y1, + selection.width, + selection.height + ); + setOptions( + converted[0], + converted[1], + converted[2], + converted[3] + ); + } + }); + } + + function convertToNatural(_x, _y, _width, _height) { + let displayWidth = $(imgEl()).width(), + displayHeight = $(imgEl()).height(); + // return in same order [ x, y, width, height ]: + return [ + Math.floor(( _x / displayWidth ) * inputWidth), + Math.floor(( _y / displayHeight ) * inputHeight), + Math.floor(( _width / displayWidth ) * inputWidth), + Math.floor(( _height / displayHeight ) * inputHeight) + ] + } + + function remove() { + $(imgEl()).imgAreaSelect({ + remove: true + }); + } + + function hide() { + // then hide the draggable UI + $(imgEl()).imgAreaSelect({ + hide: true + }); + } + + // step.imgSelector is not defined, imgElement is: + function imgEl() { + return step.imgElement; + } + + function setOptions(x1, y1, width, height) { + let options = $($(imgEl()).parents()[2]).find("input"); + options[0].value = x1; + options[1].value = y1; + options[2].value = width; + options[3].value = height; + } + + // replaces currently displayed output thumbnail with the input image, for ui dragging purposes + function showOriginal() { + step.imgElement.src = step.input; + } + + return { + setup: setup, + remove: remove, + hide: hide + } +} },{}],195:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":193,"./info.json":196,"dup":162}],196:[function(require,module,exports){ -module.exports={ - "name": "Crop", - "description": "Crop image to given x, y, w, h in pixels, measured from top left", - "url": "https://github.com/publiclab/image-sequencer/tree/master/MODULES.md", - "inputs": { - "x": { - "type": "integer", - "desc": "X-position (measured from left) from where cropping starts", - "default": 0 - }, - "y": { - "type": "integer", - "desc": "Y-position (measured from top) from where cropping starts", - "default": 0 - }, - "w": { - "type": "integer", - "desc": "Width of crop", - "default": "(100%)" - }, - "h": { - "type": "integer", - "desc": "Height of crop", - "default": "(100%)" - } - } +module.exports={ + "name": "Crop", + "description": "Crop image to given x, y, w, h in pixels, measured from top left", + "url": "https://github.com/publiclab/image-sequencer/tree/master/MODULES.md", + "inputs": { + "x": { + "type": "integer", + "desc": "X-position (measured from left) from where cropping starts", + "default": 0 + }, + "y": { + "type": "integer", + "desc": "Y-position (measured from top) from where cropping starts", + "default": 0 + }, + "w": { + "type": "integer", + "desc": "Width of crop", + "default": "(100%)" + }, + "h": { + "type": "integer", + "desc": "Height of crop", + "default": "(100%)" + } + } } },{}],197:[function(require,module,exports){ -/* - * Decodes QR from a given image. - */ -module.exports = function DoNothing(options,UI) { - - var output; - var jsQR = require('jsqr'); - var getPixels = require('get-pixels'); - - // This function is called everytime a step has to be redrawn - function draw(input,callback) { - - var step = this; - - getPixels(input.src,function(err,pixels){ - - if(err) throw err; - - var w = pixels.shape[0]; - var h = pixels.shape[1]; - var decoded = jsQR.decodeQRFromImage(pixels.data,w,h); - - // This output is accessible to Image Sequencer - step.output = input; - step.output.data = decoded; - - // Tell Image Sequencer that this step is complete - callback(); - options.step.qrval = decoded; - - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Decodes QR from a given image. + */ +module.exports = function DoNothing(options,UI) { + + var output; + var jsQR = require('jsqr'); + var getPixels = require('get-pixels'); + + // This function is called everytime a step has to be redrawn + function draw(input,callback) { + + var step = this; + + getPixels(input.src,function(err,pixels){ + + if(err) throw err; + + var w = pixels.shape[0]; + var h = pixels.shape[1]; + var decoded = jsQR.decodeQRFromImage(pixels.data,w,h); + + // This output is accessible to Image Sequencer + step.output = input; + step.output.data = decoded; + + // Tell Image Sequencer that this step is complete + callback(); + options.step.qrval = decoded; + + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"get-pixels":30,"jsqr":74}],198:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":197,"./info.json":199,"dup":162}],199:[function(require,module,exports){ -module.exports={ - "name": "Decode QR", - "description": "Search for and decode a QR code in the image", - "inputs": { - }, - "outputs": { - "qrval": { - "type": "text" - } - } -} +module.exports={ + "name": "Decode QR", + "description": "Search for and decode a QR code in the image", + "inputs": { + }, + "outputs": { + "qrval": { + "type": "text" + } + } +} },{}],200:[function(require,module,exports){ -module.exports = function Dynamic(options,UI) { - - var output; - - // This function is called on every draw. - function draw(input,callback,progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - // start with monochrome, but if options.red, options.green, and options.blue are set, accept them too - options.monochrome = options.monochrome || "(R+G+B)/3"; - - function generator(expression) { - var func = 'f = function (r, g, b, a) { var R = r, G = g, B = b, A = a;' - func = func + 'return '; - func = func + expression + '}'; - var f; - eval(func); - return f; - } - - var channels = ['red', 'green', 'blue', 'alpha']; - - channels.forEach(function(channel) { - if (options.hasOwnProperty(channel)) options[channel + '_function'] = generator(options[channel]); - else if (channel === 'alpha') options['alpha_function'] = function() { return 255; } - else options[channel + '_function'] = generator(options.monochrome); - }); - - function changePixel(r, g, b, a) { - - /* neighbourpixels can be calculated by - this.getNeighbourPixel.fun(x,y) or this.getNeighborPixel.fun(x,y) - */ - var combined = (r + g + b) / 3.000; - return [ - options.red_function(r, g, b, a), - options.green_function(r, g, b, a), - options.blue_function(r, g, b, a), - options.alpha_function(r, g, b, a), - ]; - } - - /* Functions to get the neighbouring pixel by position (x,y) */ - function getNeighbourPixel(pixels,curX,curY,distX,distY){ - return [ - pixels.get(curX+distX,curY+distY,0) - ,pixels.get(curX+distX,curY+distY,1) - ,pixels.get(curX+distX,curY+distY,2) - ,pixels.get(curX+distX,curY+distY,3) - ] - } - - // via P5js: https://github.com/processing/p5.js/blob/2920492842aae9a8bf1a779916893ac19d65cd38/src/math/calculation.js#L461-L472 - function map(n, start1, stop1, start2, stop2, withinBounds) { - var newval = (n - start1) / (stop1 - start1) * (stop2 - start2) + start2; - if (!withinBounds) { - return newval; - } - // also via P5js: https://github.com/processing/p5.js/blob/2920492842aae9a8bf1a779916893ac19d65cd38/src/math/calculation.js#L116-L119 - function constrain(n, low, high) { - return Math.max(Math.min(n, high), low); - }; - if (start2 < stop2) { - return constrain(newval, start2, stop2); - } else { - return constrain(newval, stop2, start2); - } - }; - - function output(image,datauri,mimetype){ - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - getNeighbourPixel: getNeighbourPixel, - getNeighborPixel: getNeighbourPixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Dynamic(options,UI) { + + var output; + + // This function is called on every draw. + function draw(input,callback,progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + // start with monochrome, but if options.red, options.green, and options.blue are set, accept them too + options.monochrome = options.monochrome || "(R+G+B)/3"; + + function generator(expression) { + var func = 'f = function (r, g, b, a) { var R = r, G = g, B = b, A = a;' + func = func + 'return '; + func = func + expression + '}'; + var f; + eval(func); + return f; + } + + var channels = ['red', 'green', 'blue', 'alpha']; + + channels.forEach(function(channel) { + if (options.hasOwnProperty(channel)) options[channel + '_function'] = generator(options[channel]); + else if (channel === 'alpha') options['alpha_function'] = function() { return 255; } + else options[channel + '_function'] = generator(options.monochrome); + }); + + function changePixel(r, g, b, a) { + + /* neighbourpixels can be calculated by + this.getNeighbourPixel.fun(x,y) or this.getNeighborPixel.fun(x,y) + */ + var combined = (r + g + b) / 3.000; + return [ + options.red_function(r, g, b, a), + options.green_function(r, g, b, a), + options.blue_function(r, g, b, a), + options.alpha_function(r, g, b, a), + ]; + } + + /* Functions to get the neighbouring pixel by position (x,y) */ + function getNeighbourPixel(pixels,curX,curY,distX,distY){ + return [ + pixels.get(curX+distX,curY+distY,0) + ,pixels.get(curX+distX,curY+distY,1) + ,pixels.get(curX+distX,curY+distY,2) + ,pixels.get(curX+distX,curY+distY,3) + ] + } + + // via P5js: https://github.com/processing/p5.js/blob/2920492842aae9a8bf1a779916893ac19d65cd38/src/math/calculation.js#L461-L472 + function map(n, start1, stop1, start2, stop2, withinBounds) { + var newval = (n - start1) / (stop1 - start1) * (stop2 - start2) + start2; + if (!withinBounds) { + return newval; + } + // also via P5js: https://github.com/processing/p5.js/blob/2920492842aae9a8bf1a779916893ac19d65cd38/src/math/calculation.js#L116-L119 + function constrain(n, low, high) { + return Math.max(Math.min(n, high), low); + }; + if (start2 < stop2) { + return constrain(newval, start2, stop2); + } else { + return constrain(newval, stop2, start2); + } + }; + + function output(image,datauri,mimetype){ + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + getNeighbourPixel: getNeighbourPixel, + getNeighborPixel: getNeighbourPixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],201:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":200,"./info.json":202,"dup":162}],202:[function(require,module,exports){ -module.exports={ - "name": "Dynamic", - "description": "A module which accepts JavaScript math expressions to produce each color channel based on the original image's color. See Infragrammar.", - "inputs": { - "red": { - "type": "input", - "desc": "Expression to return for red channel with R, G, B, and A inputs", - "default": "r" - }, - "green": { - "type": "input", - "desc": "Expression to return for green channel with R, G, B, and A inputs", - "default": "g" - }, - "blue": { - "type": "input", - "desc": "Expression to return for blue channel with R, G, B, and A inputs", - "default": "b" - }, - "monochrome (fallback)": { - "type": "input", - "desc": "Expression to return with R, G, B, and A inputs; fallback for other channels if none provided", - "default": "r + g + b" - } - } -} +module.exports={ + "name": "Dynamic", + "description": "A module which accepts JavaScript math expressions to produce each color channel based on the original image's color. See Infragrammar.", + "inputs": { + "red": { + "type": "input", + "desc": "Expression to return for red channel with R, G, B, and A inputs", + "default": "r" + }, + "green": { + "type": "input", + "desc": "Expression to return for green channel with R, G, B, and A inputs", + "default": "g" + }, + "blue": { + "type": "input", + "desc": "Expression to return for blue channel with R, G, B, and A inputs", + "default": "b" + }, + "monochrome (fallback)": { + "type": "input", + "desc": "Expression to return with R, G, B, and A inputs; fallback for other channels if none provided", + "default": "r + g + b" + } + } +} },{}],203:[function(require,module,exports){ -const _ = require('lodash') - -//define kernels for the sobel filter -const kernelx = [[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]], - kernely = [[-1, -2, -1], [0, 0, 0], [1, 2, 1]]; - -module.exports = function(pixels, highThresholdRatio, lowThresholdRatio, inBrowser) { - let angles = [], mags = [], strongEdgePixels = [], weakEdgePixels = [], notInUI = !inBrowser; - for (var x = 0; x < pixels.shape[0]; x++) { - angles.push([]); - mags.push([]); - for (var y = 0; y < pixels.shape[1]; y++) { - var result = changePixel( - pixels, - pixels.get(x, y, 0), - pixels.get(x, y, 3), - x, - y - ); - let pixel = result.pixel; - - pixels.set(x, y, 0, pixel[0]); - pixels.set(x, y, 1, pixel[1]); - pixels.set(x, y, 2, pixel[2]); - pixels.set(x, y, 3, pixel[3]); - - mags.slice(-1)[0].push(pixel[3]); - angles.slice(-1)[0].push(result.angle); - } - } - nonMaxSupress(pixels, mags, angles); - doubleThreshold(pixels, highThresholdRatio, lowThresholdRatio, mags, strongEdgePixels, weakEdgePixels); - return pixels; -} - -//changepixel function that convolutes every pixel (sobel filter) -function changePixel(pixels, val, a, x, y) { - let magX = 0.0; - for (let a = 0; a < 3; a++) { - for (let b = 0; b < 3; b++) { - - let xn = x + a - 1; - let yn = y + b - 1; - - magX += pixels.get(xn, yn, 0) * kernelx[a][b]; - } - } - let magY = 0.0; - for (let a = 0; a < 3; a++) { - for (let b = 0; b < 3; b++) { - - let xn = x + a - 1; - let yn = y + b - 1; - - magY += pixels.get(xn, yn, 0) * kernely[a][b]; - } - } - let mag = Math.sqrt(Math.pow(magX, 2) + Math.pow(magY, 2)); - let angle = Math.atan2(magY, magX); - return { - pixel: - [val, val, val, mag], - angle: angle - }; -} - -//Non Maximum Supression without interpolation -function nonMaxSupress(pixels, mags, angles) { - - angles = angles.map((arr) => arr.map(convertToDegrees)); - - for (let i = 1; i < pixels.shape[0] - 1; i++) { - for (let j = 1; j < pixels.shape[1] - 1; j++) { - - let angle = angles[i][j]; - let pixel = pixels.get(i, j); - - if ((angle >= -22.5 && angle <= 22.5) || - (angle < -157.5 && angle >= -180)) - - if ((mags[i][j] >= mags[i][j + 1]) && - (mags[i][j] >= mags[i][j - 1])) - pixels.set(i, j, 3, mags[i][j]); - else - pixels.set(i, j, 3, 0); - - else if ((angle >= 22.5 && angle <= 67.5) || - (angle < -112.5 && angle >= -157.5)) - - if ((mags[i][j] >= mags[i + 1][j + 1]) && - (mags[i][j] >= mags[i - 1][j - 1])) - pixels.set(i, j, 3, mags[i][j]); - else - pixels.set(i, j, 3, 0); - - else if ((angle >= 67.5 && angle <= 112.5) || - (angle < -67.5 && angle >= -112.5)) - - if ((mags[i][i] >= mags[i + 1][j]) && - (mags[i][j] >= mags[i][j])) - pixels.set(i, j, 3, mags[i][j]); - else - pixels.set(i, j, 3, 0); - - else if ((angle >= 112.5 && angle <= 157.5) || - (angle < -22.5 && angle >= -67.5)) - - if ((mags[i][j] >= mags[i + 1][j - 1]) && - (mags[i][j] >= mags[i - 1][j + 1])) - pixels.set(i, j, 3, mags[i][j]); - else - pixels.set(i, j, 3, 0); - - } - } -} -//Converts radians to degrees -var convertToDegrees = radians => (radians * 180) / Math.PI; - -//Finds the max value in a 2d array like mags -var findMaxInMatrix = arr => Math.max(...arr.map(el => el.map(val => !!val ? val : 0)).map(el => Math.max(...el))); - -//Applies the double threshold to the image -function doubleThreshold(pixels, highThresholdRatio, lowThresholdRatio, mags, strongEdgePixels, weakEdgePixels) { - - const highThreshold = findMaxInMatrix(mags) * highThresholdRatio; - const lowThreshold = highThreshold * lowThresholdRatio; - - for (let i = 0; i < pixels.shape[0]; i++) { - for (let j = 0; j < pixels.shape[1]; j++) { - let pixelPos = [i, j]; - - mags[i][j] > lowThreshold - ? mags[i][j] > highThreshold - ? strongEdgePixels.push(pixelPos) - : weakEdgePixels.push(pixelPos) - : pixels.set(i, j, 3, 0); - } - } - - strongEdgePixels.forEach(pix => pixels.set(pix[0], pix[1], 3, 255)); -} - -// hysteresis edge tracking algorithm -- not working as of now -/* function hysteresis(pixels) { - function getNeighbouringPixelPositions(pixelPosition) { - let x = pixelPosition[0], y = pixelPosition[1] - return [[x + 1, y + 1], - [x + 1, y], - [x + 1, y - 1], - [x, y + 1], - [x, y - 1], - [x - 1, y + 1], - [x - 1, y], - [x - 1, y - 1]] - } - - //This can potentially be improved see https://en.wikipedia.org/wiki/Connected-component_labeling - for (weakPixel in weakEdgePixels) { - let neighbourPixels = getNeighbouringPixelPositions(weakEdgePixels[weakPixel]) - for (pixel in neighbourPixels) { - if (strongEdgePixels.find(el => _.isEqual(el, neighbourPixels[pixel]))) { - pixels.set(weakPixel[0], weakPixel[1], 3, 255) - weakEdgePixels.splice(weakPixel, weakPixel) - break - } - } - } - weakEdgePixels.forEach(pix => pixels.set(pix[0], pix[1], 3, 0)) - return pixels -} */ - - - +const _ = require('lodash') + +//define kernels for the sobel filter +const kernelx = [[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]], + kernely = [[-1, -2, -1], [0, 0, 0], [1, 2, 1]]; + +module.exports = function(pixels, highThresholdRatio, lowThresholdRatio, inBrowser) { + let angles = [], mags = [], strongEdgePixels = [], weakEdgePixels = [], notInUI = !inBrowser; + for (var x = 0; x < pixels.shape[0]; x++) { + angles.push([]); + mags.push([]); + for (var y = 0; y < pixels.shape[1]; y++) { + var result = changePixel( + pixels, + pixels.get(x, y, 0), + pixels.get(x, y, 3), + x, + y + ); + let pixel = result.pixel; + + pixels.set(x, y, 0, pixel[0]); + pixels.set(x, y, 1, pixel[1]); + pixels.set(x, y, 2, pixel[2]); + pixels.set(x, y, 3, pixel[3]); + + mags.slice(-1)[0].push(pixel[3]); + angles.slice(-1)[0].push(result.angle); + } + } + nonMaxSupress(pixels, mags, angles); + doubleThreshold(pixels, highThresholdRatio, lowThresholdRatio, mags, strongEdgePixels, weakEdgePixels); + return pixels; +} + +//changepixel function that convolutes every pixel (sobel filter) +function changePixel(pixels, val, a, x, y) { + let magX = 0.0; + for (let a = 0; a < 3; a++) { + for (let b = 0; b < 3; b++) { + + let xn = x + a - 1; + let yn = y + b - 1; + + magX += pixels.get(xn, yn, 0) * kernelx[a][b]; + } + } + let magY = 0.0; + for (let a = 0; a < 3; a++) { + for (let b = 0; b < 3; b++) { + + let xn = x + a - 1; + let yn = y + b - 1; + + magY += pixels.get(xn, yn, 0) * kernely[a][b]; + } + } + let mag = Math.sqrt(Math.pow(magX, 2) + Math.pow(magY, 2)); + let angle = Math.atan2(magY, magX); + return { + pixel: + [val, val, val, mag], + angle: angle + }; +} + +//Non Maximum Supression without interpolation +function nonMaxSupress(pixels, mags, angles) { + + angles = angles.map((arr) => arr.map(convertToDegrees)); + + for (let i = 1; i < pixels.shape[0] - 1; i++) { + for (let j = 1; j < pixels.shape[1] - 1; j++) { + + let angle = angles[i][j]; + let pixel = pixels.get(i, j); + + if ((angle >= -22.5 && angle <= 22.5) || + (angle < -157.5 && angle >= -180)) + + if ((mags[i][j] >= mags[i][j + 1]) && + (mags[i][j] >= mags[i][j - 1])) + pixels.set(i, j, 3, mags[i][j]); + else + pixels.set(i, j, 3, 0); + + else if ((angle >= 22.5 && angle <= 67.5) || + (angle < -112.5 && angle >= -157.5)) + + if ((mags[i][j] >= mags[i + 1][j + 1]) && + (mags[i][j] >= mags[i - 1][j - 1])) + pixels.set(i, j, 3, mags[i][j]); + else + pixels.set(i, j, 3, 0); + + else if ((angle >= 67.5 && angle <= 112.5) || + (angle < -67.5 && angle >= -112.5)) + + if ((mags[i][i] >= mags[i + 1][j]) && + (mags[i][j] >= mags[i][j])) + pixels.set(i, j, 3, mags[i][j]); + else + pixels.set(i, j, 3, 0); + + else if ((angle >= 112.5 && angle <= 157.5) || + (angle < -22.5 && angle >= -67.5)) + + if ((mags[i][j] >= mags[i + 1][j - 1]) && + (mags[i][j] >= mags[i - 1][j + 1])) + pixels.set(i, j, 3, mags[i][j]); + else + pixels.set(i, j, 3, 0); + + } + } +} +//Converts radians to degrees +var convertToDegrees = radians => (radians * 180) / Math.PI; + +//Finds the max value in a 2d array like mags +var findMaxInMatrix = arr => Math.max(...arr.map(el => el.map(val => !!val ? val : 0)).map(el => Math.max(...el))); + +//Applies the double threshold to the image +function doubleThreshold(pixels, highThresholdRatio, lowThresholdRatio, mags, strongEdgePixels, weakEdgePixels) { + + const highThreshold = findMaxInMatrix(mags) * highThresholdRatio; + const lowThreshold = highThreshold * lowThresholdRatio; + + for (let i = 0; i < pixels.shape[0]; i++) { + for (let j = 0; j < pixels.shape[1]; j++) { + let pixelPos = [i, j]; + + mags[i][j] > lowThreshold + ? mags[i][j] > highThreshold + ? strongEdgePixels.push(pixelPos) + : weakEdgePixels.push(pixelPos) + : pixels.set(i, j, 3, 0); + } + } + + strongEdgePixels.forEach(pix => pixels.set(pix[0], pix[1], 3, 255)); +} + +// hysteresis edge tracking algorithm -- not working as of now +/* function hysteresis(pixels) { + function getNeighbouringPixelPositions(pixelPosition) { + let x = pixelPosition[0], y = pixelPosition[1] + return [[x + 1, y + 1], + [x + 1, y], + [x + 1, y - 1], + [x, y + 1], + [x, y - 1], + [x - 1, y + 1], + [x - 1, y], + [x - 1, y - 1]] + } + + //This can potentially be improved see https://en.wikipedia.org/wiki/Connected-component_labeling + for (weakPixel in weakEdgePixels) { + let neighbourPixels = getNeighbouringPixelPositions(weakEdgePixels[weakPixel]) + for (pixel in neighbourPixels) { + if (strongEdgePixels.find(el => _.isEqual(el, neighbourPixels[pixel]))) { + pixels.set(weakPixel[0], weakPixel[1], 3, 255) + weakEdgePixels.splice(weakPixel, weakPixel) + break + } + } + } + weakEdgePixels.forEach(pix => pixels.set(pix[0], pix[1], 3, 0)) + return pixels +} */ + + + },{"lodash":75}],204:[function(require,module,exports){ -/* -* Detect Edges in an Image -*/ -module.exports = function edgeDetect(options, UI) { - - options.blur = options.blur || 2; - options.highThresholdRatio = options.highThresholdRatio || 0.2; - options.lowThresholdRatio = options.lowThresholdRatio || 0.15; - - var output; - - // The function which is called on every draw. - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - - // Extra Manipulation function used as an enveloper for applying gaussian blur and Convolution - function extraManipulation(pixels) { - pixels = require('ndarray-gaussian-filter')(pixels, options.blur); - pixels = require('./EdgeUtils')(pixels, options.highThresholdRatio, options.lowThresholdRatio, options.inBrowser); - return pixels; - } - - function changePixel(r, g, b, a) { - return [(r + g + b) / 3, (r + g + b) / 3, (r + g + b) / 3, a]; - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* +* Detect Edges in an Image +*/ +module.exports = function edgeDetect(options, UI) { + + options.blur = options.blur || 2; + options.highThresholdRatio = options.highThresholdRatio || 0.2; + options.lowThresholdRatio = options.lowThresholdRatio || 0.15; + + var output; + + // The function which is called on every draw. + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + + // Extra Manipulation function used as an enveloper for applying gaussian blur and Convolution + function extraManipulation(pixels) { + pixels = require('ndarray-gaussian-filter')(pixels, options.blur); + pixels = require('./EdgeUtils')(pixels, options.highThresholdRatio, options.lowThresholdRatio, options.inBrowser); + return pixels; + } + + function changePixel(r, g, b, a) { + return [(r + g + b) / 3, (r + g + b) / 3, (r + g + b) / 3, a]; + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"./EdgeUtils":203,"ndarray-gaussian-filter":80}],205:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":204,"./info.json":206,"dup":162}],206:[function(require,module,exports){ -module.exports={ - "name": "Detect Edges", - "description": "this module detects edges using the Canny method, which first Gaussian blurs the image to reduce noise (amount of blur configurable in settings as `options.blur`), then applies a number of steps to highlight edges, resulting in a greyscale image where the brighter the pixel, the stronger the detected edge. Read more. ", - "inputs": { - "blur": { - "type": "integer", - "desc": "amount of gaussian blur(Less blur gives more detail, typically 0-5)", - "default": 2 - }, - "highThresholdRatio":{ - "type": "float", - "desc": "The high threshold ratio for the image", - "default": 0.2 - }, - "lowThresholdRatio": { - "type": "float", - "desc": "The low threshold value for the image", - "default": 0.15 - } - } -} +module.exports={ + "name": "Detect Edges", + "description": "this module detects edges using the Canny method, which first Gaussian blurs the image to reduce noise (amount of blur configurable in settings as `options.blur`), then applies a number of steps to highlight edges, resulting in a greyscale image where the brighter the pixel, the stronger the detected edge. Read more. ", + "inputs": { + "blur": { + "type": "integer", + "desc": "amount of gaussian blur(Less blur gives more detail, typically 0-5)", + "default": 2 + }, + "highThresholdRatio":{ + "type": "float", + "desc": "The high threshold ratio for the image", + "default": 0.2 + }, + "lowThresholdRatio": { + "type": "float", + "desc": "The low threshold value for the image", + "default": 0.15 + } + } +} },{}],207:[function(require,module,exports){ -/* - * Resolves Fisheye Effect - */ -module.exports = function DoNothing(options,UI) { - - var output; - - require('fisheyegl'); - - function draw(input,callback) { - - var step = this; - - if (!options.inBrowser) { // This module is only for browser - this.output = input; - callback(); - } - else { - // Create a canvas, if it doesn't already exist. - if (!document.querySelector('#image-sequencer-canvas')) { - var canvas = document.createElement('canvas'); - canvas.style.display = "none"; - canvas.setAttribute('id','image-sequencer-canvas'); - document.body.append(canvas); - } - else var canvas = document.querySelector('#image-sequencer-canvas'); - - distorter = FisheyeGl({ - selector: "#image-sequencer-canvas" - }); - - // Parse the inputs - options.a = parseFloat(options.a) || distorter.lens.a; - options.b = parseFloat(options.b) || distorter.lens.b; - options.Fx = parseFloat(options.Fx) || distorter.lens.Fx; - options.Fy = parseFloat(options.Fy) || distorter.lens.Fy; - options.scale = parseFloat(options.scale) || distorter.lens.scale; - options.x = parseFloat(options.x) || distorter.fov.x; - options.y = parseFloat(options.y) || distorter.fov.y; - - // Set fisheyegl inputs - distorter.lens.a = options.a; - distorter.lens.b = options.b; - distorter.lens.Fx = options.Fx; - distorter.lens.Fy = options.Fy; - distorter.lens.scale = options.scale; - distorter.fov.x = options.x; - distorter.fov.y = options.y; - - // generate fisheyegl output - distorter.setImage(input.src,function(){ - - // this output is accessible to Image Sequencer - step.output = {src: canvas.toDataURL(), format: input.format}; - - // Tell Image Sequencer and UI that step has been drawn - callback(); - - }); - - } - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Resolves Fisheye Effect + */ +module.exports = function DoNothing(options,UI) { + + var output; + + require('fisheyegl'); + + function draw(input,callback) { + + var step = this; + + if (!options.inBrowser) { // This module is only for browser + this.output = input; + callback(); + } + else { + // Create a canvas, if it doesn't already exist. + if (!document.querySelector('#image-sequencer-canvas')) { + var canvas = document.createElement('canvas'); + canvas.style.display = "none"; + canvas.setAttribute('id','image-sequencer-canvas'); + document.body.append(canvas); + } + else var canvas = document.querySelector('#image-sequencer-canvas'); + + distorter = FisheyeGl({ + selector: "#image-sequencer-canvas" + }); + + // Parse the inputs + options.a = parseFloat(options.a) || distorter.lens.a; + options.b = parseFloat(options.b) || distorter.lens.b; + options.Fx = parseFloat(options.Fx) || distorter.lens.Fx; + options.Fy = parseFloat(options.Fy) || distorter.lens.Fy; + options.scale = parseFloat(options.scale) || distorter.lens.scale; + options.x = parseFloat(options.x) || distorter.fov.x; + options.y = parseFloat(options.y) || distorter.fov.y; + + // Set fisheyegl inputs + distorter.lens.a = options.a; + distorter.lens.b = options.b; + distorter.lens.Fx = options.Fx; + distorter.lens.Fy = options.Fy; + distorter.lens.scale = options.scale; + distorter.fov.x = options.x; + distorter.fov.y = options.y; + + // generate fisheyegl output + distorter.setImage(input.src,function(){ + + // this output is accessible to Image Sequencer + step.output = {src: canvas.toDataURL(), format: input.format}; + + // Tell Image Sequencer and UI that step has been drawn + callback(); + + }); + + } + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"fisheyegl":22}],208:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":207,"./info.json":209,"dup":162}],209:[function(require,module,exports){ -module.exports={ - "name": "Fisheye GL", - "description": "Correct fisheye, or barrel distortion, in images (with WebGL -- adapted from fisheye-correction-webgl by @bluemir).", - "requires": [ "webgl" ], - "inputs": { - "a": { - "type": "float", - "desc": "a parameter", - "default": 1, - "min": 1, - "max": 4 - }, - "b": { - "type": "float", - "desc": "b parameter", - "default": 1, - "min": 1, - "max": 4 - }, - "Fx": { - "type": "float", - "desc": "Fx parameter", - "default": 0, - "min": 0, - "max": 4 - }, - "Fy": { - "type": "float", - "desc": "Fy parameter", - "default": 0, - "min": 0, - "max": 4 - }, - "scale": { - "type": "float", - "desc": "Image Scaling", - "default": 1.5, - "min": 0, - "max": 20 - }, - "x": { - "type": "float", - "desc": "FOV x parameter", - "default": 1.5, - "min": 0, - "max": 20 - }, - "y": { - "type": "float", - "desc": "FOV y parameter", - "default": 1.5, - "min": 0, - "max": 20 - }, - "fragmentSrc": { - "type": "PATH", - "desc": "Path to a WebGL fragment shader file", - "default": "(inbuilt)" - }, - "vertexSrc": { - "type": "PATH", - "desc": "Path to a WebGL vertex shader file", - "default": "(inbuilt)" - } - } -} +module.exports={ + "name": "Fisheye GL", + "description": "Correct fisheye, or barrel distortion, in images (with WebGL -- adapted from fisheye-correction-webgl by @bluemir).", + "requires": [ "webgl" ], + "inputs": { + "a": { + "type": "float", + "desc": "a parameter", + "default": 1, + "min": 1, + "max": 4 + }, + "b": { + "type": "float", + "desc": "b parameter", + "default": 1, + "min": 1, + "max": 4 + }, + "Fx": { + "type": "float", + "desc": "Fx parameter", + "default": 0, + "min": 0, + "max": 4 + }, + "Fy": { + "type": "float", + "desc": "Fy parameter", + "default": 0, + "min": 0, + "max": 4 + }, + "scale": { + "type": "float", + "desc": "Image Scaling", + "default": 1.5, + "min": 0, + "max": 20 + }, + "x": { + "type": "float", + "desc": "FOV x parameter", + "default": 1.5, + "min": 0, + "max": 20 + }, + "y": { + "type": "float", + "desc": "FOV y parameter", + "default": 1.5, + "min": 0, + "max": 20 + }, + "fragmentSrc": { + "type": "PATH", + "desc": "Path to a WebGL fragment shader file", + "default": "(inbuilt)" + }, + "vertexSrc": { + "type": "PATH", + "desc": "Path to a WebGL vertex shader file", + "default": "(inbuilt)" + } + } +} },{}],210:[function(require,module,exports){ -module.exports = function Gamma(options,UI){ - - var output; - - function draw(input,callback,progressObj){ - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a){ - var val = options.adjustment || 0.2; - - r = Math.pow(r / 255, val) * 255; - g = Math.pow(g / 255, val) * 255; - b = Math.pow(b / 255, val) * 255; - - return [r , g, b, a]; - } - - function output(image,datauri,mimetype){ - - step.output = {src:datauri,format:mimetype}; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Gamma(options,UI){ + + var output; + + function draw(input,callback,progressObj){ + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a){ + var val = options.adjustment || 0.2; + + r = Math.pow(r / 255, val) * 255; + g = Math.pow(g / 255, val) * 255; + b = Math.pow(b / 255, val) * 255; + + return [r , g, b, a]; + } + + function output(image,datauri,mimetype){ + + step.output = {src:datauri,format:mimetype}; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],211:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":210,"./info.json":212,"dup":162}],212:[function(require,module,exports){ -module.exports={ - "name": "Gamma Correction", - "description": "Apply gamma correction on the image Read more", - "inputs": { - "adjustment": { - "type": "float", - "desc": "gamma correction (inverse of actual gamma factor) for the new image", - "default": 0.2 - } - } -} +module.exports={ + "name": "Gamma Correction", + "description": "Apply gamma correction on the image Read more", + "inputs": { + "adjustment": { + "type": "float", + "desc": "gamma correction (inverse of actual gamma factor) for the new image", + "default": 0.2 + } + } +} },{}],213:[function(require,module,exports){ (function (Buffer){ -module.exports = function Invert(options, UI) { - - var output; - - // The function which is called on every draw. - function draw(input, callback, progressObj) { - var getPixels = require('get-pixels'); - var savePixels = require('save-pixels'); - - var step = this; - - getPixels(input.src, function(err, pixels) { - - if (err) { - console.log("Bad Image path"); - return; - } - var width = 0; - - for (var i = 0; i < pixels.shape[0]; i++) width++; - - for (var i = 0; i < pixels.shape[0]; i++) { - for (var j = 0; j < pixels.shape[1]; j++) { - let val = (i / width) * 255; - pixels.set(i, j, 0, val); - pixels.set(i, j, 1, val); - pixels.set(i, j, 2, val); - pixels.set(i, j, 3, 255); - } - } - var chunks = []; - var totalLength = 0; - var r = savePixels(pixels, input.format, { quality: 100 }); - - r.on("data", function(chunk) { - totalLength += chunk.length; - chunks.push(chunk); - }); - - r.on("end", function() { - var data = Buffer.concat(chunks, totalLength).toString("base64"); - var datauri = "data:image/" + input.format + ";base64," + data; - output(input.image, datauri, input.format); - callback(); - }); - }); - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Invert(options, UI) { + + var output; + + // The function which is called on every draw. + function draw(input, callback, progressObj) { + var getPixels = require('get-pixels'); + var savePixels = require('save-pixels'); + + var step = this; + + getPixels(input.src, function(err, pixels) { + + if (err) { + console.log("Bad Image path"); + return; + } + var width = 0; + + for (var i = 0; i < pixels.shape[0]; i++) width++; + + for (var i = 0; i < pixels.shape[0]; i++) { + for (var j = 0; j < pixels.shape[1]; j++) { + let val = (i / width) * 255; + pixels.set(i, j, 0, val); + pixels.set(i, j, 1, val); + pixels.set(i, j, 2, val); + pixels.set(i, j, 3, 255); + } + } + var chunks = []; + var totalLength = 0; + var r = savePixels(pixels, input.format, { quality: 100 }); + + r.on("data", function(chunk) { + totalLength += chunk.length; + chunks.push(chunk); + }); + + r.on("end", function() { + var data = Buffer.concat(chunks, totalLength).toString("base64"); + var datauri = "data:image/" + input.format + ";base64," + data; + output(input.image, datauri, input.format); + callback(); + }); + }); + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} }).call(this,require("buffer").Buffer) },{"buffer":5,"get-pixels":30,"save-pixels":138}],214:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":213,"./info.json":215,"dup":162}],215:[function(require,module,exports){ -module.exports={ - "name": "Gradient", - "description": "Gives a gradient of the image", - "inputs": {} +module.exports={ + "name": "Gradient", + "description": "Gives a gradient of the image", + "inputs": {} } },{}],216:[function(require,module,exports){ -/* - * Calculates the histogram of the image - */ -module.exports = function Channel(options, UI) { - - var output; - - function draw(input, callback, progressObj) { - - options.gradient = options.gradient || "true"; - options.gradient = JSON.parse(options.gradient); - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this, hist = new Array(256).fill(0); - - function changePixel(r, g, b, a) { - let pixVal = Math.round((r + g + b) / 3); - hist[pixVal]++; - return [r, g, b, a]; - } - - function extraManipulation(pixels) { - // if (!options.inBrowser) - // require('fs').writeFileSync('./output/histo.txt', hist.reduce((tot, cur, idx) => `${tot}\n${idx} : ${cur}`, ``)); - var newarray = new Uint8Array(4 * 256 * 256); - pixels.data = newarray; - pixels.shape = [256, 256, 4]; - pixels.stride[1] = 4 * 256; - - for (let x = 0; x < 256; x++) { - for (let y = 0; y < 256; y++) { - pixels.set(x, y, 0, 255); - pixels.set(x, y, 1, 255); - pixels.set(x, y, 2, 255); - pixels.set(x, y, 3, 255); - } - } - - let startY = options.gradient ? 10 : 0; - if (options.gradient) { - for (let x = 0; x < 256; x++) { - for (let y = 0; y < 10; y++) { - pixels.set(x, 255 - y, 0, x); - pixels.set(x, 255 - y, 1, x); - pixels.set(x, 255 - y, 2, x); - } - } - } - - let convfactor = (256 - startY) / Math.max(...hist); - - for (let x = 0; x < 256; x++) { - let pixCount = Math.round(convfactor * hist[x]); - - for (let y = startY; y < pixCount; y++) { - pixels.set(x, 255 - y, 0, 204); - pixels.set(x, 255 - y, 1, 255); - pixels.set(x, 255 - y, 2, 153); - } - } - - return pixels; - } - - function output(image, datauri, mimetype) { - - // This output is accesible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - //setup: setup, // optional - draw: draw, - output: output, - UI: UI - } -} +/* + * Calculates the histogram of the image + */ +module.exports = function Channel(options, UI) { + + var output; + + function draw(input, callback, progressObj) { + + options.gradient = options.gradient || "true"; + options.gradient = JSON.parse(options.gradient); + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this, hist = new Array(256).fill(0); + + function changePixel(r, g, b, a) { + let pixVal = Math.round((r + g + b) / 3); + hist[pixVal]++; + return [r, g, b, a]; + } + + function extraManipulation(pixels) { + // if (!options.inBrowser) + // require('fs').writeFileSync('./output/histo.txt', hist.reduce((tot, cur, idx) => `${tot}\n${idx} : ${cur}`, ``)); + var newarray = new Uint8Array(4 * 256 * 256); + pixels.data = newarray; + pixels.shape = [256, 256, 4]; + pixels.stride[1] = 4 * 256; + + for (let x = 0; x < 256; x++) { + for (let y = 0; y < 256; y++) { + pixels.set(x, y, 0, 255); + pixels.set(x, y, 1, 255); + pixels.set(x, y, 2, 255); + pixels.set(x, y, 3, 255); + } + } + + let startY = options.gradient ? 10 : 0; + if (options.gradient) { + for (let x = 0; x < 256; x++) { + for (let y = 0; y < 10; y++) { + pixels.set(x, 255 - y, 0, x); + pixels.set(x, 255 - y, 1, x); + pixels.set(x, 255 - y, 2, x); + } + } + } + + let convfactor = (256 - startY) / Math.max(...hist); + + for (let x = 0; x < 256; x++) { + let pixCount = Math.round(convfactor * hist[x]); + + for (let y = startY; y < pixCount; y++) { + pixels.set(x, 255 - y, 0, 204); + pixels.set(x, 255 - y, 1, 255); + pixels.set(x, 255 - y, 2, 153); + } + } + + return pixels; + } + + function output(image, datauri, mimetype) { + + // This output is accesible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + //setup: setup, // optional + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],217:[function(require,module,exports){ -module.exports = [ - require('./Module.js'), - require('./info.json') +module.exports = [ + require('./Module.js'), + require('./info.json') ] },{"./Module.js":216,"./info.json":218}],218:[function(require,module,exports){ -module.exports={ - "name": "Histogram", - "description": "Calculates the histogram for the image", - "inputs": { - "gradient": { - "type": "select", - "desc": "Toggle the gradient along x-axis", - "default": "true", - "values": [ - "true", - "false" - ] - } - } +module.exports={ + "name": "Histogram", + "description": "Calculates the histogram for the image", + "inputs": { + "gradient": { + "type": "select", + "desc": "Toggle the gradient along x-axis", + "default": "true", + "values": [ + "true", + "false" + ] + } + } } },{}],219:[function(require,module,exports){ -/* - * Import Image module; this fetches a given remote or local image via URL - * or data-url, and overwrites the current one. It saves the original as - * step.metadata.input for use in future modules such as blending. - * TODO: we could accept an operation for blending like "screen" or "overlay", - * or a function with blend(r1,g1,b1,a1,r2,g2,b2,a2), OR we could simply allow - * subsequent modules to do this blending and keep this one simple. - */ -module.exports = function ImportImageModule(options, UI) { - - options.imageUrl = options.url || "./images/monarch.png"; - - var output, - imgObj = new Image(); - - // we should get UI to return the image thumbnail so we can attach our own UI extensions - - // add our custom in-module html ui: - if (options.step.inBrowser) { - var ui = require('./Ui.js')(options.step, UI); - ui.setup(); - } - - // This function is caled everytime the step has to be redrawn - function draw(input,callback) { - - var step = this; - - step.metadata = step.metadata || {}; - // TODO: develop a standard API method for saving each input state, - // for reference in future steps (for blending, for example) - step.metadata.input = input; - - function onLoad() { - - // This output is accessible to Image Sequencer - step.output = { - src: imgObj.src, - format: options.format - } - - // Tell Image Sequencer that step has been drawn - callback(); - } - - options.format = require('../../util/GetFormat')(options.imageUrl); - imgObj.onload = onLoad; - imgObj.src = options.imageUrl; - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Import Image module; this fetches a given remote or local image via URL + * or data-url, and overwrites the current one. It saves the original as + * step.metadata.input for use in future modules such as blending. + * TODO: we could accept an operation for blending like "screen" or "overlay", + * or a function with blend(r1,g1,b1,a1,r2,g2,b2,a2), OR we could simply allow + * subsequent modules to do this blending and keep this one simple. + */ +module.exports = function ImportImageModule(options, UI) { + + options.imageUrl = options.url || "./images/monarch.png"; + + var output, + imgObj = new Image(); + + // we should get UI to return the image thumbnail so we can attach our own UI extensions + + // add our custom in-module html ui: + if (options.step.inBrowser) { + var ui = require('./Ui.js')(options.step, UI); + ui.setup(); + } + + // This function is caled everytime the step has to be redrawn + function draw(input,callback) { + + var step = this; + + step.metadata = step.metadata || {}; + // TODO: develop a standard API method for saving each input state, + // for reference in future steps (for blending, for example) + step.metadata.input = input; + + function onLoad() { + + // This output is accessible to Image Sequencer + step.output = { + src: imgObj.src, + format: options.format + } + + // Tell Image Sequencer that step has been drawn + callback(); + } + + options.format = require('../../util/GetFormat')(options.imageUrl); + imgObj.onload = onLoad; + imgObj.src = options.imageUrl; + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../../util/GetFormat":246,"./Ui.js":220}],220:[function(require,module,exports){ -// hide on save -module.exports = function ImportImageModuleUi(step, ui) { - - function setup(setImage, onLoad) { - - // generate a unique timestamp based id for the dropzone - var dropzoneId = 'dropzone-import-image-' + step.ID; - - // add a file input listener - var dropZone ='\ -
\ -

\ - Select or drag in an image to overlay.\ -

\ -
\ - \ -
\ -
'; - - // insert into .details area - // TODO: develop API-based consistent way to add UI elements - $(step.ui) - .find('.details') - .prepend(dropZone); - - // setup file input listener - sequencer.setInputStep({ - dropZoneSelector: "#" + dropzoneId, - fileInputSelector: "#" + dropzoneId + " .file-input", - onLoad: function onLoadFromInput(progress) { - var reader = progress.target; - step.options.imageUrl = reader.result; - step.options.url = reader.result; - sequencer.run(); - setUrlHashParameter("steps", sequencer.toString()); - } - }); - - $(step.ui) - .find('.btn-save').on('click', function onClickSave() { - - var src = $(step.ui) - .find('.det input').val(); - step.options.imageUrl = src; - sequencer.run(); - - }); - - } - - return { - setup: setup - } -} +// hide on save +module.exports = function ImportImageModuleUi(step, ui) { + + function setup(setImage, onLoad) { + + // generate a unique timestamp based id for the dropzone + var dropzoneId = 'dropzone-import-image-' + step.ID; + + // add a file input listener + var dropZone ='\ +
\ +

\ + Select or drag in an image to overlay.\ +

\ +
\ + \ +
\ +
'; + + // insert into .details area + // TODO: develop API-based consistent way to add UI elements + $(step.ui) + .find('.details') + .prepend(dropZone); + + // setup file input listener + sequencer.setInputStep({ + dropZoneSelector: "#" + dropzoneId, + fileInputSelector: "#" + dropzoneId + " .file-input", + onLoad: function onLoadFromInput(progress) { + var reader = progress.target; + step.options.imageUrl = reader.result; + step.options.url = reader.result; + sequencer.run(); + setUrlHashParameter("steps", sequencer.toString()); + } + }); + + $(step.ui) + .find('.btn-save').on('click', function onClickSave() { + + var src = $(step.ui) + .find('.det input').val(); + step.options.imageUrl = src; + sequencer.run(); + + }); + + } + + return { + setup: setup + } +} },{}],221:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":219,"./info.json":222,"dup":162}],222:[function(require,module,exports){ -module.exports={ - "name": "Import Image", - "description": "Import a new image and replace the original with it. Future versions may enable a blend mode. Specify an image by URL or by file selector.", - "url": "https://github.com/publiclab/image-sequencer/tree/master/MODULES.md", - "inputs": { - "url": { - "type": "string", - "desc": "URL of image to import", - "default": "./images/monarch.png" - } - } +module.exports={ + "name": "Import Image", + "description": "Import a new image and replace the original with it. Future versions may enable a blend mode. Specify an image by URL or by file selector.", + "url": "https://github.com/publiclab/image-sequencer/tree/master/MODULES.md", + "inputs": { + "url": { + "type": "string", + "desc": "URL of image to import", + "default": "./images/monarch.png" + } + } } },{}],223:[function(require,module,exports){ -/* - * NDVI with red filter (blue channel is infrared) - */ -module.exports = function Ndvi(options, UI) { - - if (options.step.inBrowser) var ui = require('./Ui.js')(options.step, UI); - - options.filter = options.filter || "red"; - - var output; - - // The function which is called on every draw. - function draw(input, callback, progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - if (options.filter == "red") var ndvi = (b - r) / (1.00 * b + r); - if (options.filter == "blue") var ndvi = (r - b) / (1.00 * b + r); - var x = 255 * (ndvi + 1) / 2; - return [x, x, x, a]; - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - function modifiedCallback() { - if (options.step.inBrowser) { - ui.setup(); - } - callback(); - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: modifiedCallback - }); - - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } +/* + * Sample Meta Module for demonstration purpose only + */ +module.exports = function NdviColormapfunction() { + this.expandSteps([{ 'name': 'ndvi', 'options': {} }, { 'name': 'colormap', options: {} }]); + return { + isMeta: true + } } - -},{"../_nomodule/PixelManipulation.js":242,"./Ui.js":224}],224:[function(require,module,exports){ -// hide on save -module.exports = function CropModuleUi(step, ui) { - - /* sets the pixel value under the mouse pointer - * on the title attribute of the image element. - */ - function setup() { - var ndviImage = $(imgEl()); - - ndviImage.mousemove(function ndviMousemove(e) { - - var canvas = document.createElement("canvas"); - canvas.width = ndviImage.width(); - canvas.height = ndviImage.height(); - canvas.getContext('2d').drawImage(this, 0, 0); - - var offset = $(this).offset(); - var xPos = e.pageX - offset.left; - var yPos = e.pageY - offset.top; - var ndvi = canvas.getContext('2d').getImageData(xPos, yPos, 1, 1).data[0]; - ndvi = ndvi/127.5 - 1 ; - ndvi = ndvi.toFixed(2); - ndviImage[0].title = "NDVI: " + ndvi; - }); - } - // step.imgSelector is not defined, imgElement is: - function imgEl() { - return step.imgElement; - } - - return { - setup: setup - } -} - -},{}],225:[function(require,module,exports){ +},{}],224:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) -},{"./Module":223,"./info.json":226,"dup":162}],226:[function(require,module,exports){ -module.exports={ - "name": "NDVI", - "description": "Normalized Difference Vegetation Index, or NDVI, is an image analysis technique used with aerial photography. It's a way to visualize the amounts of infrared and other wavelengths of light reflected from vegetation by comparing ratios of blue and red light absorbed versus green and IR light reflected. NDVI is used to evaluate the health of vegetation in satellite imagery, where it correlates with how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. Read more.

This is designed for use with red-filtered single camera DIY Infragram cameras; change to 'blue' for blue filters", - "inputs": { - "filter": { - "type": "select", - "desc": "Filter color", - "default": "red", - "values": ["red", "blue"] - } - } +},{"./Module":223,"./info.json":225,"dup":162}],225:[function(require,module,exports){ +module.exports={ + "name": "NDVI-Colormap", + "description": "Sequentially Applies NDVI and Colormap steps", + "inputs": {}, + "length": 2 } +},{}],226:[function(require,module,exports){ +/* + * NDVI with red filter (blue channel is infrared) + */ +module.exports = function Ndvi(options, UI) { + + if (options.step.inBrowser) var ui = require('./Ui.js')(options.step, UI); + + options.filter = options.filter || "red"; + + var output; + + // The function which is called on every draw. + function draw(input, callback, progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + if (options.filter == "red") var ndvi = (b - r) / (1.00 * b + r); + if (options.filter == "blue") var ndvi = (r - b) / (1.00 * b + r); + var x = 255 * (ndvi + 1) / 2; + return [x, x, x, a]; + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + function modifiedCallback() { + if (options.step.inBrowser) { + ui.setup(); + } + callback(); + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: modifiedCallback + }); + + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} + +},{"../_nomodule/PixelManipulation.js":242,"./Ui.js":227}],227:[function(require,module,exports){ +// hide on save +module.exports = function CropModuleUi(step, ui) { + + /* sets the pixel value under the mouse pointer + * on the title attribute of the image element. + */ + function setup() { + var ndviImage = $(imgEl()); + + ndviImage.mousemove(function ndviMousemove(e) { + + var canvas = document.createElement("canvas"); + canvas.width = ndviImage.width(); + canvas.height = ndviImage.height(); + canvas.getContext('2d').drawImage(this, 0, 0); + + var offset = $(this).offset(); + var xPos = e.pageX - offset.left; + var yPos = e.pageY - offset.top; + var ndvi = canvas.getContext('2d').getImageData(xPos, yPos, 1, 1).data[0]; + ndvi = ndvi/127.5 - 1 ; + ndvi = ndvi.toFixed(2); + ndviImage[0].title = "NDVI: " + ndvi; + }); + } + // step.imgSelector is not defined, imgElement is: + function imgEl() { + return step.imgElement; + } + + return { + setup: setup + } +} -},{}],227:[function(require,module,exports){ -/* - * Sample Meta Module for demonstration purpose only - */ -module.exports = function NdviColormapfunction() { - this.expandSteps([{ 'name': 'ndvi', 'options': {} }, { 'name': 'colormap', options: {} }]); - return { - isMeta: true - } -} },{}],228:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) -},{"./Module":227,"./info.json":229,"dup":162}],229:[function(require,module,exports){ -module.exports={ - "name": "NDVI-Colormap", - "description": "Sequentially Applies NDVI and Colormap steps", - "inputs": {}, - "length": 2 -} +},{"./Module":226,"./info.json":229,"dup":162}],229:[function(require,module,exports){ +module.exports={ + "name": "NDVI", + "description": "Normalized Difference Vegetation Index, or NDVI, is an image analysis technique used with aerial photography. It's a way to visualize the amounts of infrared and other wavelengths of light reflected from vegetation by comparing ratios of blue and red light absorbed versus green and IR light reflected. NDVI is used to evaluate the health of vegetation in satellite imagery, where it correlates with how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. Read more.

This is designed for use with red-filtered single camera DIY Infragram cameras; change to 'blue' for blue filters", + "inputs": { + "filter": { + "type": "select", + "desc": "Filter color", + "default": "red", + "values": ["red", "blue"] + } + } +} + },{}],230:[function(require,module,exports){ -module.exports = function Dynamic(options, UI, util) { - - options.x = options.x || 0; - options.y = options.y || 0; - - var output; - - // This function is called on every draw. - function draw(input, callback, progressObj) { - - options.offset = options.offset || -2; - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - // save the pixels of the base image - var baseStepImage = this.getStep(options.offset).image; - var baseStepOutput = this.getOutput(options.offset); - - var getPixels = require('get-pixels'); - - getPixels(input.src, function(err, pixels) { - options.secondImagePixels = pixels; - - function changePixel(r1, g1, b1, a1, x, y) { - - // overlay - var p = options.secondImagePixels; - if (x >= options.x - && x < p.shape[0] - && y >= options.y - && y < p.shape[1]) - return [ - p.get(x, y, 0), - p.get(x, y, 1), - p.get(x, y, 2), - p.get(x, y, 3) - ]; - else - return [r1, g1, b1, a1]; - } - - function output(image, datauri, mimetype) { - - // This output is accessible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - - } - - // run PixelManipulation on first Image pixels - return require('../_nomodule/PixelManipulation.js')(baseStepOutput, { - output: output, - changePixel: changePixel, - format: baseStepOutput.format, - image: baseStepImage, - inBrowser: options.inBrowser, - callback: callback - }); - }); - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +module.exports = function Dynamic(options, UI, util) { + + options.x = options.x || 0; + options.y = options.y || 0; + + var output; + + // This function is called on every draw. + function draw(input, callback, progressObj) { + + options.offset = options.offset || -2; + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + // save the pixels of the base image + var baseStepImage = this.getStep(options.offset).image; + var baseStepOutput = this.getOutput(options.offset); + + var getPixels = require('get-pixels'); + + getPixels(input.src, function(err, pixels) { + options.secondImagePixels = pixels; + + function changePixel(r1, g1, b1, a1, x, y) { + + // overlay + var p = options.secondImagePixels; + if (x >= options.x + && x < p.shape[0] + && y >= options.y + && y < p.shape[1]) + return [ + p.get(x, y, 0), + p.get(x, y, 1), + p.get(x, y, 2), + p.get(x, y, 3) + ]; + else + return [r1, g1, b1, a1]; + } + + function output(image, datauri, mimetype) { + + // This output is accessible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + + } + + // run PixelManipulation on first Image pixels + return require('../_nomodule/PixelManipulation.js')(baseStepOutput, { + output: output, + changePixel: changePixel, + format: baseStepOutput.format, + image: baseStepImage, + inBrowser: options.inBrowser, + callback: callback + }); + }); + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"get-pixels":30}],231:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":230,"./info.json":232,"dup":162}],232:[function(require,module,exports){ -module.exports={ - "name": "Overlay", - "description": "Overlays an Image over another at a given position(x,y)", - "inputs": { - "x": { - "type": "integer", - "desc": "X-position of the image on which the new image is overlayed", - "default": 0 - }, - "y": { - "type": "integer", - "desc": "Y-position of the image on which the new image is overlayed", - "default": 0 - }, - "offset": { - "type": "integer", - "desc": "offset to the output of the step on which the output of the last step is overlayed", - "default": -2 - } - } +module.exports={ + "name": "Overlay", + "description": "Overlays an Image over another at a given position(x,y)", + "inputs": { + "x": { + "type": "integer", + "desc": "X-position of the image on which the new image is overlayed", + "default": 0 + }, + "y": { + "type": "integer", + "desc": "Y-position of the image on which the new image is overlayed", + "default": 0 + }, + "offset": { + "type": "integer", + "desc": "offset to the output of the step on which the output of the last step is overlayed", + "default": -2 + } + } } },{}],233:[function(require,module,exports){ -/* - * Resize the image by given percentage value - */ -module.exports = function Resize(options, UI) { - - var output; - - function draw(input, callback, progressObj) { - - options.resize = options.resize || "125%"; - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - var imagejs = require('imagejs'); - - function changePixel(r, g, b, a) { - return [r, g, b, a] - } - - function extraManipulation(pixels) { - // value above 100% scales up, and below 100% scales down - var resize_value = parseInt(options.resize.slice(0, -1)); - - var new_width, - new_height; - - new_width = Math.round(pixels.shape[0] * (resize_value / 100)); - new_height = Math.round(pixels.shape[1] * (resize_value / 100)); - - var bitmap = new imagejs.Bitmap({width: pixels.shape[0], height: pixels.shape[1]}); - bitmap._data.data = pixels.data; - - - var resized = bitmap.resize({ - width: new_width, height: new_height, - algorithm: "bicubicInterpolation" - }); - - pixels.data = resized._data.data; - pixels.shape = [new_width,new_height,4]; - pixels.stride[1] = 4 * new_width; - - return pixels; - } - - function output(image, datauri, mimetype) { - // This output is accesible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Resize the image by given percentage value + */ +module.exports = function Resize(options, UI) { + + var output; + + function draw(input, callback, progressObj) { + + options.resize = options.resize || "125%"; + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + var imagejs = require('imagejs'); + + function changePixel(r, g, b, a) { + return [r, g, b, a] + } + + function extraManipulation(pixels) { + // value above 100% scales up, and below 100% scales down + var resize_value = parseInt(options.resize.slice(0, -1)); + + var new_width, + new_height; + + new_width = Math.round(pixels.shape[0] * (resize_value / 100)); + new_height = Math.round(pixels.shape[1] * (resize_value / 100)); + + var bitmap = new imagejs.Bitmap({width: pixels.shape[0], height: pixels.shape[1]}); + bitmap._data.data = pixels.data; + + + var resized = bitmap.resize({ + width: new_width, height: new_height, + algorithm: "bicubicInterpolation" + }); + + pixels.data = resized._data.data; + pixels.shape = [new_width,new_height,4]; + pixels.stride[1] = 4 * new_width; + + return pixels; + } + + function output(image, datauri, mimetype) { + // This output is accesible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"imagejs":62}],234:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":233,"./info.json":235,"dup":162}],235:[function(require,module,exports){ -module.exports={ - "name": "Resize", - "description": "Resize image by given percentage value", - "inputs": { - "resize": { - "type": "string", - "desc": "Percentage value of the resize", - "default": "125%" - } - } +module.exports={ + "name": "Resize", + "description": "Resize image by given percentage value", + "inputs": { + "resize": { + "type": "string", + "desc": "Percentage value of the resize", + "default": "125%" + } + } } },{}],236:[function(require,module,exports){ -/* - * Rotates image - */ -module.exports = function Rotate(options, UI) { - - var output; - - function draw(input, callback, progressObj) { - - options.rotate = parseInt(options.rotate) || 0; - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - var imagejs = require('imagejs'); - - function changePixel(r, g, b, a) { - return [r, g, b, a] - } - - function extraManipulation(pixels) { - var rotate_value = (options.rotate)%360; - - if(rotate_value%360 == 0) - return pixels; - - var bitmap = new imagejs.Bitmap({width: pixels.shape[0], height: pixels.shape[1]}); - bitmap._data.data = pixels.data; - - var rotated = bitmap.rotate({ - degrees: rotate_value, - }); - pixels.data = rotated._data.data; - - return pixels; - } - - function output(image, datauri, mimetype) { - // This output is accesible by Image Sequencer - step.output = { src: datauri, format: mimetype }; - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - extraManipulation: extraManipulation, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - } - - return { - options: options, - draw: draw, - output: output, - UI: UI - } -} +/* + * Rotates image + */ +module.exports = function Rotate(options, UI) { + + var output; + + function draw(input, callback, progressObj) { + + options.rotate = parseInt(options.rotate) || 0; + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + var imagejs = require('imagejs'); + + function changePixel(r, g, b, a) { + return [r, g, b, a] + } + + function extraManipulation(pixels) { + var rotate_value = (options.rotate)%360; + + if(rotate_value%360 == 0) + return pixels; + + var bitmap = new imagejs.Bitmap({width: pixels.shape[0], height: pixels.shape[1]}); + bitmap._data.data = pixels.data; + + var rotated = bitmap.rotate({ + degrees: rotate_value, + }); + pixels.data = rotated._data.data; + + return pixels; + } + + function output(image, datauri, mimetype) { + // This output is accesible by Image Sequencer + step.output = { src: datauri, format: mimetype }; + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + extraManipulation: extraManipulation, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + } + + return { + options: options, + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242,"imagejs":62}],237:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":236,"./info.json":238,"dup":162}],238:[function(require,module,exports){ -module.exports={ - "name": "Rotate", - "description": "Rotates image by specified degrees", - "inputs": { - "rotate": { - "type": "integer", - "desc": "Angular value for rotation in degrees", - "default": 0 - } - } +module.exports={ + "name": "Rotate", + "description": "Rotates image by specified degrees", + "inputs": { + "rotate": { + "type": "integer", + "desc": "Angular value for rotation in degrees", + "default": 0 + } + } } },{}],239:[function(require,module,exports){ -/* - * Saturate an image with a value from 0 to 1 - */ -module.exports = function Saturation(options,UI) { - - var output; - - function draw(input,callback,progressObj) { - - progressObj.stop(true); - progressObj.overrideFlag = true; - - var step = this; - - function changePixel(r, g, b, a) { - - var cR = 0.299; - var cG = 0.587; - var cB = 0.114; - - var p = Math.sqrt((cR * (r*r)) + (cG * (g*g)) + (cB * (g*g))); - - r = p+(r-p)*(options.saturation); - g = p+(g-p)*(options.saturation); - b = p+(b-p)*(options.saturation); - - - return [Math.round(r), Math.round(g), Math.round(b), a]; - } - - function output(image,datauri,mimetype){ - - // This output is accesible by Image Sequencer - step.output = {src:datauri,format:mimetype}; - - } - - return require('../_nomodule/PixelManipulation.js')(input, { - output: output, - changePixel: changePixel, - format: input.format, - image: options.image, - inBrowser: options.inBrowser, - callback: callback - }); - - } - - return { - options: options, - //setup: setup, // optional - draw: draw, - output: output, - UI: UI - } -} +/* + * Saturate an image with a value from 0 to 1 + */ +module.exports = function Saturation(options,UI) { + + var output; + + function draw(input,callback,progressObj) { + + progressObj.stop(true); + progressObj.overrideFlag = true; + + var step = this; + + function changePixel(r, g, b, a) { + + var cR = 0.299; + var cG = 0.587; + var cB = 0.114; + + var p = Math.sqrt((cR * (r*r)) + (cG * (g*g)) + (cB * (g*g))); + + r = p+(r-p)*(options.saturation); + g = p+(g-p)*(options.saturation); + b = p+(b-p)*(options.saturation); + + + return [Math.round(r), Math.round(g), Math.round(b), a]; + } + + function output(image,datauri,mimetype){ + + // This output is accesible by Image Sequencer + step.output = {src:datauri,format:mimetype}; + + } + + return require('../_nomodule/PixelManipulation.js')(input, { + output: output, + changePixel: changePixel, + format: input.format, + image: options.image, + inBrowser: options.inBrowser, + callback: callback + }); + + } + + return { + options: options, + //setup: setup, // optional + draw: draw, + output: output, + UI: UI + } +} },{"../_nomodule/PixelManipulation.js":242}],240:[function(require,module,exports){ arguments[4][162][0].apply(exports,arguments) },{"./Module":239,"./info.json":241,"dup":162}],241:[function(require,module,exports){ -module.exports={ - "name": "Saturation", - "description": "Change the saturation of the image by given value, from 0-1, with 1 being 100% saturated.", - "inputs": { - "saturation": { - "type": "integer", - "desc": "saturation for the new image between 0 and 2, 0 being black and white and 2 being highly saturated", - "default": 0 - } - } -} +module.exports={ + "name": "Saturation", + "description": "Change the saturation of the image by given value, from 0-1, with 1 being 100% saturated.", + "inputs": { + "saturation": { + "type": "integer", + "desc": "saturation for the new image between 0 and 2, 0 being black and white and 2 being highly saturated", + "default": 0 + } + } +} },{}],242:[function(require,module,exports){ (function (process,Buffer){ -/* -* General purpose per-pixel manipulation -* accepting a changePixel() method to remix a pixel's channels -*/ -module.exports = function PixelManipulation(image, options) { - - // To handle the case where pixelmanipulation is called on the input object itself - // like input.pixelManipulation(options) - if(arguments.length <= 1){ - options = image; - image = this; - } - - options = options || {}; - options.changePixel = - options.changePixel || - function changePixel(r, g, b, a) { - return [r, g, b, a]; - }; - - // - options.extraManipulation = - options.extraManipulation || - function extraManipulation(pixels) { - return pixels; - }; - - var getPixels = require("get-pixels"), - savePixels = require("save-pixels"); - - getPixels(image.src, function (err, pixels) { - if (err) { - console.log("Bad image path", image); - return; - } - - if (options.getNeighbourPixel) { - options.getNeighbourPixel.fun = function getNeighborPixel(distX, distY) { - return options.getNeighbourPixel(pixels, x, y, distX, distY); - }; - } - - // iterate through pixels; - // TODO: this could possibly be more efficient; see - // https://github.com/p-v-o-s/infragram-js/blob/master/public/infragram.js#L173-L181 - - if (!options.inBrowser && !process.env.TEST) { - try { - var pace = require("pace")(pixels.shape[0] * pixels.shape[1]); - } catch (e) { - options.inBrowser = true; - } - } - - for (var x = 0; x < pixels.shape[0]; x++) { - for (var y = 0; y < pixels.shape[1]; y++) { - var pixel = options.changePixel( - pixels.get(x, y, 0), - pixels.get(x, y, 1), - pixels.get(x, y, 2), - pixels.get(x, y, 3), - x, - y - ); - - pixels.set(x, y, 0, pixel[0]); - pixels.set(x, y, 1, pixel[1]); - pixels.set(x, y, 2, pixel[2]); - pixels.set(x, y, 3, pixel[3]); - - if (!options.inBrowser && !process.env.TEST) pace.op(); - } - } - - // perform any extra operations on the entire array: - if (options.extraManipulation) pixels = options.extraManipulation(pixels); - - // there may be a more efficient means to encode an image object, - // but node modules and their documentation are essentially arcane on this point - var chunks = []; - var totalLength = 0; - var r = savePixels(pixels, options.format, { quality: 100 }); - - r.on("data", function (chunk) { - totalLength += chunk.length; - chunks.push(chunk); - }); - - r.on("end", function () { - var data = Buffer.concat(chunks, totalLength).toString("base64"); - var datauri = "data:image/" + options.format + ";base64," + data; - if (options.output) - options.output(options.image, datauri, options.format); - if (options.callback) options.callback(); - }); - }); -}; +/* +* General purpose per-pixel manipulation +* accepting a changePixel() method to remix a pixel's channels +*/ +module.exports = function PixelManipulation(image, options) { + + // To handle the case where pixelmanipulation is called on the input object itself + // like input.pixelManipulation(options) + if(arguments.length <= 1){ + options = image; + image = this; + } + + options = options || {}; + options.changePixel = + options.changePixel || + function changePixel(r, g, b, a) { + return [r, g, b, a]; + }; + + // + options.extraManipulation = + options.extraManipulation || + function extraManipulation(pixels) { + return pixels; + }; + + var getPixels = require("get-pixels"), + savePixels = require("save-pixels"); + + getPixels(image.src, function (err, pixels) { + if (err) { + console.log("Bad image path", image); + return; + } + + if (options.getNeighbourPixel) { + options.getNeighbourPixel.fun = function getNeighborPixel(distX, distY) { + return options.getNeighbourPixel(pixels, x, y, distX, distY); + }; + } + + // iterate through pixels; + // TODO: this could possibly be more efficient; see + // https://github.com/p-v-o-s/infragram-js/blob/master/public/infragram.js#L173-L181 + + if (!options.inBrowser && !process.env.TEST) { + try { + var pace = require("pace")(pixels.shape[0] * pixels.shape[1]); + } catch (e) { + options.inBrowser = true; + } + } + + for (var x = 0; x < pixels.shape[0]; x++) { + for (var y = 0; y < pixels.shape[1]; y++) { + var pixel = options.changePixel( + pixels.get(x, y, 0), + pixels.get(x, y, 1), + pixels.get(x, y, 2), + pixels.get(x, y, 3), + x, + y + ); + + pixels.set(x, y, 0, pixel[0]); + pixels.set(x, y, 1, pixel[1]); + pixels.set(x, y, 2, pixel[2]); + pixels.set(x, y, 3, pixel[3]); + + if (!options.inBrowser && !process.env.TEST) pace.op(); + } + } + + // perform any extra operations on the entire array: + if (options.extraManipulation) pixels = options.extraManipulation(pixels); + + // there may be a more efficient means to encode an image object, + // but node modules and their documentation are essentially arcane on this point + var chunks = []; + var totalLength = 0; + var r = savePixels(pixels, options.format, { quality: 100 }); + + r.on("data", function (chunk) { + totalLength += chunk.length; + chunks.push(chunk); + }); + + r.on("end", function () { + var data = Buffer.concat(chunks, totalLength).toString("base64"); + var datauri = "data:image/" + options.format + ";base64," + data; + if (options.output) + options.output(options.image, datauri, options.format); + if (options.callback) options.callback(); + }); + }); +}; }).call(this,require('_process'),require("buffer").Buffer) },{"_process":117,"buffer":5,"get-pixels":30,"pace":94,"save-pixels":138}],243:[function(require,module,exports){ -// special module to load an image into the start of the sequence; used in the HTML UI -function LoadImage(ref, name, src, main_callback) { - function makeImage(datauri) { - var image = { - src: datauri, - format: datauri.split(':')[1].split(';')[0].split('/')[1] - } - return image; - } - function CImage(src, callback) { - var datauri; - if (!!src.match(/^data:/i)) { - datauri = src; - callback(datauri); - } - else if (!ref.options.inBrowser && !!src.match(/^https?:\/\//i)) { - require( src.match(/^(https?):\/\//i)[1] ).get(src,function(res){ - var data = ''; - var contentType = res.headers['content-type']; - res.setEncoding('base64'); - res.on('data',function(chunk) {data += chunk;}); - res.on('end',function() { - callback("data:"+contentType+";base64,"+data); - }); - }); - } - else if (ref.options.inBrowser) { - var ext = src.split('.').pop(); - var image = document.createElement('img'); - var canvas = document.createElement('canvas'); - var context = canvas.getContext('2d'); - image.onload = function() { - canvas.width = image.naturalWidth; - canvas.height = image.naturalHeight; - context.drawImage(image,0,0); - datauri = canvas.toDataURL(ext); - callback(datauri); - } - image.src = src; - } - else { - datauri = require('urify')(src); - callback(datauri); - } - } - - function loadImage(name, src) { - var step = { - name: "load-image", - description: "This initial step loads and displays the original image without any modifications.

To work with a new or different image, drag one into the drop zone.", - ID: ref.options.sequencerCounter++, - imageName: name, - inBrowser: ref.options.inBrowser, - ui: ref.options.ui - }; - - var image = { - src: src, - steps: [{ - options: { - id: step.ID, - name: "load-image", - description: "This initial step loads and displays the original image without any modifications.", - title: "Load Image", - step: step - }, - UI: ref.events, - draw: function() { - UI.onDraw(options.step); - if(arguments.length==1){ - this.output = CImage(arguments[0]); - options.step.output = this.output; - UI.onComplete(options.step); - return true; - } - else if(arguments.length==2) { - this.output = CImage(arguments[0]); - options.step.output = this.output; - arguments[1](); - UI.onComplete(options.step); - return true; - } - return false; - }, - }] - }; - CImage(src, function(datauri) { - var output = makeImage(datauri); - ref.images[name] = image; - var loadImageStep = ref.images[name].steps[0]; - loadImageStep.output = output; - loadImageStep.options.step.output = loadImageStep.output.src; - loadImageStep.UI.onSetup(loadImageStep.options.step); - loadImageStep.UI.onDraw(loadImageStep.options.step); - loadImageStep.UI.onComplete(loadImageStep.options.step); - - main_callback(); - return true; - }); - } - - return loadImage(name,src); -} - -module.exports = LoadImage; +// special module to load an image into the start of the sequence; used in the HTML UI +function LoadImage(ref, name, src, main_callback) { + function makeImage(datauri) { + var image = { + src: datauri, + format: datauri.split(':')[1].split(';')[0].split('/')[1] + } + return image; + } + function CImage(src, callback) { + var datauri; + if (!!src.match(/^data:/i)) { + datauri = src; + callback(datauri); + } + else if (!ref.options.inBrowser && !!src.match(/^https?:\/\//i)) { + require( src.match(/^(https?):\/\//i)[1] ).get(src,function(res){ + var data = ''; + var contentType = res.headers['content-type']; + res.setEncoding('base64'); + res.on('data',function(chunk) {data += chunk;}); + res.on('end',function() { + callback("data:"+contentType+";base64,"+data); + }); + }); + } + else if (ref.options.inBrowser) { + var ext = src.split('.').pop(); + var image = document.createElement('img'); + var canvas = document.createElement('canvas'); + var context = canvas.getContext('2d'); + image.onload = function() { + canvas.width = image.naturalWidth; + canvas.height = image.naturalHeight; + context.drawImage(image,0,0); + datauri = canvas.toDataURL(ext); + callback(datauri); + } + image.src = src; + } + else { + datauri = require('urify')(src); + callback(datauri); + } + } + + function loadImage(name, src) { + var step = { + name: "load-image", + description: "This initial step loads and displays the original image without any modifications.

To work with a new or different image, drag one into the drop zone.", + ID: ref.options.sequencerCounter++, + imageName: name, + inBrowser: ref.options.inBrowser, + ui: ref.options.ui + }; + + var image = { + src: src, + steps: [{ + options: { + id: step.ID, + name: "load-image", + description: "This initial step loads and displays the original image without any modifications.", + title: "Load Image", + step: step + }, + UI: ref.events, + draw: function() { + UI.onDraw(options.step); + if(arguments.length==1){ + this.output = CImage(arguments[0]); + options.step.output = this.output; + UI.onComplete(options.step); + return true; + } + else if(arguments.length==2) { + this.output = CImage(arguments[0]); + options.step.output = this.output; + arguments[1](); + UI.onComplete(options.step); + return true; + } + return false; + }, + }] + }; + CImage(src, function(datauri) { + var output = makeImage(datauri); + ref.images[name] = image; + var loadImageStep = ref.images[name].steps[0]; + loadImageStep.output = output; + loadImageStep.options.step.output = loadImageStep.output.src; + loadImageStep.UI.onSetup(loadImageStep.options.step); + loadImageStep.UI.onDraw(loadImageStep.options.step); + loadImageStep.UI.onComplete(loadImageStep.options.step); + + main_callback(); + return true; + }); + } + + return loadImage(name,src); +} + +module.exports = LoadImage; },{"urify":147}],244:[function(require,module,exports){ -// TODO: potentially move this into ImportImage module -function setInputStepInit() { - - return function setInputStep(options) { - - var dropzone = $(options.dropZoneSelector); - var fileInput = $(options.fileInputSelector); - - var onLoad = options.onLoad; - - var reader = new FileReader(); - - function handleFile(e) { - - e.preventDefault(); - e.stopPropagation(); // stops the browser from redirecting. - - if (e.target && e.target.files) var file = e.target.files[0]; - else var file = e.dataTransfer.files[0]; - if(!file) return; - - var reader = new FileReader(); - - reader.onload = onLoad; - - reader.readAsDataURL(file); - } - - fileInput.on('change', handleFile); - - dropzone[0].addEventListener('drop', handleFile, false); - - dropzone.on('dragover', function onDragover(e) { - e.stopPropagation(); - e.preventDefault(); - e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. - }, false); - - dropzone.on('dragenter', function onDragEnter(e) { - dropzone.addClass('hover'); - }); - - dropzone.on('dragleave', function onDragLeave(e) { - dropzone.removeClass('hover'); - }); - - } - -} -module.exports = setInputStepInit; +// TODO: potentially move this into ImportImage module +function setInputStepInit() { + + return function setInputStep(options) { + + var dropzone = $(options.dropZoneSelector); + var fileInput = $(options.fileInputSelector); + + var onLoad = options.onLoad; + + var reader = new FileReader(); + + function handleFile(e) { + + e.preventDefault(); + e.stopPropagation(); // stops the browser from redirecting. + + if (e.target && e.target.files) var file = e.target.files[0]; + else var file = e.dataTransfer.files[0]; + if(!file) return; + + var reader = new FileReader(); + + reader.onload = onLoad; + + reader.readAsDataURL(file); + } + + fileInput.on('change', handleFile); + + dropzone[0].addEventListener('drop', handleFile, false); + + dropzone.on('dragover', function onDragover(e) { + e.stopPropagation(); + e.preventDefault(); + e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. + }, false); + + dropzone.on('dragenter', function onDragEnter(e) { + dropzone.addClass('hover'); + }); + + dropzone.on('dragleave', function onDragLeave(e) { + dropzone.removeClass('hover'); + }); + + } + +} +module.exports = setInputStepInit; },{}],245:[function(require,module,exports){ -/* - * User Interface Handling Module - */ - -module.exports = function UserInterface(events = {}) { - - events.onSetup = events.onSetup || function(step) { - if (step.ui == false) { - // No UI - } else if(step.inBrowser) { - // Create and append an HTML Element - console.log("Added Step \""+step.name+"\" to \""+step.imageName+"\"."); - } else { - // Create a NodeJS Object - console.log('\x1b[36m%s\x1b[0m',"Added Step \""+step.name+"\" to \""+step.imageName+"\"."); - } - } - - events.onDraw = events.onDraw || function(step) { - if (step.ui == false) { - // No UI - } else if(step.inBrowser) { - // Overlay a loading spinner - console.log("Drawing Step \""+step.name+"\" on \""+step.imageName+"\"."); - } else { - // Don't do anything - console.log('\x1b[33m%s\x1b[0m',"Drawing Step \""+step.name+"\" on \""+step.imageName+"\"."); - } - } - - events.onComplete = events.onComplete || function(step) { - if (step.ui == false) { - // No UI - } else if(step.inBrowser) { - // Update the DIV Element - // Hide the laoding spinner - console.log("Drawn Step \""+step.name+"\" on \""+step.imageName+"\"."); - } else { - // Update the NodeJS Object - console.log('\x1b[32m%s\x1b[0m',"Drawn Step \""+step.name+"\" on \""+step.imageName+"\"."); - } - } - - events.onRemove = events.onRemove || function(step) { - if (step.ui == false){ - // No UI - } else if(step.inBrowser) { - // Remove the DIV Element - console.log("Removing Step \""+step.name+"\" of \""+step.imageName+"\"."); - } else { - // Delete the NodeJS Object - console.log('\x1b[31m%s\x1b[0m',"Removing Step \""+step.name+"\" of \""+step.imageName+"\"."); - } - } - - return events; - -} +/* + * User Interface Handling Module + */ + +module.exports = function UserInterface(events = {}) { + + events.onSetup = events.onSetup || function(step) { + if (step.ui == false) { + // No UI + } else if(step.inBrowser) { + // Create and append an HTML Element + console.log("Added Step \""+step.name+"\" to \""+step.imageName+"\"."); + } else { + // Create a NodeJS Object + console.log('\x1b[36m%s\x1b[0m',"Added Step \""+step.name+"\" to \""+step.imageName+"\"."); + } + } + + events.onDraw = events.onDraw || function(step) { + if (step.ui == false) { + // No UI + } else if(step.inBrowser) { + // Overlay a loading spinner + console.log("Drawing Step \""+step.name+"\" on \""+step.imageName+"\"."); + } else { + // Don't do anything + console.log('\x1b[33m%s\x1b[0m',"Drawing Step \""+step.name+"\" on \""+step.imageName+"\"."); + } + } + + events.onComplete = events.onComplete || function(step) { + if (step.ui == false) { + // No UI + } else if(step.inBrowser) { + // Update the DIV Element + // Hide the laoding spinner + console.log("Drawn Step \""+step.name+"\" on \""+step.imageName+"\"."); + } else { + // Update the NodeJS Object + console.log('\x1b[32m%s\x1b[0m',"Drawn Step \""+step.name+"\" on \""+step.imageName+"\"."); + } + } + + events.onRemove = events.onRemove || function(step) { + if (step.ui == false){ + // No UI + } else if(step.inBrowser) { + // Remove the DIV Element + console.log("Removing Step \""+step.name+"\" of \""+step.imageName+"\"."); + } else { + // Delete the NodeJS Object + console.log('\x1b[31m%s\x1b[0m',"Removing Step \""+step.name+"\" of \""+step.imageName+"\"."); + } + } + + return events; + +} },{}],246:[function(require,module,exports){ -/* -* Determine format from a URL or data-url, return "jpg" "png" "gif" etc -* TODO: write a test for this using the examples -*/ -module.exports = function GetFormat(src) { - - var format = undefined; // haha default - - // EXAMPLE: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAQABADASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgj/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCdABykX//Z"; - // EXAMPLE: "http://example.com/example.png" - // EXAMPLE: "/example.png" - - if (isDataUrl(src)) { - format = src.split(';')[0].split('/').pop(); - } else { - format = src.split('.').pop(); - } - - function isDataUrl(src) { - return src.substr(0, 10) === "data:image" - } - - format = format.toLowerCase(); - - if (format === "jpeg") format = "jpg"; - - function validateFormat(data){ - let supportedFormats = [ - 'jpg', - 'jpeg', - 'png', - 'gif', - 'canvas', - ]; - return supportedFormats.includes(data); - } - - return validateFormat(format)?format:'jpg'; - -} +/* +* Determine format from a URL or data-url, return "jpg" "png" "gif" etc +* TODO: write a test for this using the examples +*/ +module.exports = function GetFormat(src) { + + var format = undefined; // haha default + + // EXAMPLE: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAQABADASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgj/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCdABykX//Z"; + // EXAMPLE: "http://example.com/example.png" + // EXAMPLE: "/example.png" + + if (isDataUrl(src)) { + format = src.split(';')[0].split('/').pop(); + } else { + format = src.split('.').pop(); + } + + function isDataUrl(src) { + return src.substr(0, 10) === "data:image" + } + + format = format.toLowerCase(); + + if (format === "jpeg") format = "jpg"; + + function validateFormat(data){ + let supportedFormats = [ + 'jpg', + 'jpeg', + 'png', + 'gif', + 'canvas', + ]; + return supportedFormats.includes(data); + } + + return validateFormat(format)?format:'jpg'; + +} },{}],247:[function(require,module,exports){ -module.exports = { - getPreviousStep: function() { - return this.getStep(-1); - }, - - getNextStep: function() { - return this.getStep(1); - }, - - getInput: function(offset) { - if (offset + this.getIndex() === 0) offset++; - return this.getStep(offset - 1).output; - }, - - getOutput: function(offset) { - return this.getStep(offset).output; - }, - - getOptions: function() { - return this.getStep(0).options; - }, - - setOptions: function(optionsObj) { - let options = this.getStep(0).options; - for (let key in optionsObj) { - if (options[key]) options[key] = optionsObj[key]; - } - }, - - getFormat: function() { - return this.getStep(-1).output.format; - }, - - getHeight: function(callback) { - let img = new Image(); - img.onload = function() { - callback(img.height); - }; - img.src = this.getInput(0).src; - }, - - getWidth: function(callback) { - let img = new Image(); - img.onload = function() { - callback(img.width); - }; - img.src = this.getInput(0).src; - } +module.exports = { + getPreviousStep: function() { + return this.getStep(-1); + }, + + getNextStep: function() { + return this.getStep(1); + }, + + getInput: function(offset) { + if (offset + this.getIndex() === 0) offset++; + return this.getStep(offset - 1).output; + }, + + getOutput: function(offset) { + return this.getStep(offset).output; + }, + + getOptions: function() { + return this.getStep(0).options; + }, + + setOptions: function(optionsObj) { + let options = this.getStep(0).options; + for (let key in optionsObj) { + if (options[key]) options[key] = optionsObj[key]; + } + }, + + getFormat: function() { + return this.getStep(-1).output.format; + }, + + getHeight: function(callback) { + let img = new Image(); + img.onload = function() { + callback(img.height); + }; + img.src = this.getInput(0).src; + }, + + getWidth: function(callback) { + let img = new Image(); + img.onload = function() { + callback(img.width); + }; + img.src = this.getInput(0).src; + } } },{}]},{},[154]); diff --git a/dist/image-sequencer.min.js b/dist/image-sequencer.min.js index 0986e36a..aa81acb0 100644 --- a/dist/image-sequencer.min.js +++ b/dist/image-sequencer.min.js @@ -1 +1 @@ -!function(){return function t(e,n,r){function i(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return i(e[o][1][t]||t)},c,c.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o0?r-4:r,f=0;f>16&255,s[u++]=e>>8&255,s[u++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[u++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[u++]=e>>8&255,s[u++]=255&e);return s},n.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=0,s=n-i;os?s:o+16383));1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return a.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],2:[function(t,e,n){"use strict";"use restrict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}n.INT_BITS=32,n.INT_MAX=2147483647,n.INT_MIN=-1<<31,n.sign=function(t){return(t>0)-(t<0)},n.abs=function(t){var e=t>>31;return(t^e)-e},n.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=n=((t>>>=e)>255)<<3,e|=n=((t>>>=n)>15)<<2,(e|=n=((t>>>=n)>3)<<1)|(t>>>=n)>>1},n.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},n.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},n.countTrailingZeros=r,n.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},n.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},n.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var n=e,r=e,i=7;for(n>>>=1;n;n>>>=1)r<<=1,r|=1&n,--i;t[e]=r<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},n.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},n.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},n.interleave3=function(t,e,n){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<2},n.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},n.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},{}],3:[function(t,e,n){(function(t,r,i){!function(t){if("object"==typeof n&&void 0!==e)e.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:void 0!==r?i=r:"undefined"!=typeof self&&(i=self),i.Promise=t()}}(function(){var e,n,a;return function t(e,n,r){function i(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof _dereq_&&_dereq_;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return i(n||t)},c,c.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof _dereq_&&_dereq_,o=0;o0;)p(t)}function p(t){var e=t.shift();if("function"!=typeof e)e._settlePromises();else{var n=t.shift(),r=t.shift();e.call(n,r)}}u.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},u.prototype.hasCustomScheduler=function(){return this._customScheduler},u.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},u.prototype.disableTrampolineIfNecessary=function(){s.hasDevTools&&(this._trampolineEnabled=!1)},u.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},u.prototype.fatalError=function(e,n){n?(t.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),t.exit(2)):this.throwLater(e)},u.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},s.hasDevTools?(u.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?l.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},u.prototype.invoke=function(t,e,n){this._trampolineEnabled?c.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},u.prototype.settlePromises=function(t){this._trampolineEnabled?f.call(this,t):this._schedule(function(){t._settlePromises()})}):(u.prototype.invokeLater=l,u.prototype.invoke=c,u.prototype.settlePromises=f),u.prototype._drainQueues=function(){h(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,h(this._lateQueue)},u.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},u.prototype._reset=function(){this._isTickUsed=!1},n.exports=u,n.exports.firstLineError=i},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,a=function(t,e){this._reject(e)},o=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(a,a,null,this,t)},s=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},u=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(a){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(a),c=new t(e);c._propagateFrom(this,1);var f=this._target();if(c._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:c,target:f,bindingPromise:l};f._then(e,o,void 0,c,h),l._then(s,u,void 0,c,h),c._setOnCancel(l)}else c._resolveCallback(f);return c},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";var r;"undefined"!=typeof Promise&&(r=Promise);var i=t("./promise")();i.noConflict=function(){try{Promise===i&&(Promise=r)}catch(t){}return i},e.exports=i},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),a=r(null);i[" size"]=a[" size"]=0}e.exports=function(e){var n,r=t("./util"),i=r.canEvaluate;r.isIdentifier;function a(t,n){var i;if(null!=t&&(i=t[n]),"function"!=typeof i){var a="Object "+r.classString(t)+" has no method '"+r.toString(n)+"'";throw new e.TypeError(a)}return i}function o(t){return a(t,this.pop()).apply(t,this)}function s(t){return t[this]}function u(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(o,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e;if("number"==typeof t)e=u;else if(i){var r=n(t);e=null!==r?r:s}else e=s;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var a=t("./util"),o=a.tryCatch,s=a.errorObj,u=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(a.isArray(t))for(var n=0;n=0)return n[t]}return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},r.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,n.push(this._trace))},r.prototype._popContext=function(){if(void 0!==this._trace){var t=n.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},r.CapturedTrace=null,r.create=function(){if(e)return new r},r.deactivateLongStackTraces=function(){},r.activateLongStackTraces=function(){var n=t.prototype._pushContext,a=t.prototype._popContext,o=t._peekContext,s=t.prototype._peekContext,u=t.prototype._promiseCreated;r.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=a,t._peekContext=o,t.prototype._peekContext=s,t.prototype._promiseCreated=u,e=!1},e=!0,t.prototype._pushContext=r.prototype._pushContext,t.prototype._popContext=r.prototype._popContext,t._peekContext=t.prototype._peekContext=i,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},r}},{}],9:[function(e,n,r){"use strict";n.exports=function(n,r){var i,a,o,s=n._getDomain,u=n._async,l=e("./errors").Warning,c=e("./util"),f=e("./es5"),h=c.canAttachTrace,p=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,d=/\((?:timers\.js):\d+:\d+\)/,v=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,g=null,m=null,_=!1,y=!(0==c.env("BLUEBIRD_DEBUG")),w=!(0==c.env("BLUEBIRD_WARNINGS")||!y&&!c.env("BLUEBIRD_WARNINGS")),b=!(0==c.env("BLUEBIRD_LONG_STACK_TRACES")||!y&&!c.env("BLUEBIRD_LONG_STACK_TRACES")),x=0!=c.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(w||!!c.env("BLUEBIRD_W_FORGOTTEN_RETURN"));n.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},n.prototype._ensurePossibleRejectionHandled=function(){if(0==(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},n.prototype._notifyUnhandledRejectionIsHandled=function(){H("rejectionHandled",i,void 0,this)},n.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},n.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},n.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),H("unhandledRejection",a,t,this)}},n.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},n.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},n.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},n.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},n.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},n.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},n.prototype._warn=function(t,e,n){return z(t,e,n||this)},n.onPossiblyUnhandledRejection=function(t){var e=s();a="function"==typeof t?null===e?t:c.domainBind(e,t):void 0},n.onUnhandledRejectionHandled=function(t){var e=s();i="function"==typeof t?null===e?t:c.domainBind(e,t):void 0};var k=function(){};n.longStackTraces=function(){if(u.haveItemsQueued()&&!K.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!K.longStackTraces&&Z()){var t=n.prototype._captureStackTrace,e=n.prototype._attachExtraTrace,i=n.prototype._dereferenceTrace;K.longStackTraces=!0,k=function(){if(u.haveItemsQueued()&&!K.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");n.prototype._captureStackTrace=t,n.prototype._attachExtraTrace=e,n.prototype._dereferenceTrace=i,r.deactivateLongStackTraces(),u.enableTrampoline(),K.longStackTraces=!1},n.prototype._captureStackTrace=D,n.prototype._attachExtraTrace=N,n.prototype._dereferenceTrace=U,r.activateLongStackTraces(),u.disableTrampolineIfNecessary()}},n.hasLongStackTraces=function(){return K.longStackTraces&&Z()};var E=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var n={detail:e,cancelable:!0};f.defineProperty(n,"promise",{value:e.promise}),f.defineProperty(n,"reason",{value:e.reason});var r=new CustomEvent(t.toLowerCase(),n);return!c.global.dispatchEvent(r)}}if("function"==typeof Event){t=new Event("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,f.defineProperty(n,"promise",{value:e.promise}),f.defineProperty(n,"reason",{value:e.reason}),!c.global.dispatchEvent(n)}}return(t=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),c.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!c.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),S=c.isNode?function(){return t.emit.apply(t,arguments)}:c.global?function(t){var e="on"+t.toLowerCase(),n=c.global[e];return!!n&&(n.apply(c.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function j(t,e){return{promise:e}}var T={promiseCreated:j,promiseFulfilled:j,promiseRejected:j,promiseResolved:j,promiseCancelled:j,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:j},A=function(t){var e=!1;try{e=S.apply(null,arguments)}catch(t){u.throwLater(t),e=!0}var n=!1;try{n=E(t,T[t].apply(null,arguments))}catch(t){u.throwLater(t),n=!0}return n||e};function C(){return!1}function M(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+c.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function I(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?c.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function R(){return this._onCancelField}function L(t){this._onCancelField=t}function B(){this._cancellationParent=void 0,this._onCancelField=void 0}function F(t,e){if(0!=(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}n.config=function(t){if("longStackTraces"in(t=Object(t))&&(t.longStackTraces?n.longStackTraces():!t.longStackTraces&&n.hasLongStackTraces()&&k()),"warnings"in t){var e=t.warnings;K.warnings=!!e,x=K.warnings,c.isObject(e)&&"wForgottenReturn"in e&&(x=!!e.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!K.cancellation){if(u.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");n.prototype._clearCancellationData=B,n.prototype._propagateFrom=F,n.prototype._onCancel=R,n.prototype._setOnCancel=L,n.prototype._attachCancellationCallback=I,n.prototype._execute=M,P=F,K.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!K.monitoring?(K.monitoring=!0,n.prototype._fireEvent=A):!t.monitoring&&K.monitoring&&(K.monitoring=!1,n.prototype._fireEvent=C)),n},n.prototype._fireEvent=C,n.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},n.prototype._onCancel=function(){},n.prototype._setOnCancel=function(t){},n.prototype._attachCancellationCallback=function(t){},n.prototype._captureStackTrace=function(){},n.prototype._attachExtraTrace=function(){},n.prototype._dereferenceTrace=function(){},n.prototype._clearCancellationData=function(){},n.prototype._propagateFrom=function(t,e){};var P=function(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)};function O(){var t=this._boundTo;return void 0!==t&&t instanceof n?t.isFulfilled()?t.value():void 0:t}function D(){this._trace=new J(this._peekContext())}function N(t,e){if(h(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=V(t);c.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),c.notEnumerableProp(t,"__stackCleaned__",!0)}}}function U(){this._trace=void 0}function z(t,e,r){if(K.warnings){var i,a=new l(t);if(e)r._attachExtraTrace(a);else if(K.longStackTraces&&(i=n._peekContext()))i.attachExtraTrace(a);else{var o=V(a);a.stack=o.message+"\n"+o.stack.join("\n")}A("warning",a)||G(a,"",!0)}}function q(t){for(var e=[],n=0;n0?function(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:q(e)}}function G(t,e,n){if("undefined"!=typeof console){var r;if(c.isObject(t)){var i=t.stack;r=e+m(i,t)}else r=e+String(t);"function"==typeof o?o(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function H(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){u.throwLater(t)}"unhandledRejection"===t?A(t,n,r)||i||G(n,"Unhandled rejection "):A(t,r)}function W(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():c.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+function(t){if(t.length<41)return t;return t.substr(0,38)+"..."}(e)+">, no stack trace)"}function Z(){return"function"==typeof Q}var Y=function(){return!1},X=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function $(t){var e=t.match(X);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function J(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);Q(this,J),e>32&&this.uncycle()}c.inherits(J,Error),r.CapturedTrace=J,J.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;for(r=(t=this._length=r)-1;r>=0;--r){var a=e[r].stack;void 0===n[a]&&(n[a]=r)}for(r=0;r0&&(e[o-1]._parent=void 0,e[o-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var s=r>0?e[r-1]:this;o=0;--l)e[l]._length=u,u++;return}}}},J.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=V(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(q(i.stack.split("\n"))),i=i._parent;!function(t){for(var e=t[0],n=1;n=0;--s)if(r[s]===a){o=s;break}for(s=o;s>=0;--s){var u=r[s];if(e[i]!==u)break;e.pop(),i--}e=r}}(r),function(t){for(var e=0;e=0)return g=/@/,m=e,_=!0,function(t){t.stack=(new Error).stack};try{throw new Error}catch(t){r="stack"in t}return"stack"in i||!r||"number"!=typeof Error.stackTraceLimit?(m=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?W(e):e.toString()},null):(g=t,m=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(o=function(t){console.warn(t)},c.isNode&&t.stderr.isTTY?o=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:c.isNode||"string"!=typeof(new Error).stack||(o=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var K={warnings:w,longStackTraces:!1,cancellation:!1,monitoring:!1};return b&&n.longStackTraces(),{longStackTraces:function(){return K.longStackTraces},warnings:function(){return K.warnings},cancellation:function(){return K.cancellation},monitoring:function(){return K.monitoring},propagateFromFunction:function(){return P},boundValueFunction:function(){return O},checkForgottenReturns:function(t,e,n,r,i){if(void 0===t&&null!==e&&x){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var a="",o="";if(e._trace){for(var s=e._trace.stack.split("\n"),u=q(s),l=u.length-1;l>=0;--l){var c=u[l];if(!d.test(c)){var f=c.match(v);f&&(a="at "+f[1]+":"+f[2]+":"+f[3]+" ");break}}if(u.length>0){var h=u[0];for(l=0;l0&&(o="\n"+s[l-1]);break}}}var p="a promise was created in a "+n+"handler "+a+"but was not returned from it, see http://goo.gl/rRqMUw"+o;r._warn(p,!0,e)}},setBounds:function(t,e){if(Z()){for(var n,r,i=t.stack.split("\n"),a=e.stack.split("\n"),o=-1,s=-1,u=0;u=s||(Y=function(t){if(p.test(t))return!0;var e=$(t);return!!(e&&e.fileName===n&&o<=e.line&&e.line<=s)})}},warn:z,deprecated:function(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),z(n)},CapturedTrace:J,fireDomEvent:E,fireGlobalEvent:S}}},{"./errors":12,"./es5":13,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1];return this.caught(t,function(){throw e})},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();return this.caught(n,function(){return r})}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.reduce,r=t.all;function i(){return r(this)}t.prototype.each=function(t){return n(this,t,e,0)._then(i,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return n(this,t,e,e)},t.each=function(t,r){return n(t,r,e,0)._then(i,void 0,void 0,t,void 0)},t.mapSeries=function(t,r){return n(t,r,e,e)}}},{}],12:[function(t,e,n){"use strict";var r,i,a=t("./es5"),o=a.freeze,s=t("./util"),u=s.inherits,l=s.notEnumerableProp;function c(t,e){function n(r){if(!(this instanceof n))return new n(r);l(this,"message","string"==typeof r?r:e),l(this,"name",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return u(n,Error),n}var f=c("Warning","warning"),h=c("CancellationError","cancellation error"),p=c("TimeoutError","timeout error"),d=c("AggregateError","aggregate error");try{r=TypeError,i=RangeError}catch(t){r=c("TypeError","type error"),i=c("RangeError","range error")}for(var v="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function f(){return p.call(this,this.promise._target()._settledValue())}function h(t){if(!c(this,t))return o.e=t,o}function p(t){var i=this.promise,s=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?s.call(i._boundValue()):s.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var p=n(u,i);if(p instanceof e){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new a("late cancellation observer");return i._attachExtraTrace(d),o.e=d,o}p.isPending()&&p._attachCancellationCallback(new l(this))}return p._then(f,h,void 0,this,void 0)}}}return i.isRejected()?(c(this),o.e=t,o):(c(this),t)}return u.prototype.isFinallyHandler=function(){return 0===this.type},l.prototype._resultCancelled=function(){c(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new u(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,p,p)},e.prototype.tap=function(t){return this._passThrough(t,1,p)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,p);var r,a=new Array(n-1),o=0;for(r=0;r0&&"function"==typeof arguments[e]&&(t=arguments[e]);var r=[].slice.call(arguments);t&&r.pop();var i=new n(r).promise();return void 0!==t?i.spread(t):i}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a,o){var s=e._getDomain,u=t("./util"),l=u.tryCatch,c=u.errorObj,f=e._async;function h(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=s();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===a?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function p(t,n,i,a){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var o=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));o=i.concurrency}return new h(t,n,o="number"==typeof o&&isFinite(o)&&o>=1?o:0,a).promise()}u.inherits(h,n),h.prototype._asyncInit=function(){this._init$(void 0,-2)},h.prototype._init=function(){},h.prototype._promiseFulfilled=function(t,n){var r=this._values,a=this.length(),s=this._preservedValues,u=this._limit;if(n<0){if(r[n=-1*n-1]=t,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return r[n]=t,this._queue.push(n),!1;null!==s&&(s[n]=t);var f=this._promise,h=this._callback,p=f._boundValue();f._pushContext();var d=l(h).call(p,t,n,a),v=f._popContext();if(o.checkForgottenReturns(d,v,null!==s?"Promise.filter":"Promise.map",f),d===c)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof e){var m=(g=g._target())._bitField;if(0==(50397184&m))return u>=1&&this._inFlight++,r[n]=g,g._proxy(this,-1*(n+1)),!1;if(0==(33554432&m))return 0!=(16777216&m)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}r[n]=d}return++this._totalResolved>=a&&(null!==s?this._filter(r,s):this._resolve(r),!0)},h.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight1){a.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],c=arguments[2];r=o.isArray(l)?s(t).apply(c,l):s(t).call(c,l)}else r=s(t)();var f=u._popContext();return a.checkForgottenReturns(r,f,"Promise.try",u),u._resolveFromSyncValue(r),u},e.prototype._resolveFromSyncValue=function(t){t===o.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";var r=t("./util"),i=r.maybeWrapAsError,a=t("./errors").OperationalError,o=t("./es5");var s=/^(?:name|message|stack|cause)$/;function u(t){var e;if(function(t){return t instanceof Error&&o.getPrototypeOf(t)===Error.prototype}(t)){(e=new a(t)).name=t.name,e.message=t.message,e.stack=t.stack;for(var n=o.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;n0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+l.classString(t);arguments.length>1&&(n+=", "+l.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},C.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},C.prototype.spread=function(t){return"function"!=typeof t?a("expecting a function but got "+l.classString(t)):this.all()._then(t,void 0,void 0,m,void 0)},C.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},C.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new w(this).promise()},C.prototype.error=function(t){return this.caught(l.originatesFromRejection,t)},C.getNewLibraryCopy=n.exports,C.is=function(t){return t instanceof C},C.fromNode=C.fromCallback=function(t){var e=new C(g);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=A(t)(j(e,n));return r===T&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},C.all=function(t){return new w(t).promise()},C.cast=function(t){var e=y(t);return e instanceof C||((e=new C(g))._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},C.resolve=C.fulfilled=C.cast,C.reject=C.rejected=function(t){var e=new C(g);return e._captureStackTrace(),e._rejectCallback(t,!0),e},C.setScheduler=function(t){if("function"!=typeof t)throw new d("expecting a function but got "+l.classString(t));return h.setScheduler(t)},C.prototype._then=function(t,e,n,r,i){var a=void 0!==i,o=a?i:new C(g),u=this._target(),c=u._bitField;a||(o._propagateFrom(this,3),o._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&c)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,o));var f=s();if(0!=(50397184&c)){var p,d,m=u._settlePromiseCtx;0!=(33554432&c)?(d=u._rejectionHandler0,p=t):0!=(16777216&c)?(d=u._fulfillmentHandler0,p=e,u._unsetRejectionIsUnhandled()):(m=u._settlePromiseLateCancellationObserver,d=new v("late cancellation observer"),u._attachExtraTrace(d),p=e),h.invoke(m,u,{handler:null===f?p:"function"==typeof p&&l.domainBind(f,p),promise:o,receiver:r,value:d})}else u._addCallbacks(t,e,o,r,f);return o},C.prototype._length=function(){return 65535&this._bitField},C.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},C.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},C.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},C.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},C.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},C.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},C.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},C.prototype._isFinal=function(){return(4194304&this._bitField)>0},C.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},C.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},C.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},C.prototype._setAsyncGuaranteed=function(){h.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},C.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==u)return void 0===e&&this._isBound()?this._boundValue():e},C.prototype._promiseAt=function(t){return this[4*t-4+2]},C.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},C.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},C.prototype._boundValue=function(){},C.prototype._migrateCallback0=function(t){t._bitField;var e=t._fulfillmentHandler0,n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=u),this._addCallbacks(e,n,r,i,null)},C.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),a=t._receiverAt(e);void 0===a&&(a=u),this._addCallbacks(n,r,i,a,null)},C.prototype._addCallbacks=function(t,e,n,r,i){var a=this._length();if(a>=65531&&(a=0,this._setLength(0)),0===a)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:l.domainBind(i,e));else{var o=4*a-4;this[o+2]=n,this[o+3]=r,"function"==typeof t&&(this[o+0]=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this[o+1]=null===i?e:l.domainBind(i,e))}return this._setLength(a+1),a},C.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},C.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(r(),!1);var n=y(t,this);if(!(n instanceof C))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i!==this){var a=i._bitField;if(0==(50397184&a)){var o=this._length();o>0&&i._migrateCallback0(this);for(var s=1;s>>16)){if(t===this){var n=r();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():h.settlePromises(this),this._dereferenceTrace())}},C.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return h.fatalError(t,l.isNode);(65535&e)>0?h.settlePromises(this):this._ensurePossibleRejectionHandled()}},C.prototype._fulfillPromises=function(t,e){for(var n=1;n0){if(0!=(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},C.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},C.defer=C.pending=function(){return k.deprecated("Promise.defer","new Promise"),{promise:new C(g),resolve:M,reject:I}},l.notEnumerableProp(C,"_makeSelfResolutionError",r),e("./method")(C,g,y,a,k),e("./bind")(C,g,y,k),e("./cancel")(C,w,a,k),e("./direct_resolve")(C),e("./synchronous_inspection")(C),e("./join")(C,w,y,g,h,s),C.Promise=C,C.version="3.5.2",e("./map.js")(C,w,a,y,g,k),e("./call_get.js")(C),e("./using.js")(C,a,y,x,g,k),e("./timers.js")(C,g,k),e("./generators.js")(C,a,g,y,o,k),e("./nodeify.js")(C),e("./promisify.js")(C,g),e("./props.js")(C,w,y,a),e("./race.js")(C,g,y,a),e("./reduce.js")(C,w,a,y,g,k),e("./settle.js")(C,w,k),e("./some.js")(C,w,a),e("./filter.js")(C,g),e("./each.js")(C,g),e("./any.js")(C),l.toFastProperties(C),l.toFastProperties(C.prototype),R({a:1}),R({b:2}),R({c:3}),R(1),R(function(){}),R(void 0),R(!1),R(new C(g)),k.setBounds(f.firstLineError,l.lastLineError),C}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a){var o=t("./util");o.isArray;function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return o.inherits(s,a),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function t(n,a){var s=r(this._values,this._promise);if(s instanceof e){var u=(s=s._target())._bitField;if(this._values=s,0==(50397184&u))return this._promise._setAsyncGuaranteed(),s._then(t,this._reject,void 0,this,a);if(0==(33554432&u))return 0!=(16777216&u)?this._reject(s._reason()):this._cancel();s=s._value()}if(null!==(s=o.asArray(s)))0!==s.length?this._iterate(s):-5===a?this._resolveEmptyArray():this._resolve(function(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}(a));else{var l=i("expecting an array or an iterable object but got "+o.classString(s)).reason();this._promise._rejectCallback(l,!1)}},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,a=!1,o=null,s=0;s=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n=this._length){var n;if(this._isMap)n=function(t){for(var e=new a,n=t.length/2|0,r=0;r>1},e.prototype.props=function(){return f(this)},e.props=function(t){return f(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t){this._capacity=t,this._length=0,this._front=0}r.prototype._willBeOverCapacity=function(t){return this._capacity=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseFulfilled=function(t,e){var n=new i;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},a.prototype._promiseRejected=function(t,e){var n=new i;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new a(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){var i=t("./util"),a=t("./errors").RangeError,o=t("./errors").AggregateError,s=i.isArray,u={};function l(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function c(t,e){if((0|e)!==e||e<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new l(t),i=n.promise();return n.setHowMany(e),n.init(),i}i.inherits(l,n),l.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var t=s(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},l.prototype.init=function(){this._initialized=!0,this._init()},l.prototype.setUnwrap=function(){this._unwrap=!0},l.prototype.howMany=function(){return this._howMany},l.prototype.setHowMany=function(t){this._howMany=t},l.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},l.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},l.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},l.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new o,e=this.length();e0?this._reject(t):this._cancel(),!0}return!1},l.prototype._fulfilled=function(){return this._totalResolved},l.prototype._rejected=function(){return this._values.length-this.length()},l.prototype._addRejected=function(t){this._values.push(t)},l.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},l.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},l.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},l.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return c(t,e)},e.prototype.some=function(t){return c(this,t)},e._SomePromiseArray=l}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},a=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},o=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},s=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return o.call(this._target())},t.prototype.isRejected=function(){return a.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){var r=t("./util"),i=r.errorObj,a=r.isObject;var o={}.hasOwnProperty;return function(t,s){if(a(t)){if(t instanceof e)return t;var u=function(t){try{return function(t){return t.then}(t)}catch(t){return i.e=t,i}}(t);if(u===i){s&&s._pushContext();var l=e.reject(u.e);return s&&s._popContext(),l}if("function"==typeof u)return function(t){try{return o.call(t,"_promise0")}catch(t){return!1}}(t)?(l=new e(n),t._then(l._fulfill,l._reject,void 0,l,null),l):function(t,a,o){var s=new e(n),u=s;o&&o._pushContext(),s._captureStackTrace(),o&&o._popContext();var l=!0,c=r.tryCatch(a).call(t,function(t){s&&(s._resolveCallback(t),s=null)},function(t){s&&(s._rejectCallback(t,l,!0),s=null)});return l=!1,s&&c===i&&(s._rejectCallback(c.e,!0,!0),s=null),u}(t,u,s)}return t}}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){var i=t("./util"),a=e.TimeoutError;function o(t){this.handle=t}o.prototype._resultCancelled=function(){clearTimeout(this.handle)};var s=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,i){var a,u;return void 0!==i?(a=e.resolve(i)._then(s,null,null,t,void 0),r.cancellation()&&i instanceof e&&a._setOnCancel(i)):(a=new e(n),u=setTimeout(function(){a._fulfill()},+t),r.cancellation()&&a._setOnCancel(new o(u)),a._captureStackTrace()),a._setAsyncGuaranteed(),a};e.prototype.delay=function(t){return u(t,this)};function l(t){return clearTimeout(this.handle),t}function c(t){throw clearTimeout(this.handle),t}e.prototype.timeout=function(t,e){var n,s;t=+t;var u=new o(setTimeout(function(){n.isPending()&&function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new a("operation timed out"):new a(e),i.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()}(n,e,s)},t));return r.cancellation()?(s=this.then(),(n=s._then(l,c,void 0,u,void 0))._setOnCancel(u)):n=this._then(l,c,void 0,u,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a,o){var s=t("./util"),u=t("./errors").TypeError,l=t("./util").inherits,c=s.errorObj,f=s.tryCatch,h={};function p(t){setTimeout(function(){throw t},0)}function d(t,n){var i=0,o=t.length,s=new e(a);return function a(){if(i>=o)return s._fulfill();var u=function(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}(t[i++]);if(u instanceof e&&u._isDisposable()){try{u=r(u._getDisposer().tryDispose(n),t.promise)}catch(t){return p(t)}if(u instanceof e)return u._then(a,p,null,null,null)}a()}(),s}function v(t,e,n){this._data=t,this._promise=e,this._context=n}function g(t,e,n){this.constructor$(t,e,n)}function m(t){return v.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function _(t){this.length=t,this.promise=null,this[t-1]=null}v.prototype.data=function(){return this._data},v.prototype.promise=function(){return this._promise},v.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():h},v.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==h?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},v.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},l(g,v),g.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},_.prototype._resultCancelled=function(){for(var t=this.length,n=0;n0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new g(t,this,i());throw new u}}},{"./errors":12,"./util":36}],36:[function(e,n,i){"use strict";var a=e("./es5"),o="undefined"==typeof navigator,s={e:{}},u,l="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:void 0!==this?this:null;function c(){try{var t=u;return u=null,t.apply(this,arguments)}catch(t){return s.e=t,s}}function f(t){return u=t,c}var h=function(t,e){var n={}.hasOwnProperty;function r(){for(var r in this.constructor=t,this.constructor$=e,e.prototype)n.call(e.prototype,r)&&"$"!==r.charAt(r.length-1)&&(this[r+"$"]=e.prototype[r])}return r.prototype=e.prototype,t.prototype=new r,t.prototype};function p(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function d(t){return"function"==typeof t||"object"==typeof t&&null!==t}function v(t){return p(t)?new Error(T(t)):t}function g(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;n1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=b.test(t+"")&&a.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function k(t){function e(){}e.prototype=t;var n=new e;function r(){return typeof n.foo}return r(),r(),t}var E=/^[a-z$_][a-z$_0-9]*$/i;function S(t){return E.test(t)}function j(t,e,n){for(var r=new Array(t),i=0;i10||V[0]>0),q.isNode&&q.toFastProperties(t);try{throw new Error}catch(t){q.lastLineError=t}n.exports=q},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{_process:117,timers:142}],4:[function(t,e,n){},{}],5:[function(t,e,n){"use strict";var r=t("base64-js"),i=t("ieee754");n.Buffer=s,n.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},n.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError("Invalid typed array length");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(t)}return u(t,e,n)}function u(t,e,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return U(t)?function(t,e,n){if(e<0||t.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(z(t)||U(t))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return O(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return D(t).length;default:if(r)return O(t).length;e=(""+e).toLowerCase(),r=!0}}function d(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=s.from(e,r)),s.isBuffer(e))return 0===e.length?-1:g(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):g(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,n,r,i){var a,o=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;o=2,s/=2,u/=2,n/=2}function l(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=n;as&&(n=s-u),a=n;a>=0;a--){for(var f=!0,h=0;hi&&(r=i):r=i;var a=e.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(e,t.length-n),t,n,r)}function k(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function E(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(u=(15&l)<<12|(63&a)<<6|63&o)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(t){var e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,n);case"utf8":case"utf-8":return E(this,e,n);case"ascii":return j(this,e,n);case"latin1":case"binary":return T(this,e,n);case"base64":return k(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=n.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},s.prototype.compare=function(t,e,n,r,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var a=i-r,o=n-e,u=Math.min(a,o),l=this.slice(r,i),c=t.slice(e,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return m(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":return y(this,t,e,n);case"latin1":case"binary":return w(this,t,e,n);case"base64":return b(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function j(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",a=e;an)throw new RangeError("Trying to access beyond buffer length")}function I(t,e,n,r,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function R(t,e,n,r,i,a){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(t,e,n,r,a){return e=+e,n>>>=0,a||R(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,a){return e=+e,n>>>=0,a||R(t,0,n,8),i.write(t,e,n,r,52,8),n+8}s.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t],i=1,a=0;++a>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},s.prototype.readUInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*e)),r},s.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||M(t,e,this.length);for(var r=e,i=1,a=this[t+--r];r>0&&(i*=256);)a+=this[t+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||M(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(t,e){t>>>=0,e||M(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||M(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||M(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e>>>=0,n>>>=0,r)||I(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,n>>>=0,r)||I(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+n},s.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,t,e,n,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+n},s.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,t,e,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+n},s.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,n){return L(this,t,e,!0,n)},s.prototype.writeFloatBE=function(t,e,n){return L(this,t,e,!1,n)},s.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},s.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},s.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(a<1e3)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(a=e;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(e-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;a.push(n)}else if(n<2048){if((e-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function D(t){return r.toByteArray(function(t){if((t=t.trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function U(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function z(t){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function q(t){return t!=t}},{"base64-js":1,ieee754:60}],6:[function(t,e,n){(function(n){var r=t("tty"),i=t("./lib/encode"),a=t("stream").Stream,o=e.exports=function(){var t=null;function e(e){if(t)throw new Error("multiple inputs specified");t=e}var i=null;function a(t){if(i)throw new Error("multiple outputs specified");i=t}for(var o=0;o0&&this.down(e),t>0?this.right(t):t<0&&this.left(-t),this},s.prototype.up=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"A")),this},s.prototype.down=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"B")),this},s.prototype.right=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"C")),this},s.prototype.left=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"D")),this},s.prototype.column=function(t){return this.write(i("["+Math.floor(t)+"G")),this},s.prototype.push=function(t){return this.write(i(t?"7":"[s")),this},s.prototype.pop=function(t){return this.write(i(t?"8":"[u")),this},s.prototype.erase=function(t){return"end"===t||"$"===t?this.write(i("[K")):"start"===t||"^"===t?this.write(i("[1K")):"line"===t?this.write(i("[2K")):"down"===t?this.write(i("[J")):"up"===t?this.write(i("[1J")):"screen"===t?this.write(i("[1J")):this.emit("error",new Error("Unknown erase type: "+t)),this},s.prototype.display=function(t){var e={reset:0,bright:1,dim:2,underscore:4,blink:5,reverse:7,hidden:8}[t];return void 0===e&&this.emit("error",new Error("Unknown attribute: "+t)),this.write(i("["+e+"m")),this},s.prototype.foreground=function(t){if("number"==typeof t)(t<0||t>=256)&&this.emit("error",new Error("Color out of range: "+t)),this.write(i("[38;5;"+t+"m"));else{var e={black:30,red:31,green:32,yellow:33,blue:34,magenta:35,cyan:36,white:37}[t.toLowerCase()];e||this.emit("error",new Error("Unknown color: "+t)),this.write(i("["+e+"m"))}return this},s.prototype.background=function(t){if("number"==typeof t)(t<0||t>=256)&&this.emit("error",new Error("Color out of range: "+t)),this.write(i("[48;5;"+t+"m"));else{var e={black:40,red:41,green:42,yellow:43,blue:44,magenta:45,cyan:46,white:47}[t.toLowerCase()];e||this.emit("error",new Error("Unknown color: "+t)),this.write(i("["+e+"m"))}return this},s.prototype.cursor=function(t){return this.write(i(t?"[?25h":"[?25l")),this};var u=o.extractCodes=function(t){for(var e=[],n=-1,r=0;r=0&&e.push(t.slice(n,r)),n=r):n>=0&&r===t.length-1&&e.push(t.slice(n));return e}}).call(this,t("_process"))},{"./lib/encode":7,_process:117,stream:139,tty:143}],7:[function(t,e,n){(function(t){var n=(e.exports=function(e){return new t([27].concat(function t(e){return"string"==typeof e?e.split("").map(n):Array.isArray(e)?e.reduce(function(e,n){return e.concat(t(n))},[]):void 0}(e)))}).ord=function(t){return t.charCodeAt(0)}}).call(this,t("buffer").Buffer)},{buffer:5}],8:[function(t,e,n){(function(n){"use strict";var r=t("readable-stream").Readable,i=t("util");function a(t,e){if(!(this instanceof a))return new a(t,e);r.call(this,e),null!==t&&void 0!==t||(t=String(t)),this._obj=t}e.exports=a,i.inherits(a,r),a.prototype._read=function(t){var e=this._obj;"string"==typeof e?this.push(new n(e)):n.isBuffer(e)?this.push(e):this.push(new n(JSON.stringify(e))),this.push(null)}}).call(this,t("buffer").Buffer)},{buffer:5,"readable-stream":14,util:150}],9:[function(t,e,n){(function(n){e.exports=s;var r=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e},i=t("core-util-is");i.inherits=t("inherits");var a=t("./_stream_readable"),o=t("./_stream_writable");function s(t){if(!(this instanceof s))return new s(t);a.call(this,t),o.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||n.nextTick(this.end.bind(this))}i.inherits(s,a),function(t,e){for(var n=0,r=t.length;n0?d(t):w(t)}(t,e);else if(e.objectMode||r&&r.length>0)if(e.ended&&!o){var u=new Error("stream.push() after EOF");t.emit("error",u)}else if(e.endEmitted&&o){u=new Error("stream.unshift() after end event");t.emit("error",u)}else!e.decoder||o||a||(r=e.decoder.write(r)),e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):(e.reading=!1,e.buffer.push(r)),e.needReadable&&d(t),function(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(function(){!function(t,e){var n=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.lengthe.highWaterMark&&(e.highWaterMark=function(t){if(t>=h)t=h;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function d(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,e.sync?n.nextTick(function(){v(t)}):v(t))}function v(t){t.emit("readable")}function g(t){var e,n=t._readableState;function r(t,r,i){!1===t.write(e)&&n.awaitDrain++}for(n.awaitDrain=0;n.pipesCount&&null!==(e=t.read());)if(1===n.pipesCount?r(n.pipes):b(n.pipes,r),t.emit("data",e),n.awaitDrain>0)return;if(0===n.pipesCount)return n.flowing=!1,void(a.listenerCount(t,"data")>0&&_(t));n.ranOut=!0}function m(){this._readableState.ranOut&&(this._readableState.ranOut=!1,g(this))}function _(t,e){if(t._readableState.flowing)throw new Error("Cannot switch to old mode now.");var r=e||!1,i=!1;t.readable=!0,t.pipe=s.prototype.pipe,t.on=t.addListener=s.prototype.on,t.on("readable",function(){var e;for(i=!0;!r&&null!==(e=t.read());)t.emit("data",e);null===e&&(i=!1,t._readableState.needReadable=!0)}),t.pause=function(){r=!0,this.emit("pause")},t.resume=function(){r=!1,i?n.nextTick(function(){t.emit("readable")}):this.read(0),this.emit("resume")},t.emit("readable")}function y(t,e){var n,r=e.buffer,a=e.length,o=!!e.decoder,s=!!e.objectMode;if(0===r.length)return null;if(0===a)n=null;else if(s)n=r.shift();else if(!t||t>=a)n=o?r.join(""):i.concat(r,a),r.length=0;else{if(t0)throw new Error("endReadable called on non-empty stream");!e.endEmitted&&e.calledRead&&(e.ended=!0,n.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}function b(t,e){for(var n=0,r=t.length;n0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d(this),null;if(0===(t=p(t,e))&&e.ended)return n=null,e.length>0&&e.decoder&&(n=y(t,e),e.length-=n.length),0===e.length&&w(this),n;var i=e.needReadable;return e.length-t<=e.highWaterMark&&(i=!0),(e.ended||e.reading)&&(i=!1),i&&(e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1),i&&!e.reading&&(t=p(r,e)),null===(n=t>0?y(t,e):null)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),e.ended&&!e.endEmitted&&0===e.length&&w(this),n},c.prototype._read=function(t){this.emit("error",new Error("not implemented"))},c.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1;var s=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?l:f;function u(t){t===i&&f()}function l(){t.end()}o.endEmitted?n.nextTick(s):i.once("end",s),t.on("unpipe",u);var c=function(t){return function(){var e=t._readableState;e.awaitDrain--,0===e.awaitDrain&&g(t)}}(i);function f(){t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",h),t.removeListener("unpipe",u),i.removeListener("end",l),i.removeListener("end",f),t._writableState&&!t._writableState.needDrain||c()}function h(e){v(),t.removeListener("error",h),0===a.listenerCount(t,"error")&&t.emit("error",e)}function p(){t.removeListener("finish",d),v()}function d(){t.removeListener("close",p),v()}function v(){i.unpipe(t)}return t.on("drain",c),t._events&&t._events.error?r(t._events.error)?t._events.error.unshift(h):t._events.error=[h,t._events.error]:t.on("error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",i),o.flowing||(this.on("readable",m),o.flowing=!0,n.nextTick(function(){g(i)})),t},c.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,this.removeListener("readable",m),e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,this.removeListener("readable",m),e.flowing=!1;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===a)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===a){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===a){if(e.shapeArgs.push(i),in.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>n.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>n.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,r(e)}},{"./lib/thunk.js":18}],17:[function(t,e,n){"use strict";var r=t("uniq");function i(t,e,n){var r,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,u=[],l=[],c=0,f=0;for(r=0;r0&&u.push("var "+l.join(",")),r=a-1;r>=0;--r)c=t[r],u.push(["for(i",r,"=0;i",r,"0&&u.push(["index[",f,"]-=s",f].join("")),u.push(["++index[",c,"]"].join(""))),u.push("}")}return u.join("\n")}function a(t,e,n){for(var r=t.body,i=[],a=[],o=0;o0&&_.push("shape=SS.slice(0)"),t.indexArgs.length>0){var y=new Array(n);for(u=0;u0&&m.push("var "+_.join(",")),u=0;u3&&m.push(a(t.pre,t,s));var k=a(t.body,t,s),E=function(t){for(var e=0,n=t[0].length;e0,l=[],c=0;c0;){"].join("")),l.push(["if(j",c,"<",s,"){"].join("")),l.push(["s",e[c],"=j",c].join("")),l.push(["j",c,"=0"].join("")),l.push(["}else{s",e[c],"=",s].join("")),l.push(["j",c,"-=",s,"}"].join("")),u&&l.push(["index[",e[c],"]=j",c].join(""));for(c=0;c3&&m.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var S=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",E,function(t){for(var e=new Array(t.length),n=!0,r=0;r0&&(n=n&&e[r]===e[r-1])}return n?e[0]:e.join("")}(s)].join("");return new Function(["function ",S,"(",g.join(","),"){",m.join("\n"),"} return ",S].join(""))()}},{uniq:146}],18:[function(t,e,n){"use strict";var r=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],n=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],u=[],l=[],c=0;c0&&(u.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),l.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+u.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),c=0;c0)return function(t,e){var n,r;for(n=new Array(t),r=0;r 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],25:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat correctionRadius = 0.5;\n\tfloat distance = sqrt(vPosition.x * vPosition.x + vPosition.y * vPosition.y) / correctionRadius;\n\tfloat theta = 1.0;\n\tif(distance != 0.0){\n\t\ttheta = atan(distance);\n\t}\n\tvec2 vMapping = theta * vPosition.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\t\t\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],26:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec3 uLensS;\nuniform vec2 uLensF;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord * vec2(1.0, -1.0)/ 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat scale = uLensS.z;\n\tvec3 vPos = vPosition;\n\tfloat Fx = uLensF.x;\n\tfloat Fy = uLensF.y;\n\tvec2 vMapping = vPos.xy;\n\tvMapping.x = vMapping.x + ((pow(vPos.y, 2.0)/scale)*vPos.x/scale)*-Fx;\n\tvMapping.y = vMapping.y + ((pow(vPos.x, 2.0)/scale)*vPos.y/scale)*-Fy;\n\tvMapping = vMapping * uLensS.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping/scale);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t}\n\tgl_FragColor = texture;\n}\n"},{}],27:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TODO insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],28:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TOD insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],29:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nattribute vec3 aVertexPosition;\nattribute vec2 aTextureCoord;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvoid main(void){\n\tvPosition = aVertexPosition;\n\tvTextureCoord = aTextureCoord;\n\tgl_Position = vec4(vPosition,1.0);\n}\n"},{}],30:[function(t,e,n){(function(n,r){"use strict";var i=t("path"),a=t("ndarray"),o=t("omggif").GifReader,s=(t("ndarray-pack"),t("through"),t("data-uri-to-buffer"));function u(t,e){var n;try{n=new o(t)}catch(t){return void e(t)}if(n.numFrames()>0){var r=[n.numFrames(),n.height,n.width,4],i=new Uint8Array(r[0]*r[1]*r[2]*r[3]),s=a(i,r);try{for(var u=0;u=0&&(this.dispose=t)},u.prototype.setRepeat=function(t){this.repeat=t},u.prototype.setTransparent=function(t){this.transparent=t},u.prototype.analyzeImage=function(t){this.setImagePixels(this.removeAlphaChannel(t)),this.analyzePixels()},u.prototype.writeImageInfo=function(){this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.writePalette(),this.firstFrame=!1},u.prototype.outputImage=function(){this.writePixels()},u.prototype.addFrame=function(t){this.emit("frame#start"),this.analyzeImage(t),this.writeImageInfo(),this.outputImage(),this.emit("frame#stop")},u.prototype.finish=function(){this.emit("finish#start"),this.writeByte(59),this.emit("finish#stop")},u.prototype.setQuality=function(t){t<1&&(t=1),this.sample=t},u.prototype.writeHeader=function(){this.emit("writeHeader#start"),this.writeUTFBytes("GIF89a"),this.emit("writeHeader#stop")},u.prototype.analyzePixels=function(){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);var e=new a(this.pixels,this.sample);e.buildColormap(),this.colorTab=e.getColormap();for(var n=0,r=0;r>16,n=(65280&t)>>8,r=255&t,i=0,a=16777216,o=this.colorTab.length,s=0;s=0&&(e=7&dispose),e<<=2,this.writeByte(0|e|t),this.writeShort(this.delay),this.writeByte(this.transIndex),this.writeByte(0)},u.prototype.writeImageDesc=function(){this.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame?this.writeByte(0):this.writeByte(128|this.palSize)},u.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.writeByte(240|this.palSize),this.writeByte(0),this.writeByte(0)},u.prototype.writeNetscapeExt=function(){this.writeByte(33),this.writeByte(255),this.writeByte(11),this.writeUTFBytes("NETSCAPE2.0"),this.writeByte(3),this.writeByte(1),this.writeShort(this.repeat),this.writeByte(0)},u.prototype.writePalette=function(){this.writeBytes(this.colorTab);for(var t=768-this.colorTab.length,e=0;e>8&255)},u.prototype.writePixels=function(){new o(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this)},u.prototype.stream=function(){return this},u.ByteCapacitor=s,e.exports=u}).call(this,t("buffer").Buffer)},{"./LZWEncoder.js":33,"./TypedNeuQuant.js":34,assert:41,buffer:5,events:48,"readable-stream":40,util:150}],33:[function(t,e,n){var r=-1,i=12,a=5003,o=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];e.exports=function(t,e,n,s){var u,l,c,f,h,p,d,v,g,m=Math.max(2,s),_=new Uint8Array(256),y=new Int32Array(a),w=new Int32Array(a),b=0,x=0,k=!1;function E(t,e){_[l++]=t,l>=254&&T(e)}function S(t){j(a),x=v+2,k=!0,M(v,t)}function j(t){for(var e=0;e0&&(t.writeByte(l),t.writeBytes(_,0,l),l=0)}function A(t){return(1<0?u|=t<=8;)E(255&u,e),u>>=8,b-=8;if((x>c||k)&&(k?(c=A(p=d),k=!1):c=++p==i?1<0;)E(255&u,e),u>>=8,b-=8;T(e)}}this.encode=function(n){n.writeByte(m),f=t*e,h=0,function(t,e){var n,o,s,u,f,h,m;for(k=!1,c=A(p=d=t),g=1+(v=1<=0){f=h-s,0===s&&(f=1);do{if((s-=f)<0&&(s+=h),y[s]===n){u=w[s];continue t}}while(y[s]>=0)}M(u,e),u=o,x<1<>c,h=u<>3)*(1<l;)u=T[p++],fl&&((s=n[h--])[0]-=u*(s[0]-r)/_,s[1]-=u*(s[1]-a)/_,s[2]-=u*(s[2]-o)/_)}function M(t,e,r){var a,u,p,d,v,g=~(1<<31),m=g,_=-1,y=_;for(a=0;a>s-o))>c,j[a]-=v,S[a]+=v<>3),t=0;t>p;for(j<=1&&(j=0),n=0;n=c&&(I-=c),n++,0===_&&(_=1),n%_==0)for(E-=E/f,(j=(S-=S/v)>>p)<=1&&(j=0),l=0;l>=o,n[t][1]>>=o,n[t][2]>>=o,n[t][3]=t}(),function(){var t,e,r,o,s,u,l=0,c=0;for(t=0;t>1,e=l+1;e>1,e=l+1;e<256;e++)E[e]=a}()},this.getColormap=function(){for(var t=[],e=[],r=0;r=0;)c=u?c=i:(c++,s<0&&(s=-s),(a=o[0]-t)<0&&(a=-a),(s+=a)=0&&((s=e-(o=n[f])[1])>=u?f=-1:(f--,s<0&&(s=-s),(a=o[0]-t)<0&&(a=-a),(s+=a)0)if(e.ended&&!a){var s=new Error("stream.push() after EOF");t.emit("error",s)}else if(e.endEmitted&&a){s=new Error("stream.unshift() after end event");t.emit("error",s)}else!e.decoder||a||i||(r=e.decoder.write(r)),a||(e.reading=!1),e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,a?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&v(t)),function(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(function(){!function(t,e){var n=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.lengthe.highWaterMark&&(e.highWaterMark=function(t){if(t>=p)t=p;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function v(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(function(){g(t)}):g(t))}function g(t){l("emit readable"),t.emit("readable"),m(t)}function m(t){var e=t._readableState;if(l("flow",e.flowing),e.flowing)do{var n=t.read()}while(null!==n&&e.flowing)}function _(t,e){var n,r=e.buffer,a=e.length,o=!!e.decoder,s=!!e.objectMode;if(0===r.length)return null;if(0===a)n=null;else if(s)n=r.shift();else if(!t||t>=a)n=o?r.join(""):i.concat(r,a),r.length=0;else{if(t0)throw new Error("endReadable called on non-empty stream");e.endEmitted||(e.ended=!0,n.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}f.prototype.read=function(t){l("read",t);var e=this._readableState,n=t;if((!u.isNumber(t)||t>0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?y(this):v(this),null;if(0===(t=d(t,e))&&e.ended)return 0===e.length&&y(this),null;var r,i=e.needReadable;return l("need readable",i),(0===e.length||e.length-t0?_(t,e):null,u.isNull(r)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),n!==t&&e.ended&&0===e.length&&y(this),u.isNull(r)||this.emit("data",r),r},f.prototype._read=function(t){this.emit("error",new Error("not implemented"))},f.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,l("pipe count=%d opts=%j",o.pipesCount,e);var s=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:h;function u(t){l("onunpipe"),t===i&&h()}function c(){l("onend"),t.end()}o.endEmitted?n.nextTick(s):i.once("end",s),t.on("unpipe",u);var f=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a.listenerCount(t,"data")&&(e.flowing=!0,m(t))}}(i);function h(){l("cleanup"),t.removeListener("close",v),t.removeListener("finish",g),t.removeListener("drain",f),t.removeListener("error",d),t.removeListener("unpipe",u),i.removeListener("end",c),i.removeListener("end",h),i.removeListener("data",p),!o.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata"),!1===t.write(e)&&(l("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,i.pause())}function d(e){l("onerror",e),_(),t.removeListener("error",d),0===a.listenerCount(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",g),_()}function g(){l("onfinish"),t.removeListener("close",v),_()}function _(){l("unpipe"),i.unpipe(t)}return t.on("drain",f),i.on("data",p),t._events&&t._events.error?r(t._events.error)?t._events.error.unshift(d):t._events.error=[d,t._events.error]:t.on("error",d),t.once("close",v),t.once("finish",g),t.emit("pipe",i),o.flowing||(l("pipe resume"),i.resume()),t},f.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i1){for(var n=[],r=0;r=0;l--)if(c[l]!==f[l])return!1;for(l=c.length-1;l>=0;l--)if(u=c[l],!_(t[u],e[u],n,r))return!1;return!0}(t,e,n,o))}return n?t===e:t==e}function y(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function b(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&a.isError(i),u=!t&&i&&!n;if((s&&o&&w(i,n)||u)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!w(i,n)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(v((e=this).actual),128)+" "+e.operator+" "+d(v(e.expected),128),this.generatedMessage=!0);var n=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,a=p(n),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=m,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal)},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual)},f.deepEqual=function(t,e,n){_(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,n){_(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,n){_(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,n,r){_(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual)},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual)},f.throws=function(t,e,n){b(!0,t,e,n)},f.doesNotThrow=function(t,e,n){b(!1,t,e,n)},f.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var n in t)o.call(t,n)&&e.push(n);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":44}],42:[function(t,e,n){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},{}],43:[function(t,e,n){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],44:[function(t,e,n){(function(e,r){var i=/%[sdj%]/g;n.format=function(t){if(!m(t)){for(var e=[],n=0;n=a)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}}),u=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(e)?r.showHidden=e:e&&n._extend(r,e),_(r.showHidden)&&(r.showHidden=!1),_(r.depth)&&(r.depth=2),_(r.colors)&&(r.colors=!1),_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),c(r,t,r.depth)}function u(t,e){var n=s.styles[e];return n?"["+s.colors[n][0]+"m"+t+"["+s.colors[n][1]+"m":t}function l(t,e){return t}function c(t,e,r){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==n.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(r,t);return m(i)||(i=c(t,i,r)),i}var a=function(t,e){if(_(e))return t.stylize("undefined","undefined");if(m(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(g(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,n){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),x(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(k(e)){var u=e.name?": "+e.name:"";return t.stylize("[Function"+u+"]","special")}if(y(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(b(e))return t.stylize(Date.prototype.toString.call(e),"date");if(x(e))return f(e)}var l,w="",E=!1,S=["{","}"];(p(e)&&(E=!0,S=["[","]"]),k(e))&&(w=" [Function"+(e.name?": "+e.name:"")+"]");return y(e)&&(w=" "+RegExp.prototype.toString.call(e)),b(e)&&(w=" "+Date.prototype.toUTCString.call(e)),x(e)&&(w=" "+f(e)),0!==o.length||E&&0!=e.length?r<0?y(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),l=E?function(t,e,n,r,i){for(var a=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(l,w,S)):S[0]+w+S[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,n,r,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),T(r,i)||(o="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=v(n)?c(t,u.value,null):c(t,u.value,n-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),_(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function v(t){return null===t}function g(t){return"number"==typeof t}function m(t){return"string"==typeof t}function _(t){return void 0===t}function y(t){return w(t)&&"[object RegExp]"===E(t)}function w(t){return"object"==typeof t&&null!==t}function b(t){return w(t)&&"[object Date]"===E(t)}function x(t){return w(t)&&("[object Error]"===E(t)||t instanceof Error)}function k(t){return"function"==typeof t}function E(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}n.debuglog=function(t){if(_(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var r=e.pid;o[t]=function(){var e=n.format.apply(n,arguments);console.error("%s %d: %s",t,r,e)}}else o[t]=function(){};return o[t]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=p,n.isBoolean=d,n.isNull=v,n.isNullOrUndefined=function(t){return null==t},n.isNumber=g,n.isString=m,n.isSymbol=function(t){return"symbol"==typeof t},n.isUndefined=_,n.isRegExp=y,n.isObject=w,n.isDate=b,n.isError=x,n.isFunction=k,n.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},n.isBuffer=t("./support/isBuffer");var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(t,e){return Object.prototype.hasOwnProperty.call(t,e)}n.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),j[t.getMonth()],e].join(" ")),n.format.apply(n,arguments))},n.inherits=t("inherits"),n._extend=function(t,e){if(!e||!w(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":43,_process:117,inherits:42}],45:[function(t,e,n){(function(e,r){"use strict";var i=t("assert"),a=t("pako/lib/zlib/zstream"),o=t("pako/lib/zlib/deflate.js"),s=t("pako/lib/zlib/inflate.js"),u=t("pako/lib/zlib/constants");for(var l in u)n[l]=u[l];n.NONE=0,n.DEFLATE=1,n.INFLATE=2,n.GZIP=3,n.GUNZIP=4,n.DEFLATERAW=5,n.INFLATERAW=6,n.UNZIP=7;function c(t){if("number"!=typeof t||tn.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}c.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=n.UNZIP),this.mode===n.DEFLATE||this.mode===n.GZIP||this.mode===n.DEFLATERAW?o.deflateEnd(this.strm):this.mode!==n.INFLATE&&this.mode!==n.GUNZIP&&this.mode!==n.INFLATERAW&&this.mode!==n.UNZIP||s.inflateEnd(this.strm),this.mode=n.NONE,this.dictionary=null)},c.prototype.write=function(t,e,n,r,i,a,o){return this._write(!0,t,e,n,r,i,a,o)},c.prototype.writeSync=function(t,e,n,r,i,a,o){return this._write(!1,t,e,n,r,i,a,o)},c.prototype._write=function(t,a,o,s,u,l,c,f){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==n.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===a,"must provide flush value"),this.write_in_progress=!0,a!==n.Z_NO_FLUSH&&a!==n.Z_PARTIAL_FLUSH&&a!==n.Z_SYNC_FLUSH&&a!==n.Z_FULL_FLUSH&&a!==n.Z_FINISH&&a!==n.Z_BLOCK)throw new Error("Invalid flush value");if(null==o&&(o=r.alloc(0),u=0,s=0),this.strm.avail_in=u,this.strm.input=o,this.strm.next_in=s,this.strm.avail_out=f,this.strm.output=l,this.strm.next_out=c,this.flush=a,!t)return this._process(),this._checkError()?this._afterSync():void 0;var h=this;return e.nextTick(function(){h._process(),h._after()}),this},c.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},c.prototype._process=function(){var t=null;switch(this.mode){case n.DEFLATE:case n.GZIP:case n.DEFLATERAW:this.err=o.deflate(this.strm,this.flush);break;case n.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=n.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=n.GUNZIP):this.mode=n.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case n.INFLATE:case n.GUNZIP:case n.INFLATERAW:for(this.err=s.inflate(this.strm,this.flush),this.err===n.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===n.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===n.Z_DATA_ERROR&&(this.err=n.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===n.GUNZIP&&this.err===n.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},c.prototype._checkError=function(){switch(this.err){case n.Z_OK:case n.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===n.Z_FINISH)return this._error("unexpected end of file"),!1;break;case n.Z_STREAM_END:break;case n.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},c.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},c.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},c.prototype.init=function(t,e,r,a,o){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(e>=-1&&e<=9,"invalid compression level"),i(r>=1&&r<=9,"invalid memlevel"),i(a===n.Z_FILTERED||a===n.Z_HUFFMAN_ONLY||a===n.Z_RLE||a===n.Z_FIXED||a===n.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(e,t,r,a,o),this._setDictionary()},c.prototype.params=function(){throw new Error("deflateParams Not supported")},c.prototype.reset=function(){this._reset(),this._setDictionary()},c.prototype._init=function(t,e,r,i,u){switch(this.level=t,this.windowBits=e,this.memLevel=r,this.strategy=i,this.flush=n.Z_NO_FLUSH,this.err=n.Z_OK,this.mode!==n.GZIP&&this.mode!==n.GUNZIP||(this.windowBits+=16),this.mode===n.UNZIP&&(this.windowBits+=32),this.mode!==n.DEFLATERAW&&this.mode!==n.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new a,this.mode){case n.DEFLATE:case n.GZIP:case n.DEFLATERAW:this.err=o.deflateInit2(this.strm,this.level,n.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case n.INFLATE:case n.GUNZIP:case n.INFLATERAW:case n.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==n.Z_OK&&this._error("Init error"),this.dictionary=u,this.write_in_progress=!1,this.init_done=!0},c.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=n.Z_OK,this.mode){case n.DEFLATE:case n.DEFLATERAW:this.err=o.deflateSetDictionary(this.strm,this.dictionary)}this.err!==n.Z_OK&&this._error("Failed to set dictionary")}},c.prototype._reset=function(){switch(this.err=n.Z_OK,this.mode){case n.DEFLATE:case n.DEFLATERAW:case n.GZIP:this.err=o.deflateReset(this.strm);break;case n.INFLATE:case n.INFLATERAW:case n.GUNZIP:this.err=s.inflateReset(this.strm)}this.err!==n.Z_OK&&this._error("Failed to reset stream")},n.Zlib=c}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,assert:41,buffer:5,"pako/lib/zlib/constants":51,"pako/lib/zlib/deflate.js":53,"pako/lib/zlib/inflate.js":55,"pako/lib/zlib/zstream":59}],46:[function(t,e,n){(function(e){"use strict";var r=t("buffer").Buffer,i=t("stream").Transform,a=t("./binding"),o=t("util"),s=t("assert").ok,u=t("buffer").kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+u.toString(16)+" bytes";a.Z_MIN_WINDOWBITS=8,a.Z_MAX_WINDOWBITS=15,a.Z_DEFAULT_WINDOWBITS=15,a.Z_MIN_CHUNK=64,a.Z_MAX_CHUNK=1/0,a.Z_DEFAULT_CHUNK=16384,a.Z_MIN_MEMLEVEL=1,a.Z_MAX_MEMLEVEL=9,a.Z_DEFAULT_MEMLEVEL=8,a.Z_MIN_LEVEL=-1,a.Z_MAX_LEVEL=9,a.Z_DEFAULT_LEVEL=a.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(a),f=0;f=u?o=new RangeError(l):e=r.concat(i,a),i=[],t.close(),n(o,e)}t.on("error",function(e){t.removeListener("end",s),t.removeListener("readable",o),n(e)}),t.on("end",s),t.end(e),o()}function _(t,e){if("string"==typeof e&&(e=r.from(e)),!r.isBuffer(e))throw new TypeError("Not a string or buffer");var n=t._finishFlushFlag;return t._processChunk(e,n)}function y(t){if(!(this instanceof y))return new y(t);T.call(this,t,a.DEFLATE)}function w(t){if(!(this instanceof w))return new w(t);T.call(this,t,a.INFLATE)}function b(t){if(!(this instanceof b))return new b(t);T.call(this,t,a.GZIP)}function x(t){if(!(this instanceof x))return new x(t);T.call(this,t,a.GUNZIP)}function k(t){if(!(this instanceof k))return new k(t);T.call(this,t,a.DEFLATERAW)}function E(t){if(!(this instanceof E))return new E(t);T.call(this,t,a.INFLATERAW)}function S(t){if(!(this instanceof S))return new S(t);T.call(this,t,a.UNZIP)}function j(t){return t===a.Z_NO_FLUSH||t===a.Z_PARTIAL_FLUSH||t===a.Z_SYNC_FLUSH||t===a.Z_FULL_FLUSH||t===a.Z_FINISH||t===a.Z_BLOCK}function T(t,e){var o=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||n.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!j(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!j(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||a.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:a.Z_FINISH,t.chunkSize&&(t.chunkSizen.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBitsn.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.leveln.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLeveln.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=n.Z_FILTERED&&t.strategy!=n.Z_HUFFMAN_ONLY&&t.strategy!=n.Z_RLE&&t.strategy!=n.Z_FIXED&&t.strategy!=n.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!r.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new a.Zlib(e);var s=this;this._hadError=!1,this._handle.onerror=function(t,e){A(s),s._hadError=!0;var r=new Error(t);r.errno=e,r.code=n.codes[e],s.emit("error",r)};var u=n.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(u=t.level);var l=n.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(l=t.strategy),this._handle.init(t.windowBits||n.Z_DEFAULT_WINDOWBITS,u,t.memLevel||n.Z_DEFAULT_MEMLEVEL,l,t.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=u,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!o._handle},configurable:!0,enumerable:!0})}function A(t,n){n&&e.nextTick(n),t._handle&&(t._handle.close(),t._handle=null)}function C(t){t.emit("close")}Object.defineProperty(n,"codes",{enumerable:!0,value:Object.freeze(p),writable:!1}),n.Deflate=y,n.Inflate=w,n.Gzip=b,n.Gunzip=x,n.DeflateRaw=k,n.InflateRaw=E,n.Unzip=S,n.createDeflate=function(t){return new y(t)},n.createInflate=function(t){return new w(t)},n.createDeflateRaw=function(t){return new k(t)},n.createInflateRaw=function(t){return new E(t)},n.createGzip=function(t){return new b(t)},n.createGunzip=function(t){return new x(t)},n.createUnzip=function(t){return new S(t)},n.deflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new y(e),t,n)},n.deflateSync=function(t,e){return _(new y(e),t)},n.gzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new b(e),t,n)},n.gzipSync=function(t,e){return _(new b(e),t)},n.deflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new k(e),t,n)},n.deflateRawSync=function(t,e){return _(new k(e),t)},n.unzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new S(e),t,n)},n.unzipSync=function(t,e){return _(new S(e),t)},n.inflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new w(e),t,n)},n.inflateSync=function(t,e){return _(new w(e),t)},n.gunzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new x(e),t,n)},n.gunzipSync=function(t,e){return _(new x(e),t)},n.inflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new E(e),t,n)},n.inflateRawSync=function(t,e){return _(new E(e),t)},o.inherits(T,i),T.prototype.params=function(t,r,i){if(tn.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+t);if(r!=n.Z_FILTERED&&r!=n.Z_HUFFMAN_ONLY&&r!=n.Z_RLE&&r!=n.Z_FIXED&&r!=n.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==t||this._strategy!==r){var o=this;this.flush(a.Z_SYNC_FLUSH,function(){s(o._handle,"zlib binding closed"),o._handle.params(t,r),o._hadError||(o._level=t,o._strategy=r,i&&i())})}else e.nextTick(i)},T.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},T.prototype._flush=function(t){this._transform(r.alloc(0),"",t)},T.prototype.flush=function(t,n){var i=this,o=this._writableState;("function"==typeof t||void 0===t&&!n)&&(n=t,t=a.Z_FULL_FLUSH),o.ended?n&&e.nextTick(n):o.ending?n&&this.once("end",n):o.needDrain?n&&this.once("drain",function(){return i.flush(t,n)}):(this._flushFlag=t,this.write(r.alloc(0),"",n))},T.prototype.close=function(t){A(this,t),e.nextTick(C,this)},T.prototype._transform=function(t,e,n){var i,o=this._writableState,s=(o.ending||o.ended)&&(!t||o.length===t.length);return null===t||r.isBuffer(t)?this._handle?(s?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=o.length&&(this._flushFlag=this._opts.flush||a.Z_NO_FLUSH)),void this._processChunk(t,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},T.prototype._processChunk=function(t,e,n){var i=t&&t.length,a=this._chunkSize-this._offset,o=0,c=this,f="function"==typeof n;if(!f){var h,p=[],d=0;this.on("error",function(t){h=t}),s(this._handle,"zlib binding closed");do{var v=this._handle.writeSync(e,t,o,i,this._buffer,this._offset,a)}while(!this._hadError&&_(v[0],v[1]));if(this._hadError)throw h;if(d>=u)throw A(this),new RangeError(l);var g=r.concat(p,d);return A(this),g}s(this._handle,"zlib binding closed");var m=this._handle.write(e,t,o,i,this._buffer,this._offset,a);function _(u,l){if(this&&(this.buffer=null,this.callback=null),!c._hadError){var h=a-l;if(s(h>=0,"have should not go down"),h>0){var v=c._buffer.slice(c._offset,c._offset+h);c._offset+=h,f?c.push(v):(p.push(v),d+=v.length)}if((0===l||c._offset>=c._chunkSize)&&(a=c._chunkSize,c._offset=0,c._buffer=r.allocUnsafe(c._chunkSize)),0===l){if(o+=i-u,i=u,!f)return!0;var g=c._handle.write(e,t,o,i,c._buffer,c._offset,c._chunkSize);return g.callback=_,void(g.buffer=t)}if(!f)return!1;n()}}m.buffer=t,m.callback=_},o.inherits(y,T),o.inherits(w,T),o.inherits(b,T),o.inherits(x,T),o.inherits(k,T),o.inherits(E,T),o.inherits(S,T)}).call(this,t("_process"))},{"./binding":45,_process:117,assert:41,buffer:5,stream:139,util:150}],47:[function(t,e,n){arguments[4][4][0].apply(n,arguments)},{dup:4}],48:[function(t,e,n){var r=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=r(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,u=10;try{var l={};Object.defineProperty&&Object.defineProperty(l,"x",{value:0}),s=0===l.x}catch(t){s=!1}function c(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,n,i){var a,o,s;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),o=t._events),s=o[e]):(o=t._events=r(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),!s.warned&&(a=c(t))&&a>0&&s.length>a){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else s=o[e]=n,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=o[t]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),a=0;a=0;o--)if(n[o]===e||n[o].listener===e){s=n[o].listener,a=o;break}if(a<0)return this;0===a?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):v.call(t,e)},o.prototype.listenerCount=v,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],49:[function(t,e,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}n.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(t[r]=n[r])}}return t},n.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var a={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+r),i);else for(var a=0;a>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{a=a+(i=i+e[r++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0}},{}],51:[function(t,e,n){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],52:[function(t,e,n){"use strict";var r=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();e.exports=function(t,e,n,i){var a=r,o=i+n;t^=-1;for(var s=i;s>>8^a[255&(t^e[s])];return-1^t}},{}],53:[function(t,e,n){"use strict";var r,i=t("../utils/common"),a=t("./trees"),o=t("./adler32"),s=t("./crc32"),u=t("./messages"),l=0,c=1,f=3,h=4,p=5,d=0,v=1,g=-2,m=-3,_=-5,y=-1,w=1,b=2,x=3,k=4,E=0,S=2,j=8,T=9,A=15,C=8,M=286,I=30,R=19,L=2*M+1,B=15,F=3,P=258,O=P+F+1,D=32,N=42,U=69,z=73,q=91,V=103,G=113,H=666,W=1,Z=2,Y=3,X=4,$=3;function J(t,e){return t.msg=u[e],e}function Q(t){return(t<<1)-(t>4?9:0)}function K(t){for(var e=t.length;--e>=0;)t[e]=0}function tt(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(i.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function et(t,e){a._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,tt(t.strm)}function nt(t,e){t.pending_buf[t.pending++]=e}function rt(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function it(t,e){var n,r,i=t.max_chain_length,a=t.strstart,o=t.prev_length,s=t.nice_match,u=t.strstart>t.w_size-O?t.strstart-(t.w_size-O):0,l=t.window,c=t.w_mask,f=t.prev,h=t.strstart+P,p=l[a+o-1],d=l[a+o];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(l[(n=e)+o]===d&&l[n+o-1]===p&&l[n]===l[a]&&l[++n]===l[a+1]){a+=2,n++;do{}while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&ao){if(t.match_start=e,o=r,r>=s)break;p=l[a+o-1],d=l[a+o]}}}while((e=f[e&c])>u&&0!=--i);return o<=t.lookahead?o:t.lookahead}function at(t){var e,n,r,a,u,l,c,f,h,p,d=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=d+(d-O)){i.arraySet(t.window,t.window,d,d,0),t.match_start-=d,t.strstart-=d,t.block_start-=d,e=n=t.hash_size;do{r=t.head[--e],t.head[e]=r>=d?r-d:0}while(--n);e=n=d;do{r=t.prev[--e],t.prev[e]=r>=d?r-d:0}while(--n);a+=d}if(0===t.strm.avail_in)break;if(l=t.strm,c=t.window,f=t.strstart+t.lookahead,h=a,p=void 0,(p=l.avail_in)>h&&(p=h),n=0===p?0:(l.avail_in-=p,i.arraySet(c,l.input,l.next_in,p,f),1===l.state.wrap?l.adler=o(l.adler,c,p,f):2===l.state.wrap&&(l.adler=s(l.adler,c,p,f)),l.next_in+=p,l.total_in+=p,p),t.lookahead+=n,t.lookahead+t.insert>=F)for(u=t.strstart-t.insert,t.ins_h=t.window[u],t.ins_h=(t.ins_h<=F&&(t.ins_h=(t.ins_h<=F)if(r=a._tr_tally(t,t.strstart-t.match_start,t.match_length-F),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=F){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=F&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=F-1)),t.prev_length>=F&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-F,r=a._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-F),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<15&&(s=2,r-=16),a<1||a>T||n!==j||r<8||r>15||e<0||e>9||o<0||o>k)return J(t,g);8===r&&(r=9);var u=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=j,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*L),this.dyn_dtree=new i.Buf16(2*(2*I+1)),this.bl_tree=new i.Buf16(2*(2*R+1)),K(this.dyn_ltree),K(this.dyn_dtree),K(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(B+1),this.heap=new i.Buf16(2*M+1),K(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*M+1),K(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return t.state=u,u.strm=t,u.wrap=s,u.gzhead=null,u.w_bits=r,u.w_size=1<t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(at(t),0===t.lookahead&&e===l)return W;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,et(t,!1),0===t.strm.avail_out))return W;if(t.strstart-t.block_start>=t.w_size-O&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):(t.strstart>t.block_start&&(et(t,!1),t.strm.avail_out),W)}),new ut(4,4,8,4,ot),new ut(4,5,16,8,ot),new ut(4,6,32,32,ot),new ut(4,4,16,16,st),new ut(8,16,32,32,st),new ut(8,16,128,128,st),new ut(8,32,128,256,st),new ut(32,128,258,1024,st),new ut(32,258,258,4096,st)],n.deflateInit=function(t,e){return ft(t,e,j,A,C,E)},n.deflateInit2=ft,n.deflateReset=ct,n.deflateResetKeep=lt,n.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?g:(t.state.gzhead=e,d):g},n.deflate=function(t,e){var n,i,o,u;if(!t||!t.state||e>p||e<0)return t?J(t,g):g;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===H&&e!==h)return J(t,0===t.avail_out?_:g);if(i.strm=t,n=i.last_flush,i.last_flush=e,i.status===N)if(2===i.wrap)t.adler=0,nt(i,31),nt(i,139),nt(i,8),i.gzhead?(nt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),nt(i,255&i.gzhead.time),nt(i,i.gzhead.time>>8&255),nt(i,i.gzhead.time>>16&255),nt(i,i.gzhead.time>>24&255),nt(i,9===i.level?2:i.strategy>=b||i.level<2?4:0),nt(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(nt(i,255&i.gzhead.extra.length),nt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,9===i.level?2:i.strategy>=b||i.level<2?4:0),nt(i,$),i.status=G);else{var m=j+(i.w_bits-8<<4)<<8;m|=(i.strategy>=b||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(m|=D),m+=31-m%31,i.status=G,rt(i,m),0!==i.strstart&&(rt(i,t.adler>>>16),rt(i,65535&t.adler)),t.adler=1}if(i.status===U)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending!==i.pending_buf_size));)nt(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=z)}else i.status=z;if(i.status===z)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindexo&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===u&&(i.gzindex=0,i.status=q)}else i.status=q;if(i.status===q)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindexo&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===u&&(i.status=V)}else i.status=V;if(i.status===V&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&tt(t),i.pending+2<=i.pending_buf_size&&(nt(i,255&t.adler),nt(i,t.adler>>8&255),t.adler=0,i.status=G)):i.status=G),0!==i.pending){if(tt(t),0===t.avail_out)return i.last_flush=-1,d}else if(0===t.avail_in&&Q(e)<=Q(n)&&e!==h)return J(t,_);if(i.status===H&&0!==t.avail_in)return J(t,_);if(0!==t.avail_in||0!==i.lookahead||e!==l&&i.status!==H){var y=i.strategy===b?function(t,e){for(var n;;){if(0===t.lookahead&&(at(t),0===t.lookahead)){if(e===l)return W;break}if(t.match_length=0,n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:Z}(i,e):i.strategy===x?function(t,e){for(var n,r,i,o,s=t.window;;){if(t.lookahead<=P){if(at(t),t.lookahead<=P&&e===l)return W;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=F&&t.strstart>0&&(r=s[i=t.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i]){o=t.strstart+P;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=F?(n=a._tr_tally(t,1,t.match_length-F),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:Z}(i,e):r[i.level].func(i,e);if(y!==Y&&y!==X||(i.status=H),y===W||y===Y)return 0===t.avail_out&&(i.last_flush=-1),d;if(y===Z&&(e===c?a._tr_align(i):e!==p&&(a._tr_stored_block(i,0,0,!1),e===f&&(K(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),tt(t),0===t.avail_out))return i.last_flush=-1,d}return e!==h?d:i.wrap<=0?v:(2===i.wrap?(nt(i,255&t.adler),nt(i,t.adler>>8&255),nt(i,t.adler>>16&255),nt(i,t.adler>>24&255),nt(i,255&t.total_in),nt(i,t.total_in>>8&255),nt(i,t.total_in>>16&255),nt(i,t.total_in>>24&255)):(rt(i,t.adler>>>16),rt(i,65535&t.adler)),tt(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?d:v)},n.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==N&&e!==U&&e!==z&&e!==q&&e!==V&&e!==G&&e!==H?J(t,g):(t.state=null,e===G?J(t,m):d):g},n.deflateSetDictionary=function(t,e){var n,r,a,s,u,l,c,f,h=e.length;if(!t||!t.state)return g;if(2===(s=(n=t.state).wrap)||1===s&&n.status!==N||n.lookahead)return g;for(1===s&&(t.adler=o(t.adler,e,h,0)),n.wrap=0,h>=n.w_size&&(0===s&&(K(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new i.Buf8(n.w_size),i.arraySet(f,e,h-n.w_size,n.w_size,0),e=f,h=n.w_size),u=t.avail_in,l=t.next_in,c=t.input,t.avail_in=h,t.next_in=0,t.input=e,at(n);n.lookahead>=F;){r=n.strstart,a=n.lookahead-(F-1);do{n.ins_h=(n.ins_h<>>=w=y>>>24,d-=w,0===(w=y>>>16&255))j[a++]=65535&y;else{if(!(16&w)){if(0==(64&w)){y=v[(65535&y)+(p&(1<>>=w,d-=w),d<15&&(p+=S[r++]<>>=w=y>>>24,d-=w,!(16&(w=y>>>16&255))){if(0==(64&w)){y=g[(65535&y)+(p&(1<u){t.msg="invalid distance too far back",n.mode=30;break t}if(p>>>=w,d-=w,x>(w=a-o)){if((w=x-w)>c&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(k=0,E=h,0===f){if(k+=l-w,w2;)j[a++]=E[k++],j[a++]=E[k++],j[a++]=E[k++],b-=3;b&&(j[a++]=E[k++],b>1&&(j[a++]=E[k++]))}else{k=a-x;do{j[a++]=j[k++],j[a++]=j[k++],j[a++]=j[k++],b-=3}while(b>2);b&&(j[a++]=j[k++],b>1&&(j[a++]=j[k++]))}break}}break}}while(r>3,p&=(1<<(d-=b<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function it(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=x,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(tt),e.distcode=e.distdyn=new r.Buf32(et),e.sane=1,e.back=-1,d):m}function at(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,it(t)):m}function ot(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?m:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,at(t))):m}function st(t,e){var n,i;return t?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},t.state=i,i.window=null,(n=ot(t,e))!==d&&(t.state=null),n):m}var ut,lt,ct=!0;function ft(t){if(ct){var e;for(ut=new r.Buf32(512),lt=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(l,t.lens,0,288,ut,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(c,t.lens,0,32,lt,0,t.work,{bits:5}),ct=!1}t.lencode=ut,t.lenbits=9,t.distcode=lt,t.distbits=5}function ht(t,e,n,i){var a,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(r.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),r.arraySet(o.window,e,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,e,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,Tt,2,0),st=0,ut=0,n.mode=k;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&st)<<8)+(st>>8))%31){t.msg="incorrect header check",n.mode=J;break}if((15&st)!==b){t.msg="unknown compression method",n.mode=J;break}if(ut-=4,xt=8+(15&(st>>>=4)),0===n.wbits)n.wbits=xt;else if(xt>n.wbits){t.msg="invalid window size",n.mode=J;break}n.dmax=1<>8&1),512&n.flags&&(Tt[0]=255&st,Tt[1]=st>>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0,n.mode=E;case E:for(;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,Tt[2]=st>>>16&255,Tt[3]=st>>>24&255,n.check=a(n.check,Tt,4,0)),st=0,ut=0,n.mode=S;case S:for(;ut<16;){if(0===at)break t;at--,st+=tt[nt++]<>8),512&n.flags&&(Tt[0]=255&st,Tt[1]=st>>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0,n.mode=j;case j:if(1024&n.flags){for(;ut<16;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0}else n.head&&(n.head.extra=null);n.mode=T;case T:if(1024&n.flags&&((pt=n.length)>at&&(pt=at),pt&&(n.head&&(xt=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,tt,nt,pt,xt)),512&n.flags&&(n.check=a(n.check,tt,pt,nt)),at-=pt,nt+=pt,n.length-=pt),n.length))break t;n.length=0,n.mode=A;case A:if(2048&n.flags){if(0===at)break t;pt=0;do{xt=tt[nt+pt++],n.head&&xt&&n.length<65536&&(n.head.name+=String.fromCharCode(xt))}while(xt&&pt>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=L;break;case I:for(;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>=7&ut,ut-=7&ut,n.mode=Y;break}for(;ut<3;){if(0===at)break t;at--,st+=tt[nt++]<>>=1)){case 0:n.mode=F;break;case 1:if(ft(n),n.mode=z,e===p){st>>>=2,ut-=2;break t}break;case 2:n.mode=D;break;case 3:t.msg="invalid block type",n.mode=J}st>>>=2,ut-=2;break;case F:for(st>>>=7&ut,ut-=7&ut;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=J;break}if(n.length=65535&st,st=0,ut=0,n.mode=P,e===p)break t;case P:n.mode=O;case O:if(pt=n.length){if(pt>at&&(pt=at),pt>ot&&(pt=ot),0===pt)break t;r.arraySet(et,tt,nt,pt,it),at-=pt,nt+=pt,ot-=pt,it+=pt,n.length-=pt;break}n.mode=L;break;case D:for(;ut<14;){if(0===at)break t;at--,st+=tt[nt++]<>>=5,ut-=5,n.ndist=1+(31&st),st>>>=5,ut-=5,n.ncode=4+(15&st),st>>>=4,ut-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=J;break}n.have=0,n.mode=N;case N:for(;n.have>>=3,ut-=3}for(;n.have<19;)n.lens[At[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,Et={bits:n.lenbits},kt=s(u,n.lens,0,19,n.lencode,0,n.work,Et),n.lenbits=Et.bits,kt){t.msg="invalid code lengths set",n.mode=J;break}n.have=0,n.mode=U;case U:for(;n.have>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=gt,ut-=gt,n.lens[n.have++]=_t;else{if(16===_t){for(St=gt+2;ut>>=gt,ut-=gt,0===n.have){t.msg="invalid bit length repeat",n.mode=J;break}xt=n.lens[n.have-1],pt=3+(3&st),st>>>=2,ut-=2}else if(17===_t){for(St=gt+3;ut>>=gt)),st>>>=3,ut-=3}else{for(St=gt+7;ut>>=gt)),st>>>=7,ut-=7}if(n.have+pt>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=J;break}for(;pt--;)n.lens[n.have++]=xt}}if(n.mode===J)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=J;break}if(n.lenbits=9,Et={bits:n.lenbits},kt=s(l,n.lens,0,n.nlen,n.lencode,0,n.work,Et),n.lenbits=Et.bits,kt){t.msg="invalid literal/lengths set",n.mode=J;break}if(n.distbits=6,n.distcode=n.distdyn,Et={bits:n.distbits},kt=s(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,Et),n.distbits=Et.bits,kt){t.msg="invalid distances set",n.mode=J;break}if(n.mode=z,e===p)break t;case z:n.mode=q;case q:if(at>=6&&ot>=258){t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=ut,o(t,ct),it=t.next_out,et=t.output,ot=t.avail_out,nt=t.next_in,tt=t.input,at=t.avail_in,st=n.hold,ut=n.bits,n.mode===L&&(n.back=-1);break}for(n.back=0;mt=(jt=n.lencode[st&(1<>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>yt)])>>>16&255,_t=65535&jt,!(yt+(gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=yt,ut-=yt,n.back+=yt}if(st>>>=gt,ut-=gt,n.back+=gt,n.length=_t,0===mt){n.mode=Z;break}if(32&mt){n.back=-1,n.mode=L;break}if(64&mt){t.msg="invalid literal/length code",n.mode=J;break}n.extra=15&mt,n.mode=V;case V:if(n.extra){for(St=n.extra;ut>>=n.extra,ut-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=G;case G:for(;mt=(jt=n.distcode[st&(1<>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>yt)])>>>16&255,_t=65535&jt,!(yt+(gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=yt,ut-=yt,n.back+=yt}if(st>>>=gt,ut-=gt,n.back+=gt,64&mt){t.msg="invalid distance code",n.mode=J;break}n.offset=_t,n.extra=15&mt,n.mode=H;case H:if(n.extra){for(St=n.extra;ut>>=n.extra,ut-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=J;break}n.mode=W;case W:if(0===ot)break t;if(pt=ct-ot,n.offset>pt){if((pt=n.offset-pt)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=J;break}pt>n.wnext?(pt-=n.wnext,dt=n.wsize-pt):dt=n.wnext-pt,pt>n.length&&(pt=n.length),vt=n.window}else vt=et,dt=it-n.offset,pt=n.length;pt>ot&&(pt=ot),ot-=pt,n.length-=pt;do{et[it++]=vt[dt++]}while(--pt);0===n.length&&(n.mode=q);break;case Z:if(0===ot)break t;et[it++]=n.length,ot--,n.mode=q;break;case Y:if(n.wrap){for(;ut<32;){if(0===at)break t;at--,st|=tt[nt++]<=1&&0===F[j];j--);if(T>j&&(T=j),0===j)return l[c++]=20971520,l[c++]=20971520,h.bits=1,0;for(S=1;S0&&(0===t||1!==j))return-1;for(P[1]=0,k=1;k<15;k++)P[k+1]=P[k]+F[k];for(E=0;E852||2===t&&I>592)return 1;for(;;){y=k-C,f[E]<_?(w=0,b=f[E]):f[E]>_?(w=O[D+f[E]],b=L[B+f[E]]):(w=96,b=0),p=1<>C)+(d-=p)]=y<<24|w<<16|b|0}while(0!==d);for(p=1<>=1;if(0!==p?(R&=p-1,R+=p):R=0,E++,0==--F[k]){if(k===j)break;k=e[n+f[E]]}if(k>T&&(R&g)!==v){for(0===C&&(C=T),m+=S,M=1<<(A=k-C);A+C852||2===t&&I>592)return 1;l[v=R&g]=T<<24|A<<16|m-c|0}}return 0!==R&&(l[m+R]=k-C<<24|64<<16|0),h.bits=T,0}},{"../utils/common":49}],57:[function(t,e,n){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],58:[function(t,e,n){"use strict";var r=t("../utils/common"),i=4,a=0,o=1,s=2;function u(t){for(var e=t.length;--e>=0;)t[e]=0}var l=0,c=1,f=2,h=29,p=256,d=p+1+h,v=30,g=19,m=2*d+1,_=15,y=16,w=7,b=256,x=16,k=17,E=18,S=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],j=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],T=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],C=new Array(2*(d+2));u(C);var M=new Array(2*v);u(M);var I=new Array(512);u(I);var R=new Array(256);u(R);var L=new Array(h);u(L);var B,F,P,O=new Array(v);function D(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function N(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function U(t){return t<256?I[t]:I[256+(t>>>7)]}function z(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function q(t,e,n){t.bi_valid>y-n?(t.bi_buf|=e<>y-t.bi_valid,t.bi_valid+=n-y):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function H(t,e,n){var r,i,a=new Array(_+1),o=0;for(r=1;r<=_;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=G(a[s]++,s))}}function W(t){var e;for(e=0;e8?z(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function Y(t,e,n,r){var i=2*e,a=2*n;return t[i]>1;n>=1;n--)X(t,a,n);i=u;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],X(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,a[2*i]=a[2*n]+a[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,a[2*n+1]=a[2*r+1]=i,t.heap[1]=i++,X(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,a,o,s,u=e.dyn_tree,l=e.max_code,c=e.stat_desc.static_tree,f=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,d=e.stat_desc.max_length,v=0;for(a=0;a<=_;a++)t.bl_count[a]=0;for(u[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;nd&&(a=d,v++),u[2*r+1]=a,r>l||(t.bl_count[a]++,o=0,r>=p&&(o=h[r-p]),s=u[2*r],t.opt_len+=s*(a+o),f&&(t.static_len+=s*(c[2*r+1]+o)));if(0!==v){do{for(a=d-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=t.bl_count[a];0!==r;)(i=t.heap[--n])>l||(u[2*i+1]!==a&&(t.opt_len+=(a-u[2*i+1])*u[2*i],u[2*i+1]=a),r--)}}(t,e),H(a,l,t.bl_count)}function Q(t,e,n){var r,i,a=-1,o=e[1],s=0,u=7,l=4;for(0===o&&(u=138,l=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=e[2*(r+1)+1],++s>=7;r0?(t.strm.data_type===s&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return a;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e=3&&0===t.bl_tree[2*A[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),u=t.opt_len+3+7>>>3,(l=t.static_len+3+7>>>3)<=u&&(u=l)):u=l=n+5,n+4<=u&&-1!==e?et(t,e,n,r):t.strategy===i||l===u?(q(t,(c<<1)+(r?1:0),3),$(t,C,M)):(q(t,(f<<1)+(r?1:0),3),function(t,e,n,r){var i;for(q(t,e-257,5),q(t,n-1,5),q(t,r-4,4),i=0;i>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(R[n]+p+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},n._tr_align=function(t){q(t,c<<1,3),V(t,b,C),function(t){16===t.bi_valid?(z(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":49}],59:[function(t,e,n){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],60:[function(t,e,n){n.read=function(t,e,n,r,i){var a,o,s=8*i-r-1,u=(1<>1,c=-7,f=n?i-1:0,h=n?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=r;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-l;else{if(a===u)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,r),a-=l}return(p?-1:1)*o*Math.pow(2,a-r)},n.write=function(t,e,n,r,i,a){var o,s,u,l=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:a-1,d=r?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(o++,u/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*u-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[n+p]=255&o,p+=d,o/=256,l-=8);t[n+p-d]|=128*v}},{}],61:[function(t,e,n){e.exports=[function(t,e){return{options:t,draw:function(e,n,r){r.stop(!0),r.overrideFlag=!0;var i=this;return e.pixelManipulation({output:function(t,e,n){i.output={src:e,format:n}},changePixel:function(t,e,n,r){return[255-t,255-e,255-n,r]},format:e.format,image:t.image,inBrowser:t.inBrowser,callback:n})},output:void 0,UI:e}},{name:"Invert",description:"Inverts the image.",inputs:{}}]},{}],62:[function(t,e,n){"use strict";var r=t("underscore"),i=e.exports={Bitmap:t("./lib/bitmap")};r.extend(i,t("./lib/enums"))},{"./lib/bitmap":63,"./lib/enums":64,underscore:145}],63:[function(t,e,n){(function(n){"use strict";var r=t("fs"),i=(t("underscore"),t("bluebird")),a=t("jpeg-js"),o=t("node-png").PNG,s=t("./enums"),u=t("./utils"),l=t("./resize"),c={r:0,g:0,b:0,a:0},f=e.exports=function(t){t&&(t instanceof f?this._data={data:new n(t.data.data),width:t.width,height:t.height}:t.data?this._data=t:t.width&&t.height&&(this._data={data:new n(4*t.width*t.height),width:t.width,height:t.height},t.color&&this._fill(t.color)))};f.prototype={get width(){return this._data.width},get height(){return this._data.height},attach:function(t){var e=this._data;return this._data=t,e},detach:function(){var t=this._data;return delete this._data,t},_deduceFileType:function(t){if(!t)throw new Error("Can't determine image type");switch(t.substr(-4).toLowerCase()){case".jpg":return s.ImageType.JPG;case".png":return s.ImageType.PNG}if(".jpeg"==t.substr(-5).toLowerCase())return s.ImageType.JPG;throw new Error("Can't recognise image type: "+t)},_readStream:function(t){var e=i.defer(),r=[];return t.on("data",function(t){r.push(t)}),t.on("end",function(){var t=n.concat(r);e.resolve(t)}),t.on("error",function(t){e.reject(t)}),e.promise},_readPNG:function(t){var e=i.defer(),n=new o({filterType:4});return n.on("parsed",function(){e.resolve(n)}),n.on("error",function(t){e.rejecyt(t)}),t.pipe(n),e.promise},_parseOptions:function(t,e){return"number"==typeof(t=t||{})&&(t={type:t}),t.type=t.type||this._deduceFileType(e),t},read:function(t,e){var n=this;switch((e=this._parseOptions(e)).type){case s.ImageType.JPG:return this._readStream(t).then(function(t){n._data=a.decode(t)});case s.ImageType.PNG:return this._readPNG(t).then(function(t){n._data={data:t.data,width:t.width,height:t.height}});default:return i.reject(new Error("Not supported: ImageType "+e.type))}},readFile:function(t,e){var n=this;return u.fs.exists(t).then(function(i){if(i){e=n._parseOptions(e,t);var a=r.createReadStream(t);return n.read(a,e)}throw new Error("File Not Found: "+t)})},write:function(t,e){e=this._parseOptions(e);var n=i.defer();try{switch(t.on("finish",function(){n.resolve()}),t.on("error",function(t){n.reject(t)}),e.type){case s.ImageType.JPG:var r=a.encode(this._data,e.quality||90).data;t.write(r),t.end();break;case s.ImageType.PNG:var u=new o;u.width=this.width,u.height=this.height,u.data=this._data.data,u.on("end",function(){n.resolve()}),u.on("error",function(t){n.reject(t)}),u.pack().pipe(t);break;default:throw new Error("Not supported: ImageType "+e.type)}}catch(t){n.reject(t)}return n.promise},writeFile:function(t,e){e=this._parseOptions(e,t);var n=r.createWriteStream(t);return this.write(n,e)},clone:function(){return new f({width:this.width,height:this.height,data:new n(this._data.data)})},setPixel:function(t,e,n,r,i,a){if(void 0===r){var o=n;n=o.r,r=o.g,i=o.b,a=o.a}void 0===a&&(a=255);var s=4*(e*this.width+t),u=this._data.data;u[s++]=n,u[s++]=r,u[s++]=i,u[s++]=a},getPixel:function(t,e,n){var r=4*(e*this.width+t);n=n||{};var i=this._data.data;return n.r=i[r++],n.g=i[r++],n.b=i[r++],n.a=i[r++],n},negative:function(){for(var t=new f({width:this.width,height:this.height}),e=this.width*this.height,n=this._data.data,r=t._data.data,i=0,a=0,o=0;o-1&&C-1&&M=0&&M>=0?b[P]:O)+D*(g=C=0?b[P+4]:O),z=(1-D)*(m=C>=0&&M0?o:0)-(c>0?4:0)]+2*s[p-(l>0?o:0)]+1*s[p-(l>0?o:0)+(c0?4:0)]+4*s[p]+2*s[p+(c0?4:0)]+2*s[p+(l0?a[x-4]:2*a[x]-a[x+4],E=a[x],S=a[x+4],j=z0?v[x-4*h]:2*v[x]-v[x+4*h],M=v[x],I=v[x+4*h],R=N1)for(g=0;g0&&!t[o-1];)o--;a.push({children:[],index:0});var s,u=a[0];for(n=0;n0;)u=a.pop();for(u.index++,a.push(u);a.length<=n;)a.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}n+10)return p>>--d&1;if(255==(p=e[n++])){var t=e[n++];if(t)throw"unexpected marker: "+(p<<8|t).toString(16)}return d=7,p>>>7}function g(t){for(var e,n=t;null!==(e=v());){if("number"==typeof(n=n[e]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function m(t){for(var e=0;t>0;){var n=v();if(null===n)return;e=e<<1|n,t--}return e}function _(t){var e=m(t);return e>=1<0)y--;else for(var r=o,i=s;r<=i;){var a=g(e.huffmanTableAC),u=15&a,c=a>>4;if(0!==u)n[t[r+=c]]=_(u)*(1<>4,0===f)a<15?(y=m(a)+(1<>4;if(0!==s)n[t[a+=u]]=_(s),a++;else{if(u<15)break;a+=16}}};var I,R,L,B,F=0;for(R=1==M?i[0].blocksPerLine*i[0].blocksPerColumn:c*r.mcusPerColumn,a||(a=R);F=65488&&I<=65495))break;n+=2}return n-h}function h(t,l){var c,f,h=[],p=l.blocksPerLine,d=l.blocksPerColumn,v=p<<3,g=new Int32Array(64),m=new Uint8Array(64);function _(t,c,f){var h,p,d,v,g,m,_,y,w,b,x=l.quantizationTable,k=f;for(b=0;b<64;b++)k[b]=t[b]*x[b];for(b=0;b<8;++b){var E=8*b;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(h=s*k[0+E]+128>>8,p=s*k[4+E]+128>>8,d=k[2+E],v=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,m=k[3+E]<<4,_=k[5+E]<<4,w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+128>>8,d=d*a-v*o+128>>8,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+E]=h+y,k[7+E]=h-y,k[1+E]=p+_,k[6+E]=p-_,k[2+E]=d+m,k[5+E]=d-m,k[3+E]=v+g,k[4+E]=v-g):(w=s*k[0+E]+512>>10,k[0+E]=w,k[1+E]=w,k[2+E]=w,k[3+E]=w,k[4+E]=w,k[5+E]=w,k[6+E]=w,k[7+E]=w)}for(b=0;b<8;++b){var S=b;0!=k[8+S]||0!=k[16+S]||0!=k[24+S]||0!=k[32+S]||0!=k[40+S]||0!=k[48+S]||0!=k[56+S]?(h=s*k[0+S]+2048>>12,p=s*k[32+S]+2048>>12,d=k[16+S],v=k[48+S],g=u*(k[8+S]-k[56+S])+2048>>12,y=u*(k[8+S]+k[56+S])+2048>>12,m=k[24+S],_=k[40+S],w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+2048>>12,d=d*a-v*o+2048>>12,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+S]=h+y,k[56+S]=h-y,k[8+S]=p+_,k[48+S]=p-_,k[16+S]=d+m,k[40+S]=d-m,k[24+S]=v+g,k[32+S]=v-g):(w=s*f[b+0]+8192>>14,k[0+S]=w,k[8+S]=w,k[16+S]=w,k[24+S]=w,k[32+S]=w,k[40+S]=w,k[48+S]=w,k[56+S]=w)}for(b=0;b<64;++b){var j=128+(k[b]+8>>4);c[b]=j<0?0:j>255?255:j}}for(var y=0;y255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var n=0;e.length;function r(){var t=e[n]<<8|e[n+1];return n+=2,t}function i(){var t=r(),i=e.subarray(n,n+t-2);return n+=i.length,i}function a(t){var e,n,r=0,i=0;for(n in t.components)t.components.hasOwnProperty(n)&&(r<(e=t.components[n]).h&&(r=e.h),i>4==0)for(z=0;z<64;z++){b[t[z]]=e[n++]}else{if(w>>4!=1)throw"DQT: invalid table spec";for(z=0;z<64;z++){b[t[z]]=r()}}p[15&w]=b}break;case 65472:case 65473:case 65474:r(),(o={}).extended=65473===m,o.progressive=65474===m,o.precision=e[n++],o.scanLines=r(),o.samplesPerLine=r(),o.components={},o.componentsOrder=[];var x,k=e[n++];for(N=0;N>4,S=15&e[n+1],j=e[n+2];o.componentsOrder.push(x),o.components[x]={h:E,v:S,quantizationIdx:j},n+=3}a(o),d.push(o);break;case 65476:var T=r();for(N=2;N>4==0?g:v)[15&A]=c(C,I)}break;case 65501:r(),s=r();break;case 65498:r();var R=e[n++],L=[];for(N=0;N>4],q.huffmanTableAC=v[15&B],L.push(q)}var F=e[n++],P=e[n++],O=e[n++],D=f(e,n,o,L,s,F,P,O>>4,15&O);n+=D;break;default:if(255==e[n-3]&&e[n-2]>=192&&e[n-2]<=254){n-=3;break}throw"unknown JPEG marker "+m.toString(16)}m=r()}if(1!=d.length)throw"only single frame JPEGs supported";for(var N=0;N=0;)e&1<>8&255),F(255&t)}function O(t,e,n,r,i){var a,o=i[0],s=i[240];for(var u=function(t,e){var n,r,i,a,o,s,u,l,c,f,h=0;for(c=0;c<8;++c){n=t[h],r=t[h+1],i=t[h+2],a=t[h+3],o=t[h+4],s=t[h+5],u=t[h+6];var p=n+(l=t[h+7]),v=n-l,g=r+u,m=r-u,_=i+s,y=i-s,w=a+o,b=a-o,x=p+w,k=p-w,E=g+_,S=g-_;t[h]=x+E,t[h+4]=x-E;var j=.707106781*(S+k);t[h+2]=k+j,t[h+6]=k-j;var T=.382683433*((x=b+y)-(S=m+v)),A=.5411961*x+T,C=1.306562965*S+T,M=.707106781*(E=y+m),I=v+M,R=v-M;t[h+5]=R+A,t[h+3]=R-A,t[h+1]=I+C,t[h+7]=I-C,h+=8}for(h=0,c=0;c<8;++c){n=t[h],r=t[h+8],i=t[h+16],a=t[h+24],o=t[h+32],s=t[h+40],u=t[h+48];var L=n+(l=t[h+56]),B=n-l,F=r+u,P=r-u,O=i+s,D=i-s,N=a+o,U=a-o,z=L+N,q=L-N,V=F+O,G=F-O;t[h]=z+V,t[h+32]=z-V;var H=.707106781*(G+q);t[h+16]=q+H,t[h+48]=q-H;var W=.382683433*((z=U+D)-(G=P+B)),Z=.5411961*z+W,Y=1.306562965*G+W,X=.707106781*(V=D+P),$=B+X,J=B-X;t[h+40]=J+Z,t[h+24]=J-Z,t[h+8]=$+Y,t[h+56]=$-Y,h++}for(c=0;c<64;++c)f=t[c]*e[c],d[c]=f>0?f+.5|0:f-.5|0;return d}(t,e),l=0;l<64;++l)v[E[l]]=u[l];var c=v[0]-n;n=v[0],0==c?B(r[0]):(B(r[p[a=32767+c]]),B(h[a]));for(var f=63;f>0&&0==v[f];f--);if(0==f)return B(o),n;for(var g,m=1;m<=f;){for(var _=m;0==v[m]&&m<=f;++m);var y=m-_;if(y>=16){g=y>>4;for(var w=1;w<=g;++w)B(s);y&=15}a=32767+v[m],B(i[(y<<4)+p[a]]),B(h[a]),m++}return 63!=f&&B(o),n}function D(t){if(t<=0&&(t=1),t>100&&(t=100),o!=t){(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=s((e[n]*t+50)/100);r<1?r=1:r>255&&(r=255),u[E[n]]=r}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var o=s((i[a]*t+50)/100);o<1?o=1:o>255&&(o=255),l[E[a]]=o}for(var h=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],p=0,d=0;d<8;d++)for(var v=0;v<8;v++)c[p]=1/(u[E[p]]*h[d]*h[v]*8),f[p]=1/(l[E[p]]*h[d]*h[v]*8),p++})(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),o=t}}this.encode=function(e,o){(new Date).getTime();o&&D(o),g=new Array,m=0,_=7,P(65496),P(65504),P(16),F(74),F(70),F(73),F(70),F(0),F(1),F(1),F(0),P(1),P(1),F(0),F(0),function(){P(65499),P(132),F(0);for(var t=0;t<64;t++)F(u[t]);F(1);for(var e=0;e<64;e++)F(l[e])}(),function(t,e){P(65472),P(17),F(8),P(e),P(t),F(3),F(1),F(17),F(0),F(2),F(17),F(1),F(3),F(17),F(1)}(e.width,e.height),function(){P(65476),P(418),F(0);for(var t=0;t<16;t++)F(S[t+1]);for(var e=0;e<=11;e++)F(j[e]);F(16);for(var n=0;n<16;n++)F(T[n+1]);for(var r=0;r<=161;r++)F(A[r]);F(1);for(var i=0;i<16;i++)F(C[i+1]);for(var a=0;a<=11;a++)F(M[a]);F(17);for(var o=0;o<16;o++)F(I[o+1]);for(var s=0;s<=161;s++)F(R[s])}(),P(65498),P(12),F(3),F(1),F(0),F(2),F(17),F(3),F(17),F(0),F(63),F(0);var s=0,h=0,p=0;m=0,_=7,this.encode.displayName="_encode_";for(var d,v,x,E,L,N,U,z,q,V=e.data,G=e.width,H=e.height,W=4*G,Z=0;Z>3)*W+(U=4*(7&q)),Z+z>=H&&(N-=W*(Z+1+z-H)),d+U>=W&&(N-=d+U-W+4),v=V[N++],x=V[N++],E=V[N++],y[q]=(k[v]+k[x+256>>0]+k[E+512>>0]>>16)-128,w[q]=(k[v+768>>0]+k[x+1024>>0]+k[E+1280>>0]>>16)-128,b[q]=(k[v+1280>>0]+k[x+1536>>0]+k[E+1792>>0]>>16)-128;s=O(y,c,s,n,i),h=O(w,f,h,r,a),p=O(b,f,p,r,a),d+=32}Z+=8}if(_>=0){var Y=[];Y[1]=_+1,Y[0]=(1<<_+1)-1,B(Y)}return P(65497),new t(g)},function(){(new Date).getTime();e||(e=50),function(){for(var t=String.fromCharCode,e=0;e<256;e++)x[e]=t(e)}(),n=L(S,j),r=L(C,M),i=L(T,A),a=L(I,R),function(){for(var t=1,e=2,n=1;n<=15;n++){for(var r=t;r>0]=38470*t,k[t+512>>0]=7471*t+32768,k[t+768>>0]=-11059*t,k[t+1024>>0]=-21709*t,k[t+1280>>0]=32768*t+8421375,k[t+1536>>0]=-27439*t,k[t+1792>>0]=-5329*t}(),D(e),(new Date).getTime()}()}e.exports=function(t,e){void 0===e&&(e=50);return{data:new n(e).encode(t,e),width:t.width,height:t.height}}}).call(this,t("buffer").Buffer)},{buffer:5}],70:[function(t,e,n){arguments[4][42][0].apply(n,arguments)},{dup:42}],71:[function(t,e,n){"use strict";e.exports=function(t){for(var e=new Array(t),n=0;n>i;0!=(e&o)&&p++;var d=n>>i;return 0!=(n&o)&&d++,function(t,e,n,o,s,u){function l(t,e,n){return tn?n:t}var c=r.BitMatrix.createEmpty(o,s);function f(t,e,n,r,i){for(var o=n*i+e,s=0;sd&&(p=d);for(var v=0;vm&&(g=m);for(var _=l(v,2,e-3),y=l(h,2,n-3),w=0,b=-2;b<=2;b++){var x=u[y+b];w+=x[_-2],w+=x[_-1],w+=x[_],w+=x[_+1],w+=x[_+2]}f(t,g,p,w/25,o)}}return c}(u,p,d,e,n,function(t,e,n,r,o){for(var u=new Array(n),l=0;lh&&(f=h);for(var p=0;pv&&(d=v);for(var g=0,m=255,_=0,y=0,w=f*r+d;y_&&(_=x)}if(_-m>s)for(y++,w+=r;y>2*i;if(_-m<=s&&(k=m>>1,c>0&&p>0)){var E=u[c-1][p]+2*u[c][p-1]+u[c-1][p-1]>>2;m=n&&(t++,r+=e.estimatedModuleSize)}),t<3)return!1;for(var a=r/i,o=0,s=0;s=0&&c(n,l);)o[2]++,l--;if(l<0)return null;for(;l>=0&&!c(n,l)&&o[1]<=r;)o[1]++,l--;if(l<0||o[1]>r)return null;for(;l>=0&&c(n,l)&&o[0]<=r;)o[0]++,l--;if(o[0]>r)return null;for(l=e+1;l=r)return null;for(;l=r)return null;var f=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(f-i)>=2*i?null:s(o)?u(o,l):null}(r,Math.floor(f),n[2],l);if(null!=h&&null!=(f=function(e,n,r,i){for(var a=t.width,o=[0,0,0,0,0],l=e;l>=0&&c(l,n);)o[2]++,l--;if(l<0)return null;for(;l>=0&&!c(l,n)&&o[1]<=r;)o[1]++,l--;if(l<0||o[1]>r)return null;for(;l>=0&&c(l,n)&&o[0]<=r;)o[0]++,l--;if(o[0]>r)return null;for(l=e+1;l=r)return null;for(;l=r)return null;var f=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(f-i)>=i?null:s(o)?u(o,l):null}(Math.floor(f),Math.floor(h),n[2],l))&&(!a||function(e,n,r,i){for(var a=t.height,o=t.width,u=[0,0,0,0,0],l=0;e-l>=0&&c(n-l,e-l);)u[2]++,l++;if(e-l<0||n-l<0)return!1;for(;e-l>=0&&n-l>=0&&!c(n-l,e-l)&&u[1]<=r;)u[1]++,l++;if(e-l<0||n-l<0||u[1]>r)return!1;for(;e-l>=0&&n-l>=0&&c(n-l,e-l)&&u[0]<=r;)u[0]++,l++;if(u[0]>r)return!1;for(l=1;e+l=a||n+l>=o)return!1;for(;e+l=a||n+l>=o||u[3]>=r)return!1;for(;e+l=r)return!1;var f=u[0]+u[1]+u[2]+u[3]+u[4];return Math.abs(f-i)<2*i&&s(u)}(Math.floor(h),Math.floor(f),n[2],l))){for(var p=l/7,d=!1,v=0;v=n){if(null!=t)return a=!0,Math.floor(Math.abs(t.x-e.x)-Math.abs(t.y-e.y))/2;t=e}}),0}var d=t.height,v=t.width,g=Math.floor(3*d/(4*i));g_[2]&&(y+=x-_[2]-g,b=v-1)}_=[0,0,0,0,0],w=0}else _=[_[2],_[3],_[4],1,0],w=3;else _[++w]++;else _[w]++;s(_)&&h(_,y,v,!1)&&(g=_[0],a&&(m=f()))}var k=function(){var t=e.length;if(t<3)return null;if(t>3){var n=0,r=0;e.forEach(function(t){var e=t.estimatedModuleSize;n+=e,r+=e*e});var i=n/t,a=Math.sqrt(r/t-i*i);e.sort(function(t,e){var n=Math.abs(e.estimatedModuleSize-i),r=Math.abs(t.estimatedModuleSize-i);return n3;s++){var u=e[s];Math.abs(u.estimatedModuleSize-i)>o&&(e.splice(s,1),s--)}}return e.length>3&&(n=0,e.forEach(function(t){n+=t.estimatedModuleSize}),i=n/e.length,e.sort(function(t,e){if(e.count===t.count){var n=Math.abs(e.estimatedModuleSize-i),r=Math.abs(t.estimatedModuleSize-i);return n=i&&a>=o?(n=t[0],e=t[1],r=t[2]):o>=a&&o>=i?(n=t[1],e=t[0],r=t[2]):(n=t[2],e=t[0],r=t[1]),function(t,e,n){var r=e.x,i=e.y;return(n.x-r)*(t.y-i)-(n.y-i)*(t.x-r)}(e,n,r)<0){var s=e;e=r,r=s}return{bottomLeft:{x:e.x,y:e.y},topLeft:{x:n.x,y:n.y},topRight:{x:r.x,y:r.y}}}(k):null}},function(t,e,n){"use strict";var r=n(5),i=n(7),a=n(8),o=n(2),s=n(6);function u(t,e,n){for(var r=!0,i=0;it||o<-1||o>e)throw new Error;r=!1,-1==a?(n[i]=0,r=!0):a==t&&(n[i]=t-1,r=!0),-1==o?(n[i+1]=0,r=!0):o==e&&(n[i+1]=e-1,r=!0)}r=!0;for(i=n.length-2;i>=0&&r;i-=2){a=Math.floor(n[i]),o=Math.floor(n[i+1]);if(a<-1||a>t||o<-1||o>e)throw new Error;r=!1,-1==a?(n[i]=0,r=!0):a==t&&(n[i]=t-1,r=!0),-1==o?(n[i+1]=0,r=!0):o==e&&(n[i+1]=e-1,r=!0)}return n}function l(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))}function c(t,e,n,i,a){e=Math.floor(e),n=Math.floor(n);var o=Math.floor(i*t),s=Math.max(0,e-o),u=Math.min(a.width,e+o);if(u-s<3*t)return null;var l=Math.max(0,n-o),c=Math.min(a.height-1,n+o);return r.findAlignment(s,l,u-s,c-l,t,a)}function f(t,e,n,r,i){t=Math.floor(t),e=Math.floor(e),n=Math.floor(n),r=Math.floor(r);var a=Math.abs(r-e)>Math.abs(n-t);if(a){var o=t;t=e,e=o,o=n,n=r,r=o}for(var s=Math.abs(n-t),u=Math.abs(r-e),c=-s>>1,f=t0){if(g==r)break;g+=h,c-=s}}return 2==p?l(n+f,r,t,e):NaN}function h(t,e,n,r,i){var a=f(t,e,n,r,i),o=1,s=t-(n-t);s<0?(o=t/(t-s),s=0):s>=i.width&&(o=(i.width-1-t)/(s-t),s=i.width-1);var u=e-(r-e)*o;return o=1,u<0?(o=e/(e-u),u=0):u>=i.height&&(o=(i.height-1-e)/(u-e),u=i.height-1),(a+=f(t,e,s=t+(s-t)*o,u,i))-1}function p(t,e,n){var r=h(t.x,t.y,e.x,e.y,n),i=h(e.x,e.y,t.x,t.y,n);return s.isNaN(r)?i/7:s.isNaN(i)?r/7:(r+i)/14}e.extract=function(t,e){var n=function(t,e,n,r){return(p(t,e,r)+p(t,n,r))/2}(e.topLeft,e.topRight,e.bottomLeft,t);if(n<1)return null;var r=function(t,e,n,r){var i=7+(Math.round(l(t.x,t.y,e.x,e.y)/r)+Math.round(l(t.x,t.y,n.x,n.y)/r)>>1);switch(3&i){case 0:i++;break;case 2:i--}return i}(e.topLeft,e.topRight,e.bottomLeft,n);if(!r)return null;var s=function(t){if(t%4!=1)return null;var e=t-17>>2;return e<1||e>40?null:a.getVersionForNumber(e)}(r);if(null==s)return null;var f=s.getDimensionForVersion()-7,h=null;if(s.alignmentPatternCenters.length>0)for(var d=e.topRight.x-e.topLeft.x+e.bottomLeft.x,v=e.topRight.y-e.topLeft.y+e.bottomLeft.y,g=1-3/f,m=e.topLeft.x+g*(d-e.topLeft.x),_=e.topLeft.y+g*(v-e.topLeft.y),y=4;y<=16&&!(h=c(n,m,_,y,t));y<<=1);return function(t,e,n){if(e<=0)return null;for(var r=o.BitMatrix.createEmpty(e,e),a=new Array(e<<1),s=0;s>1),a[f+1]=c;a=i.transformPoints(n,a);try{var h=u(t.width,t.height,a)}catch(t){return null}for(f=0;f>1,s,t.get(Math.floor(h[f]),Math.floor(h[f+1])))}return r}(t,r,function(t,e,n,r,a){var o,s,u,l,c=a-3.5;return null!=r?(o=r.x,s=r.y,u=l=c-3):(o=e.x-t.x+n.x,s=e.y-t.y+n.y,u=l=c),i.quadrilateralToQuadrilateral(3.5,3.5,c,3.5,u,l,3.5,c,t.x,t.y,e.x,e.y,o,s,n.x,n.y)}(e.topLeft,e.topRight,e.bottomLeft,h,r))}},function(t,e,n){"use strict";var r=n(6);function i(t,e,n,r){if(Math.abs(n-t.y)<=e&&Math.abs(r-t.x)<=e){var i=Math.abs(e-t.estimatedModuleSize);return i<=1||i<=t.estimatedModuleSize}return!1}function a(t,e,n,r){return{x:(t.x+n)/2,y:(t.y+e)/2,estimatedModuleSize:(t.estimatedModuleSize+r)/2}}function o(t,e){for(var n=e/2,r=0;r<3;r++)if(Math.abs(e-t[r])>=n)return!1;return!0}function s(t,e){var n=e-t[2]-t[1]/2;return r.isNaN(n)?null:n}e.findAlignment=function(t,e,n,r,u,l){var c=[];function f(t,e,n,r){var u=t[0]+t[1]+t[2],f=s(t,n);if(null==f)return null;var h=function(t,e,n,r,i,a){for(var u=a.height,l=[0,0,0],c=t;c>=0&&a.get(e,c)&&l[1]<=n;)l[1]++,c--;if(c<0||l[1]>n)return null;for(;c>=0&&!a.get(e,c)&&l[0]<=n;)l[0]++,c--;if(l[0]>n)return null;for(c=t+1;cn)return null;for(;cn)return null;var f=l[0]+l[1]+l[2];return 5*Math.abs(f-r)>=2*r?null:o(l,i)?s(l,c):null}(e,Math.floor(f),2*t[1],u,r,l);if(null!=h){var p=(t[0]+t[1]+t[2])/3;for(var d in c){var v=c[d];if(i(v,p,h,f))return a(v,h,f,p)}var g={x:f,y:h,estimatedModuleSize:p};c.push(g)}return null}for(var h=t+n,p=e+(r>>1),d=[0,0,0],v=0;v>1:-(v+1>>1));d[0]=0,d[1]=0,d[2]=0;for(var m=t;m>4&15]+n[t>>8&15]+n[t>>12&15]+n[t>>16&15]+n[t>>20&15]+n[t>>24&15]+n[t>>28&15]},e.isNaN=function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t!==+t}},function(t,e){"use strict";function n(t,e,n,r,i,a,o,s){var u=t-n+i-o,l=e-r+a-s;if(0==u&&0==l)return{a11:n-t,a21:i-n,a31:t,a12:r-e,a22:a-r,a32:e,a13:0,a23:0,a33:1};var c=n-i,f=o-i,h=r-a,p=s-a,d=c*p-f*h,v=(u*p-f*l)/d,g=(c*l-u*h)/d;return{a11:n-t+v*n,a21:o-t+g*o,a31:t,a12:r-e+v*r,a22:s-e+g*s,a32:e,a13:v,a23:g,a33:1}}e.transformPoints=function(t,e){for(var n=e.length,r=t.a11,i=t.a12,a=t.a13,o=t.a21,s=t.a22,u=t.a23,l=t.a31,c=t.a32,f=t.a33,h=0;h40)throw new Error("Invalid version number "+t);return u[t-1]}e.getVersionForNumber=l},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(6),o=n(12),s=n(8),u=21522,l=[[21522,0],[20773,1],[24188,2],[23371,3],[17913,4],[16590,5],[20375,6],[19104,7],[30660,8],[29427,9],[32170,10],[30877,11],[26159,12],[25368,13],[27713,14],[26998,15],[5769,16],[5054,17],[7399,18],[6608,19],[1890,20],[597,21],[3340,22],[2107,23],[13663,24],[12392,25],[16177,26],[14854,27],[9396,28],[8579,29],[11994,30],[11245,31]],c=[function(t,e){return 0==(t+e&1)},function(t,e){return 0==(1&t)},function(t,e){return e%3==0},function(t,e){return(t+e)%3==0},function(t,e){return 0==((t>>1)+e/3&1)},function(t,e){return(t*e&1)+t*e%3==0},function(t,e){return 0==((t*e&1)+t*e%3&1)},function(t,e){return 0==((t+e&1)+t*e%3&1)}],f=[{ordinal:1,bits:0,name:"M"},{ordinal:0,bits:1,name:"L"},{ordinal:3,bits:2,name:"H"},{ordinal:2,bits:3,name:"Q"}];function h(t,e,n){for(var i=c[n.dataMask],a=t.height,o=function(t){for(var e=t.getDimensionForVersion(),n=new Array(e*e),i=0;i6&&(a.setRegion(e-11,0,3,6),a.setRegion(0,e-11,6,3)),a}(e),s=!0,u=[],l=0,f=0,h=0,p=a-1;p>0;p-=2){6==p&&p--;for(var d=0;d>3&3],dataMask:7&t}}function d(t,e){for(var n=1/0,r=0,i=0;i=0;r--)e=t.copyBit(8,r,e);var i=t.height,a=0,o=i-7;for(r=i-1;r>=o;r--)a=t.copyBit(8,r,a);for(n=i-8;n>2;if(n<=6)return s.getVersionForNumber(n);for(var r=0,i=e-11,a=5;a>=0;a--)for(var o=e-9;o>=i;o--)r=t.copyBit(o,a,r);var u=s.Version.decodeVersionInformation(r);if(null!=u&&u.getDimensionForVersion()==e)return u;for(r=0,o=5;o>=0;o--)for(a=e-9;a>=i;a--)r=t.copyBit(o,a,r);return null!=(u=s.Version.decodeVersionInformation(r))&&u.getDimensionForVersion()==e?u:null}(t);if(!e)return null;var n=v(t);if(!n)return null;var r=n.errorCorrectionLevel,a=h(t,e,n);if(!a)return null;var o=function(t,e,n){if(t.length!=e.totalCodewords)throw new Error("Invalid number of codewords for version; got "+t.length+" expected "+e.totalCodewords);var r=e.getECBlocksForLevel(n),i=0,a=r.ecBlocks;a.forEach(function(t){i+=t.count});var o=new Array(i),s=0;a.forEach(function(t){for(var e=0;e=0&&o[l].codewords.length!=u;)l--;l++;for(var c=u-r.ecCodewordsPerBlock,f=0,h=0;h=e.length)throw new Error("Could not decode alphanumeric char");return e[t].charCodeAt(0)}var a=function(){function t(t,e){this.characterCountBitsForVersions=t,this.bits=e}return t.prototype.getCharacterCountBits=function(t){if(null==this.characterCountBitsForVersions)throw new Error("Character count doesn't apply to this mode");var e;return e=t<=9?0:t<=26?1:2,this.characterCountBitsForVersions[e]},t}(),o=new a([0,0,0],0),s=new a([10,12,14],1),u=new a([9,11,13],2),l=new a([0,0,0],3),c=new a([8,16,16],4),f=new a(null,7),h=new a([8,10,12],8),p=new a(null,5),d=new a(null,9),v=new a([8,10,12],13);function g(t){switch(t){case 0:return o;case 1:return s;case 2:return u;case 3:return l;case 4:return c;case 5:return p;case 7:return f;case 8:return h;case 9:return d;case 13:return v;default:throw new Error("Couldn't decode mode from byte array")}}function m(t){var e=t.readBits(8);if(0==(128&e))return 127&e;if(128==(192&e))return(63&e)<<8|t.readBits(8);if(192==(224&e))return(31&e)<<16|t.readBits(16);throw new Error("Bad ECI bits starting with byte "+e)}function _(t,e,n){if(13*n>t.available())return!1;for(var r=new Array(2*n),i=0;n>0;){var a=t.readBits(13),o=Math.floor(a/96)<<8|a%96;o+=o<959?41377:42657,r[i]=o>>8&255,r[i+1]=255&o,i+=2,n--}return e.val=r,!0}function y(t,e,n){for(;n>=3;){if(t.available()<10)return!1;var r=t.readBits(10);if(r>=1e3)return!1;e.val.push(i(Math.floor(r/100))),e.val.push(i(Math.floor(r/10)%10)),e.val.push(i(r%10)),n-=3}if(2==n){if(t.available()<7)return!1;var a=t.readBits(7);if(a>=100)return!1;e.val.push(i(Math.floor(a/10))),e.val.push(i(a%10))}else if(1==n){if(t.available()<4)return!1;var o=t.readBits(4);if(o>=10)return!1;e.val.push(i(o))}return!0}function w(t,e,n,r){for(var a=e.val.length;n>1;){if(t.available()<11)return!1;var o=t.readBits(11);e.val.push(i(Math.floor(o/45))),e.val.push(i(o%45)),n-=2}if(1==n){if(t.available()<6)return!1;e.val.push(i(t.readBits(6)))}if(r)for(var s=a;st.available())return!1;for(var r=new Array(n),i=0;i30)return null}else if(i==v){var j=a.readBits(4),T=a.readBits(i.getCharacterCountBits(e));if(j==x&&!_(a,k,T))return null}else{var A=a.readBits(i.getCharacterCountBits(e));if(i==s){if(!y(a,k,A))return null}else if(i==u){if(!w(a,k,A,E))return null}else if(i==c){if(!b(a,k,A))return null}else if(i!=h)return null}return k.val}},function(t,e){"use strict";var n=function(){function t(t){this.byteOffset=0,this.bitOffset=0,this.bytes=t}return t.prototype.readBits=function(t){if(t<1||t>32||t>this.available())throw new Error("Cannot read "+t.toString()+" bits");var e=0;if(this.bitOffset>0){var n=8-this.bitOffset,r=t>8-r<<(a=n-r);e=(this.bytes[this.byteOffset]&i)>>a,t-=r,this.bitOffset+=r,8==this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(t>0){for(;t>=8;)e=e<<8|255&this.bytes[this.byteOffset],this.byteOffset++,t-=8;if(t>0){var a;i=255>>(a=8-t)<>a,this.bitOffset+=t}}return e},t.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},t}();e.BitStream=n},function(t,e){"use strict";var n=function(){function t(){this.field=new i(285,256,0)}return t.prototype.decode=function(t,e){for(var n=new r(this.field,t),a=new Array(e),o=!0,s=0;s=n/2;){var u=i,l=o;if(o=s,(i=a).isZero())return null;a=u;for(var c=this.field.zero,f=i.getCoefficient(i.degree()),h=this.field.inverse(f);a.degree()>=i.degree()&&!a.isZero();){var p=a.degree()-i.degree(),d=this.field.multiply(a.getCoefficient(a.degree()),h);c=c.addOrSubtract(this.field.buildMonomial(p,d)),a=a.addOrSubtract(i.multiplyByMonomial(p,d))}if(s=c.multiplyPoly(o).addOrSubtract(l),a.degree()>=i.degree())return null}var v=s.getCoefficient(0);if(0==v)return null;var g=this.field.inverse(v);return[s.multiply(g),a.multiply(g)]},t.prototype.findErrorLocations=function(t){var e=t.degree();if(1==e)return[t.getCoefficient(1)];for(var n=new Array(e),r=0,i=1;i1&&0==e[0]){for(var r=1;rr.length){var a=n;n=r,r=a}for(var o=new Array(r.length),s=r.length-n.length,u=0;u=this.size&&(t^=this.primitive,t&=this.size-1);for(e=0;e>>1,D=[["ary",x],["bind",v],["bindKey",g],["curry",_],["curryRight",y],["flip",E],["partial",w],["partialRight",b],["rearg",k]],N="[object Arguments]",U="[object Array]",z="[object AsyncFunction]",q="[object Boolean]",V="[object Date]",G="[object DOMException]",H="[object Error]",W="[object Function]",Z="[object GeneratorFunction]",Y="[object Map]",X="[object Number]",$="[object Null]",J="[object Object]",Q="[object Proxy]",K="[object RegExp]",tt="[object Set]",et="[object String]",nt="[object Symbol]",rt="[object Undefined]",it="[object WeakMap]",at="[object WeakSet]",ot="[object ArrayBuffer]",st="[object DataView]",ut="[object Float32Array]",lt="[object Float64Array]",ct="[object Int8Array]",ft="[object Int16Array]",ht="[object Int32Array]",pt="[object Uint8Array]",dt="[object Uint8ClampedArray]",vt="[object Uint16Array]",gt="[object Uint32Array]",mt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,xt=RegExp(wt.source),kt=RegExp(bt.source),Et=/<%-([\s\S]+?)%>/g,St=/<%([\s\S]+?)%>/g,jt=/<%=([\s\S]+?)%>/g,Tt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,At=/^\w*$/,Ct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mt=/[\\^$.*+?()[\]{}|]/g,It=RegExp(Mt.source),Rt=/^\s+|\s+$/g,Lt=/^\s+/,Bt=/\s+$/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ot=/,? & /,Dt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Nt=/\\(\\)?/g,Ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Vt=/^0b[01]+$/i,Gt=/^\[object .+?Constructor\]$/,Ht=/^0o[0-7]+$/i,Wt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yt=/($^)/,Xt=/['\n\r\u2028\u2029\\]/g,$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Jt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qt="[\\ud800-\\udfff]",Kt="["+Jt+"]",te="["+$t+"]",ee="\\d+",ne="[\\u2700-\\u27bf]",re="[a-z\\xdf-\\xf6\\xf8-\\xff]",ie="[^\\ud800-\\udfff"+Jt+ee+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ae="\\ud83c[\\udffb-\\udfff]",oe="[^\\ud800-\\udfff]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",ue="[\\ud800-\\udbff][\\udc00-\\udfff]",le="[A-Z\\xc0-\\xd6\\xd8-\\xde]",ce="(?:"+re+"|"+ie+")",fe="(?:"+le+"|"+ie+")",he="(?:"+te+"|"+ae+")"+"?",pe="[\\ufe0e\\ufe0f]?"+he+("(?:\\u200d(?:"+[oe,se,ue].join("|")+")[\\ufe0e\\ufe0f]?"+he+")*"),de="(?:"+[ne,se,ue].join("|")+")"+pe,ve="(?:"+[oe+te+"?",te,se,ue,Qt].join("|")+")",ge=RegExp("['’]","g"),me=RegExp(te,"g"),_e=RegExp(ae+"(?="+ae+")|"+ve+pe,"g"),ye=RegExp([le+"?"+re+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Kt,le,"$"].join("|")+")",fe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Kt,le+ce,"$"].join("|")+")",le+"?"+ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",le+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ee,de].join("|"),"g"),we=RegExp("[\\u200d\\ud800-\\udfff"+$t+"\\ufe0e\\ufe0f]"),be=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ke=-1,Ee={};Ee[ut]=Ee[lt]=Ee[ct]=Ee[ft]=Ee[ht]=Ee[pt]=Ee[dt]=Ee[vt]=Ee[gt]=!0,Ee[N]=Ee[U]=Ee[ot]=Ee[q]=Ee[st]=Ee[V]=Ee[H]=Ee[W]=Ee[Y]=Ee[X]=Ee[J]=Ee[K]=Ee[tt]=Ee[et]=Ee[it]=!1;var Se={};Se[N]=Se[U]=Se[ot]=Se[st]=Se[q]=Se[V]=Se[ut]=Se[lt]=Se[ct]=Se[ft]=Se[ht]=Se[Y]=Se[X]=Se[J]=Se[K]=Se[tt]=Se[et]=Se[nt]=Se[pt]=Se[dt]=Se[vt]=Se[gt]=!0,Se[H]=Se[W]=Se[it]=!1;var je={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Te=parseFloat,Ae=parseInt,Ce="object"==typeof t&&t&&t.Object===Object&&t,Me="object"==typeof self&&self&&self.Object===Object&&self,Ie=Ce||Me||Function("return this")(),Re="object"==typeof n&&n&&!n.nodeType&&n,Le=Re&&"object"==typeof e&&e&&!e.nodeType&&e,Be=Le&&Le.exports===Re,Fe=Be&&Ce.process,Pe=function(){try{var t=Le&&Le.require&&Le.require("util").types;return t||Fe&&Fe.binding&&Fe.binding("util")}catch(t){}}(),Oe=Pe&&Pe.isArrayBuffer,De=Pe&&Pe.isDate,Ne=Pe&&Pe.isMap,Ue=Pe&&Pe.isRegExp,ze=Pe&&Pe.isSet,qe=Pe&&Pe.isTypedArray;function Ve(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ge(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i-1}function $e(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function yn(t,e){for(var n=t.length;n--&&on(e,t[n],0)>-1;);return n}var wn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),bn=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function xn(t){return"\\"+je[t]}function kn(t){return we.test(t)}function En(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function Sn(t,e){return function(n){return t(e(n))}}function jn(t,e){for(var n=-1,r=t.length,i=0,a=[];++n",""":'"',"'":"'"});var Rn=function t(e){var n,$t=(e=null==e?Ie:Rn.defaults(Ie.Object(),e,Rn.pick(Ie,xe))).Array,Jt=e.Date,Qt=e.Error,Kt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,ae=$t.prototype,oe=Kt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],le=oe.toString,ce=se.hasOwnProperty,fe=0,he=(n=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",pe=se.toString,de=le.call(ee),ve=Ie._,_e=ne("^"+le.call(ce).replace(Mt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),we=Be?e.Buffer:r,je=e.Symbol,Ce=e.Uint8Array,Me=we?we.allocUnsafe:r,Re=Sn(ee.getPrototypeOf,ee),Le=ee.create,Fe=se.propertyIsEnumerable,Pe=ae.splice,nn=je?je.isConcatSpreadable:r,fn=je?je.iterator:r,Ln=je?je.toStringTag:r,Bn=function(){try{var t=Da(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Fn=e.clearTimeout!==Ie.clearTimeout&&e.clearTimeout,Pn=Jt&&Jt.now!==Ie.Date.now&&Jt.now,On=e.setTimeout!==Ie.setTimeout&&e.setTimeout,Dn=te.ceil,Nn=te.floor,Un=ee.getOwnPropertySymbols,zn=we?we.isBuffer:r,qn=e.isFinite,Vn=ae.join,Gn=Sn(ee.keys,ee),Hn=te.max,Wn=te.min,Zn=Jt.now,Yn=e.parseInt,Xn=te.random,$n=ae.reverse,Jn=Da(e,"DataView"),Qn=Da(e,"Map"),Kn=Da(e,"Promise"),tr=Da(e,"Set"),er=Da(e,"WeakMap"),nr=Da(ee,"create"),rr=er&&new er,ir={},ar=co(Jn),or=co(Qn),sr=co(Kn),ur=co(tr),lr=co(er),cr=je?je.prototype:r,fr=cr?cr.valueOf:r,hr=cr?cr.toString:r;function pr(t){if(As(t)&&!ms(t)&&!(t instanceof mr)){if(t instanceof gr)return t;if(ce.call(t,"__wrapped__"))return fo(t)}return new gr(t)}var dr=function(){function t(){}return function(e){if(!Ts(e))return{};if(Le)return Le(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function vr(){}function gr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function mr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=F,this.__views__=[]}function _r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function Fr(t,e,n,i,a,o){var s,u=e&c,l=e&f,p=e&h;if(n&&(s=a?n(t,i,a,o):n(t)),s!==r)return s;if(!Ts(t))return t;var d=ms(t);if(d){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&ce.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return na(t,s)}else{var v=za(t),g=v==W||v==Z;if(bs(t))return $i(t,u);if(v==J||v==N||g&&!a){if(s=l||g?{}:Va(t),!u)return l?function(t,e){return ra(t,Ua(t),e)}(t,function(t,e){return t&&ra(e,au(e),t)}(s,t)):function(t,e){return ra(t,Na(t),e)}(t,Ir(s,t))}else{if(!Se[v])return a?t:{};s=function(t,e,n){var r,i,a,o=t.constructor;switch(e){case ot:return Ji(t);case q:case V:return new o(+t);case st:return function(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case ut:case lt:case ct:case ft:case ht:case pt:case dt:case vt:case gt:return Qi(t,n);case Y:return new o;case X:case et:return new o(t);case K:return(a=new(i=t).constructor(i.source,zt.exec(i))).lastIndex=i.lastIndex,a;case tt:return new o;case nt:return r=t,fr?ee(fr.call(r)):{}}}(t,v,u)}}o||(o=new xr);var m=o.get(t);if(m)return m;if(o.set(t,s),Ls(t))return t.forEach(function(r){s.add(Fr(r,e,n,r,t,o))}),s;if(Cs(t))return t.forEach(function(r,i){s.set(i,Fr(r,e,n,i,t,o))}),s;var _=d?r:(p?l?Ia:Ma:l?au:iu)(t);return He(_||t,function(r,i){_&&(r=t[i=r]),Ar(s,i,Fr(r,e,n,i,t,o))}),s}function Pr(t,e,n){var i=n.length;if(null==t)return!i;for(t=ee(t);i--;){var a=n[i],o=e[a],s=t[a];if(s===r&&!(a in t)||!o(s))return!1}return!0}function Or(t,e,n){if("function"!=typeof t)throw new ie(o);return ro(function(){t.apply(r,n)},e)}function Dr(t,e,n,r){var a=-1,o=Xe,s=!0,u=t.length,l=[],c=e.length;if(!u)return l;n&&(e=Je(e,vn(n))),r?(o=$e,s=!1):e.length>=i&&(o=mn,s=!1,e=new br(e));t:for(;++a-1},yr.prototype.set=function(t,e){var n=this.__data__,r=Cr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},wr.prototype.clear=function(){this.size=0,this.__data__={hash:new _r,map:new(Qn||yr),string:new _r}},wr.prototype.delete=function(t){var e=Pa(this,t).delete(t);return this.size-=e?1:0,e},wr.prototype.get=function(t){return Pa(this,t).get(t)},wr.prototype.has=function(t){return Pa(this,t).has(t)},wr.prototype.set=function(t,e){var n=Pa(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},br.prototype.add=br.prototype.push=function(t){return this.__data__.set(t,s),this},br.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.clear=function(){this.__data__=new yr,this.size=0},xr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},xr.prototype.get=function(t){return this.__data__.get(t)},xr.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof yr){var r=n.__data__;if(!Qn||r.length0&&n(s)?e>1?Gr(s,e-1,n,r,i):Qe(i,s):r||(i[i.length]=s)}return i}var Hr=sa(),Wr=sa(!0);function Zr(t,e){return t&&Hr(t,e,iu)}function Yr(t,e){return t&&Wr(t,e,iu)}function Xr(t,e){return Ye(e,function(e){return Es(t[e])})}function $r(t,e){for(var n=0,i=(e=Wi(e,t)).length;null!=t&&ne}function ti(t,e){return null!=t&&ce.call(t,e)}function ei(t,e){return null!=t&&e in ee(t)}function ni(t,e,n){for(var i=n?$e:Xe,a=t[0].length,o=t.length,s=o,u=$t(o),l=1/0,c=[];s--;){var f=t[s];s&&e&&(f=Je(f,vn(e))),l=Wn(f.length,l),u[s]=!n&&(e||a>=120&&f.length>=120)?new br(s&&f):r}f=t[0];var h=-1,p=u[0];t:for(;++h=s)return u;var l=n[r];return u*("desc"==l?-1:1)}}return t.index-e.index}(t,e,n)})}function _i(t,e,n){for(var r=-1,i=e.length,a={};++r-1;)s!==t&&Pe.call(s,u,1),Pe.call(t,u,1);return t}function wi(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;Ha(i)?Pe.call(t,i,1):Di(t,i)}}return t}function bi(t,e){return t+Nn(Xn()*(e-t+1))}function xi(t,e){var n="";if(!t||e<1||e>R)return n;do{e%2&&(n+=t),(e=Nn(e/2))&&(t+=t)}while(e);return n}function ki(t,e){return io(Ka(t,e,Mu),t+"")}function Ei(t){return Er(pu(t))}function Si(t,e){var n=pu(t);return so(n,Br(e,0,n.length))}function ji(t,e,n,i){if(!Ts(t))return t;for(var a=-1,o=(e=Wi(e,t)).length,s=o-1,u=t;null!=u&&++ai?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=$t(i);++r>>1,o=t[a];null!==o&&!Fs(o)&&(n?o<=e:o=i){var c=e?null:xa(t);if(c)return Tn(c);s=!1,a=mn,l=new br}else l=e?[]:u;t:for(;++r=i?t:Mi(t,e,n)}var Xi=Fn||function(t){return Ie.clearTimeout(t)};function $i(t,e){if(e)return t.slice();var n=t.length,r=Me?Me(n):new t.constructor(n);return t.copy(r),r}function Ji(t){var e=new t.constructor(t.byteLength);return new Ce(e).set(new Ce(t)),e}function Qi(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ki(t,e){if(t!==e){var n=t!==r,i=null===t,a=t==t,o=Fs(t),s=e!==r,u=null===e,l=e==e,c=Fs(e);if(!u&&!c&&!o&&t>e||o&&s&&l&&!u&&!c||i&&s&&l||!n&&l||!a)return 1;if(!i&&!o&&!c&&t1?n[a-1]:r,s=a>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(a--,o):r,s&&Wa(n[0],n[1],s)&&(o=a<3?r:o,a=1),e=ee(e);++i-1?a[o?e[s]:s]:r}}function ha(t){return Ca(function(e){var n=e.length,i=n,a=gr.prototype.thru;for(t&&e.reverse();i--;){var s=e[i];if("function"!=typeof s)throw new ie(o);if(a&&!u&&"wrapper"==La(s))var u=new gr([],!0)}for(i=u?i:n;++i1&&_.reverse(),f&&lu))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var f=-1,h=!0,v=n&d?new br:r;for(o.set(t,e),o.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ft,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return He(D,function(n){var r="_."+n[0];e&n[1]&&!Xe(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Pt);return e?e[1].split(Ot):[]}(r),n)))}function oo(t){var e=0,n=0;return function(){var i=Zn(),a=A-(i-n);if(n=i,a>0){if(++e>=T)return arguments[0]}else e=0;return t.apply(r,arguments)}}function so(t,e){var n=-1,i=t.length,a=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return Ro(t,n="function"==typeof n?(t.pop(),n):r)});function No(t){var e=pr(t);return e.__chain__=!0,e}function Uo(t,e){return e(t)}var zo=Ca(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,a=function(e){return Lr(e,t)};return!(e>1||this.__actions__.length)&&i instanceof mr&&Ha(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:Uo,args:[a],thisArg:r}),new gr(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(a)});var qo=ia(function(t,e,n){ce.call(t,n)?++t[n]:Rr(t,n,1)});var Vo=fa(go),Go=fa(mo);function Ho(t,e){return(ms(t)?He:Nr)(t,Fa(e,3))}function Wo(t,e){return(ms(t)?We:Ur)(t,Fa(e,3))}var Zo=ia(function(t,e,n){ce.call(t,n)?t[n].push(e):Rr(t,n,[e])});var Yo=ki(function(t,e,n){var r=-1,i="function"==typeof e,a=ys(t)?$t(t.length):[];return Nr(t,function(t){a[++r]=i?Ve(e,t,n):ri(t,e,n)}),a}),Xo=ia(function(t,e,n){Rr(t,n,e)});function $o(t,e){return(ms(t)?Je:hi)(t,Fa(e,3))}var Jo=ia(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Qo=ki(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Wa(t,e[0],e[1])?e=[]:n>2&&Wa(e[0],e[1],e[2])&&(e=[e[0]]),mi(t,Gr(e,1),[])}),Ko=Pn||function(){return Ie.Date.now()};function ts(t,e,n){return e=n?r:e,e=t&&null==e?t.length:e,Ea(t,x,r,r,r,r,e)}function es(t,e){var n;if("function"!=typeof e)throw new ie(o);return t=zs(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var ns=ki(function(t,e,n){var r=v;if(n.length){var i=jn(n,Ba(ns));r|=w}return Ea(t,r,e,n,i)}),rs=ki(function(t,e,n){var r=v|g;if(n.length){var i=jn(n,Ba(rs));r|=w}return Ea(e,r,t,n,i)});function is(t,e,n){var i,a,s,u,l,c,f=0,h=!1,p=!1,d=!0;if("function"!=typeof t)throw new ie(o);function v(e){var n=i,o=a;return i=a=r,f=e,u=t.apply(o,n)}function g(t){var n=t-c;return c===r||n>=e||n<0||p&&t-f>=s}function m(){var t=Ko();if(g(t))return _(t);l=ro(m,function(t){var n=e-(t-c);return p?Wn(n,s-(t-f)):n}(t))}function _(t){return l=r,d&&i?v(t):(i=a=r,u)}function y(){var t=Ko(),n=g(t);if(i=arguments,a=this,c=t,n){if(l===r)return function(t){return f=t,l=ro(m,e),h?v(t):u}(c);if(p)return l=ro(m,e),v(c)}return l===r&&(l=ro(m,e)),u}return e=Vs(e)||0,Ts(n)&&(h=!!n.leading,s=(p="maxWait"in n)?Hn(Vs(n.maxWait)||0,e):s,d="trailing"in n?!!n.trailing:d),y.cancel=function(){l!==r&&Xi(l),f=0,i=c=a=l=r},y.flush=function(){return l===r?u:_(Ko())},y}var as=ki(function(t,e){return Or(t,1,e)}),os=ki(function(t,e,n){return Or(t,Vs(e)||0,n)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(ss.Cache||wr),n}function us(t){if("function"!=typeof t)throw new ie(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=wr;var ls=Zi(function(t,e){var n=(e=1==e.length&&ms(e[0])?Je(e[0],vn(Fa())):Je(Gr(e,1),vn(Fa()))).length;return ki(function(r){for(var i=-1,a=Wn(r.length,n);++i=e}),gs=ii(function(){return arguments}())?ii:function(t){return As(t)&&ce.call(t,"callee")&&!Fe.call(t,"callee")},ms=$t.isArray,_s=Oe?vn(Oe):function(t){return As(t)&&Qr(t)==ot};function ys(t){return null!=t&&js(t.length)&&!Es(t)}function ws(t){return As(t)&&ys(t)}var bs=zn||Vu,xs=De?vn(De):function(t){return As(t)&&Qr(t)==V};function ks(t){if(!As(t))return!1;var e=Qr(t);return e==H||e==G||"string"==typeof t.message&&"string"==typeof t.name&&!Is(t)}function Es(t){if(!Ts(t))return!1;var e=Qr(t);return e==W||e==Z||e==z||e==Q}function Ss(t){return"number"==typeof t&&t==zs(t)}function js(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=R}function Ts(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function As(t){return null!=t&&"object"==typeof t}var Cs=Ne?vn(Ne):function(t){return As(t)&&za(t)==Y};function Ms(t){return"number"==typeof t||As(t)&&Qr(t)==X}function Is(t){if(!As(t)||Qr(t)!=J)return!1;var e=Re(t);if(null===e)return!0;var n=ce.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&le.call(n)==de}var Rs=Ue?vn(Ue):function(t){return As(t)&&Qr(t)==K};var Ls=ze?vn(ze):function(t){return As(t)&&za(t)==tt};function Bs(t){return"string"==typeof t||!ms(t)&&As(t)&&Qr(t)==et}function Fs(t){return"symbol"==typeof t||As(t)&&Qr(t)==nt}var Ps=qe?vn(qe):function(t){return As(t)&&js(t.length)&&!!Ee[Qr(t)]};var Os=ya(fi),Ds=ya(function(t,e){return t<=e});function Ns(t){if(!t)return[];if(ys(t))return Bs(t)?Mn(t):na(t);if(fn&&t[fn])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[fn]());var e=za(t);return(e==Y?En:e==tt?Tn:pu)(t)}function Us(t){return t?(t=Vs(t))===I||t===-I?(t<0?-1:1)*L:t==t?t:0:0===t?t:0}function zs(t){var e=Us(t),n=e%1;return e==e?n?e-n:e:0}function qs(t){return t?Br(zs(t),0,F):0}function Vs(t){if("number"==typeof t)return t;if(Fs(t))return B;if(Ts(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ts(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Rt,"");var n=Vt.test(t);return n||Ht.test(t)?Ae(t.slice(2),n?2:8):qt.test(t)?B:+t}function Gs(t){return ra(t,au(t))}function Hs(t){return null==t?"":Pi(t)}var Ws=aa(function(t,e){if($a(e)||ys(e))ra(e,iu(e),t);else for(var n in e)ce.call(e,n)&&Ar(t,n,e[n])}),Zs=aa(function(t,e){ra(e,au(e),t)}),Ys=aa(function(t,e,n,r){ra(e,au(e),t,r)}),Xs=aa(function(t,e,n,r){ra(e,iu(e),t,r)}),$s=Ca(Lr);var Js=ki(function(t,e){t=ee(t);var n=-1,i=e.length,a=i>2?e[2]:r;for(a&&Wa(e[0],e[1],a)&&(i=1);++n1),e}),ra(t,Ia(t),n),r&&(n=Fr(n,c|f|h,Ta));for(var i=e.length;i--;)Di(n,e[i]);return n});var lu=Ca(function(t,e){return null==t?{}:function(t,e){return _i(t,e,function(e,n){return tu(t,n)})}(t,e)});function cu(t,e){if(null==t)return{};var n=Je(Ia(t),function(t){return[t]});return e=Fa(e),_i(t,n,function(t,n){return e(t,n[0])})}var fu=ka(iu),hu=ka(au);function pu(t){return null==t?[]:gn(t,iu(t))}var du=la(function(t,e,n){return e=e.toLowerCase(),t+(n?vu(e):e)});function vu(t){return ku(Hs(t).toLowerCase())}function gu(t){return(t=Hs(t))&&t.replace(Zt,wn).replace(me,"")}var mu=la(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),_u=la(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),yu=ua("toLowerCase");var wu=la(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var bu=la(function(t,e,n){return t+(n?" ":"")+ku(e)});var xu=la(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),ku=ua("toUpperCase");function Eu(t,e,n){return t=Hs(t),(e=n?r:e)===r?function(t){return be.test(t)}(t)?function(t){return t.match(ye)||[]}(t):function(t){return t.match(Dt)||[]}(t):t.match(e)||[]}var Su=ki(function(t,e){try{return Ve(t,r,e)}catch(t){return ks(t)?t:new Qt(t)}}),ju=Ca(function(t,e){return He(e,function(e){e=lo(e),Rr(t,e,ns(t[e],t))}),t});function Tu(t){return function(){return t}}var Au=ha(),Cu=ha(!0);function Mu(t){return t}function Iu(t){return ui("function"==typeof t?t:Fr(t,c))}var Ru=ki(function(t,e){return function(n){return ri(n,t,e)}}),Lu=ki(function(t,e){return function(n){return ri(t,n,e)}});function Bu(t,e,n){var r=iu(e),i=Xr(e,r);null!=n||Ts(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Xr(e,iu(e)));var a=!(Ts(n)&&"chain"in n&&!n.chain),o=Es(t);return He(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=na(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Qe([this.value()],arguments))})}),t}function Fu(){}var Pu=ga(Je),Ou=ga(Ze),Du=ga(en);function Nu(t){return Za(t)?cn(lo(t)):function(t){return function(e){return $r(e,t)}}(t)}var Uu=_a(),zu=_a(!0);function qu(){return[]}function Vu(){return!1}var Gu=va(function(t,e){return t+e},0),Hu=ba("ceil"),Wu=va(function(t,e){return t/e},1),Zu=ba("floor");var Yu,Xu=va(function(t,e){return t*e},1),$u=ba("round"),Ju=va(function(t,e){return t-e},0);return pr.after=function(t,e){if("function"!=typeof e)throw new ie(o);return t=zs(t),function(){if(--t<1)return e.apply(this,arguments)}},pr.ary=ts,pr.assign=Ws,pr.assignIn=Zs,pr.assignInWith=Ys,pr.assignWith=Xs,pr.at=$s,pr.before=es,pr.bind=ns,pr.bindAll=ju,pr.bindKey=rs,pr.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return ms(t)?t:[t]},pr.chain=No,pr.chunk=function(t,e,n){e=(n?Wa(t,e,n):e===r)?1:Hn(zs(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var a=0,o=0,s=$t(Dn(i/e));aa?0:a+n),(i=i===r||i>a?a:zs(i))<0&&(i+=a),i=n>i?0:qs(i);n>>0)?(t=Hs(t))&&("string"==typeof e||null!=e&&!Rs(e))&&!(e=Pi(e))&&kn(t)?Yi(Mn(t),0,n):t.split(e,n):[]},pr.spread=function(t,e){if("function"!=typeof t)throw new ie(o);return e=null==e?0:Hn(zs(e),0),ki(function(n){var r=n[e],i=Yi(n,0,e);return r&&Qe(i,r),Ve(t,this,i)})},pr.tail=function(t){var e=null==t?0:t.length;return e?Mi(t,1,e):[]},pr.take=function(t,e,n){return t&&t.length?Mi(t,0,(e=n||e===r?1:zs(e))<0?0:e):[]},pr.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Mi(t,(e=i-(e=n||e===r?1:zs(e)))<0?0:e,i):[]},pr.takeRightWhile=function(t,e){return t&&t.length?Ui(t,Fa(e,3),!1,!0):[]},pr.takeWhile=function(t,e){return t&&t.length?Ui(t,Fa(e,3)):[]},pr.tap=function(t,e){return e(t),t},pr.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(o);return Ts(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),is(t,e,{leading:r,maxWait:e,trailing:i})},pr.thru=Uo,pr.toArray=Ns,pr.toPairs=fu,pr.toPairsIn=hu,pr.toPath=function(t){return ms(t)?Je(t,lo):Fs(t)?[t]:na(uo(Hs(t)))},pr.toPlainObject=Gs,pr.transform=function(t,e,n){var r=ms(t),i=r||bs(t)||Ps(t);if(e=Fa(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:Ts(t)&&Es(a)?dr(Re(t)):{}}return(i?He:Zr)(t,function(t,r,i){return e(n,t,r,i)}),n},pr.unary=function(t){return ts(t,1)},pr.union=Ao,pr.unionBy=Co,pr.unionWith=Mo,pr.uniq=function(t){return t&&t.length?Oi(t):[]},pr.uniqBy=function(t,e){return t&&t.length?Oi(t,Fa(e,2)):[]},pr.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?Oi(t,r,e):[]},pr.unset=function(t,e){return null==t||Di(t,e)},pr.unzip=Io,pr.unzipWith=Ro,pr.update=function(t,e,n){return null==t?t:Ni(t,e,Hi(n))},pr.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Ni(t,e,Hi(n),i)},pr.values=pu,pr.valuesIn=function(t){return null==t?[]:gn(t,au(t))},pr.without=Lo,pr.words=Eu,pr.wrap=function(t,e){return cs(Hi(e),t)},pr.xor=Bo,pr.xorBy=Fo,pr.xorWith=Po,pr.zip=Oo,pr.zipObject=function(t,e){return Vi(t||[],e||[],Ar)},pr.zipObjectDeep=function(t,e){return Vi(t||[],e||[],ji)},pr.zipWith=Do,pr.entries=fu,pr.entriesIn=hu,pr.extend=Zs,pr.extendWith=Ys,Bu(pr,pr),pr.add=Gu,pr.attempt=Su,pr.camelCase=du,pr.capitalize=vu,pr.ceil=Hu,pr.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=Vs(n))==n?n:0),e!==r&&(e=(e=Vs(e))==e?e:0),Br(Vs(t),e,n)},pr.clone=function(t){return Fr(t,h)},pr.cloneDeep=function(t){return Fr(t,c|h)},pr.cloneDeepWith=function(t,e){return Fr(t,c|h,e="function"==typeof e?e:r)},pr.cloneWith=function(t,e){return Fr(t,h,e="function"==typeof e?e:r)},pr.conformsTo=function(t,e){return null==e||Pr(t,e,iu(e))},pr.deburr=gu,pr.defaultTo=function(t,e){return null==t||t!=t?e:t},pr.divide=Wu,pr.endsWith=function(t,e,n){t=Hs(t),e=Pi(e);var i=t.length,a=n=n===r?i:Br(zs(n),0,i);return(n-=e.length)>=0&&t.slice(n,a)==e},pr.eq=ps,pr.escape=function(t){return(t=Hs(t))&&kt.test(t)?t.replace(bt,bn):t},pr.escapeRegExp=function(t){return(t=Hs(t))&&It.test(t)?t.replace(Mt,"\\$&"):t},pr.every=function(t,e,n){var i=ms(t)?Ze:zr;return n&&Wa(t,e,n)&&(e=r),i(t,Fa(e,3))},pr.find=Vo,pr.findIndex=go,pr.findKey=function(t,e){return rn(t,Fa(e,3),Zr)},pr.findLast=Go,pr.findLastIndex=mo,pr.findLastKey=function(t,e){return rn(t,Fa(e,3),Yr)},pr.floor=Zu,pr.forEach=Ho,pr.forEachRight=Wo,pr.forIn=function(t,e){return null==t?t:Hr(t,Fa(e,3),au)},pr.forInRight=function(t,e){return null==t?t:Wr(t,Fa(e,3),au)},pr.forOwn=function(t,e){return t&&Zr(t,Fa(e,3))},pr.forOwnRight=function(t,e){return t&&Yr(t,Fa(e,3))},pr.get=Ks,pr.gt=ds,pr.gte=vs,pr.has=function(t,e){return null!=t&&qa(t,e,ti)},pr.hasIn=tu,pr.head=yo,pr.identity=Mu,pr.includes=function(t,e,n,r){t=ys(t)?t:pu(t),n=n&&!r?zs(n):0;var i=t.length;return n<0&&(n=Hn(i+n,0)),Bs(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&on(t,e,n)>-1},pr.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:zs(n);return i<0&&(i=Hn(r+i,0)),on(t,e,i)},pr.inRange=function(t,e,n){return e=Us(e),n===r?(n=e,e=0):n=Us(n),function(t,e,n){return t>=Wn(e,n)&&t=-R&&t<=R},pr.isSet=Ls,pr.isString=Bs,pr.isSymbol=Fs,pr.isTypedArray=Ps,pr.isUndefined=function(t){return t===r},pr.isWeakMap=function(t){return As(t)&&za(t)==it},pr.isWeakSet=function(t){return As(t)&&Qr(t)==at},pr.join=function(t,e){return null==t?"":Vn.call(t,e)},pr.kebabCase=mu,pr.last=ko,pr.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i;return n!==r&&(a=(a=zs(n))<0?Hn(i+a,0):Wn(a,i-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,a):an(t,un,a,!0)},pr.lowerCase=_u,pr.lowerFirst=yu,pr.lt=Os,pr.lte=Ds,pr.max=function(t){return t&&t.length?qr(t,Mu,Kr):r},pr.maxBy=function(t,e){return t&&t.length?qr(t,Fa(e,2),Kr):r},pr.mean=function(t){return ln(t,Mu)},pr.meanBy=function(t,e){return ln(t,Fa(e,2))},pr.min=function(t){return t&&t.length?qr(t,Mu,fi):r},pr.minBy=function(t,e){return t&&t.length?qr(t,Fa(e,2),fi):r},pr.stubArray=qu,pr.stubFalse=Vu,pr.stubObject=function(){return{}},pr.stubString=function(){return""},pr.stubTrue=function(){return!0},pr.multiply=Xu,pr.nth=function(t,e){return t&&t.length?gi(t,zs(e)):r},pr.noConflict=function(){return Ie._===this&&(Ie._=ve),this},pr.noop=Fu,pr.now=Ko,pr.pad=function(t,e,n){t=Hs(t);var r=(e=zs(e))?Cn(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ma(Nn(i),n)+t+ma(Dn(i),n)},pr.padEnd=function(t,e,n){t=Hs(t);var r=(e=zs(e))?Cn(t):0;return e&&re){var i=t;t=e,e=i}if(n||t%1||e%1){var a=Xn();return Wn(t+a*(e-t+Te("1e-"+((a+"").length-1))),e)}return bi(t,e)},pr.reduce=function(t,e,n){var r=ms(t)?Ke:hn,i=arguments.length<3;return r(t,Fa(e,4),n,i,Nr)},pr.reduceRight=function(t,e,n){var r=ms(t)?tn:hn,i=arguments.length<3;return r(t,Fa(e,4),n,i,Ur)},pr.repeat=function(t,e,n){return e=(n?Wa(t,e,n):e===r)?1:zs(e),xi(Hs(t),e)},pr.replace=function(){var t=arguments,e=Hs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},pr.result=function(t,e,n){var i=-1,a=(e=Wi(e,t)).length;for(a||(a=1,t=r);++iR)return[];var n=F,r=Wn(t,F);e=Fa(e),t-=F;for(var i=dn(r,e);++n=o)return t;var u=n-Cn(i);if(u<1)return i;var l=s?Yi(s,0,u).join(""):t.slice(0,u);if(a===r)return l+i;if(s&&(u+=l.length-u),Rs(a)){if(t.slice(u).search(a)){var c,f=l;for(a.global||(a=ne(a.source,Hs(zt.exec(a))+"g")),a.lastIndex=0;c=a.exec(f);)var h=c.index;l=l.slice(0,h===r?u:h)}}else if(t.indexOf(Pi(a),u)!=u){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i},pr.unescape=function(t){return(t=Hs(t))&&xt.test(t)?t.replace(wt,In):t},pr.uniqueId=function(t){var e=++fe;return Hs(t)+e},pr.upperCase=xu,pr.upperFirst=ku,pr.each=Ho,pr.eachRight=Wo,pr.first=yo,Bu(pr,(Yu={},Zr(pr,function(t,e){ce.call(pr.prototype,e)||(Yu[e]=t)}),Yu),{chain:!1}),pr.VERSION="4.17.11",He(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){pr[t].placeholder=pr}),He(["drop","take"],function(t,e){mr.prototype[t]=function(n){n=n===r?1:Hn(zs(n),0);var i=this.__filtered__&&!e?new mr(this):this.clone();return i.__filtered__?i.__takeCount__=Wn(n,i.__takeCount__):i.__views__.push({size:Wn(n,F),type:t+(i.__dir__<0?"Right":"")}),i},mr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),He(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==C||3==n;mr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Fa(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),He(["head","last"],function(t,e){var n="take"+(e?"Right":"");mr.prototype[t]=function(){return this[n](1).value()[0]}}),He(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");mr.prototype[t]=function(){return this.__filtered__?new mr(this):this[n](1)}}),mr.prototype.compact=function(){return this.filter(Mu)},mr.prototype.find=function(t){return this.filter(t).head()},mr.prototype.findLast=function(t){return this.reverse().find(t)},mr.prototype.invokeMap=ki(function(t,e){return"function"==typeof t?new mr(this):this.map(function(n){return ri(n,t,e)})}),mr.prototype.reject=function(t){return this.filter(us(Fa(t)))},mr.prototype.slice=function(t,e){t=zs(t);var n=this;return n.__filtered__&&(t>0||e<0)?new mr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=zs(e))<0?n.dropRight(-e):n.take(e-t)),n)},mr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},mr.prototype.toArray=function(){return this.take(F)},Zr(mr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=pr[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(pr.prototype[e]=function(){var e=this.__wrapped__,s=i?[1]:arguments,u=e instanceof mr,l=s[0],c=u||ms(e),f=function(t){var e=a.apply(pr,Qe([t],s));return i&&h?e[0]:e};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,p=!!this.__actions__.length,d=o&&!h,v=u&&!p;if(!o&&c){e=v?e:new mr(this);var g=t.apply(e,s);return g.__actions__.push({func:Uo,args:[f],thisArg:r}),new gr(g,h)}return d&&v?t.apply(this,s):(g=this.thru(f),d?i?g.value()[0]:g.value():g)})}),He(["pop","push","shift","sort","splice","unshift"],function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);pr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(ms(i)?i:[],t)}return this[n](function(n){return e.apply(ms(n)?n:[],t)})}}),Zr(mr.prototype,function(t,e){var n=pr[e];if(n){var r=n.name+"";(ir[r]||(ir[r]=[])).push({name:e,func:n})}}),ir[pa(r,g).name]=[{name:"wrapper",func:r}],mr.prototype.clone=function(){var t=new mr(this.__wrapped__);return t.__actions__=na(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=na(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=na(this.__views__),t},mr.prototype.reverse=function(){if(this.__filtered__){var t=new mr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},mr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=ms(t),r=e<0,i=n?t.length:0,a=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},pr.prototype.plant=function(t){for(var e,n=this;n instanceof vr;){var i=fo(n);i.__index__=0,i.__values__=r,e?a.__wrapped__=i:e=i;var a=i;n=n.__wrapped__}return a.__wrapped__=t,e},pr.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof mr){var e=t;return this.__actions__.length&&(e=new mr(this)),(e=e.reverse()).__actions__.push({func:Uo,args:[To],thisArg:r}),new gr(e,this.__chain__)}return this.thru(To)},pr.prototype.toJSON=pr.prototype.valueOf=pr.prototype.value=function(){return zi(this.__wrapped__,this.__actions__)},pr.prototype.first=pr.prototype.head,fn&&(pr.prototype[fn]=function(){return this}),pr}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ie._=Rn,define(function(){return Rn})):Le?((Le.exports=Rn)._=Rn,Re._=Rn):Ie._=Rn}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],76:[function(t,e,n){(function(n){t("path");var r=t("fs");function i(){this.types=Object.create(null),this.extensions=Object.create(null)}i.prototype.define=function(t){for(var e in t){for(var r=t[e],i=0;i=0;--s)if(h[s]=f,f*=l[s],p=Math.max(p,o.scratchMemory(l[s])),e.shape[s]!==n.shape[s])throw new Error("Shape mismatch, real and imaginary arrays must have same size");var d,v=4*f+p;d="array"===e.dtype||"float64"===e.dtype||"custom"===e.dtype?a.mallocDouble(v):a.mallocFloat(v);var g,m,_,y,w=i(d,l.slice(0),h,0),b=i(d,l.slice(0),h.slice(0),f),x=i(d,l.slice(0),h.slice(0),2*f),k=i(d,l.slice(0),h.slice(0),3*f),E=4*f;for(r.assign(w,e),r.assign(b,n),s=c-1;s>=0&&(o(t,f/l[s],l[s],d,w.offset,b.offset,E),0!==s);--s){for(m=1,_=x.stride,y=k.stride,u=s-1;u=0;--u)y[u]=_[u]=m,m*=l[u];r.assign(x,w),r.assign(k,b),g=w,w=x,x=g,g=b,b=k,k=g}r.assign(e,w),r.assign(n,b),a.free(d)}},{"./lib/fft-matrix.js":79,ndarray:84,"ndarray-ops":81,"typedarray-pool":144}],79:[function(t,e,n){var r=t("bit-twiddle");function i(t,e,n,i,a,o){var s,u,l,c,f,h,p,d,v,g,m,_,y,w,b,x,k,E,S,j,T,A,C,M;for(t|=0,e|=0,a|=0,o|=0,s=n|=0,u=r.log2(s),E=0;E>1,f=0,l=0;l>=1;f+=h}for(m=-1,_=0,g=1,d=0;d>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];n[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),n[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),n[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),n[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var u={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in u){var e=u[t];n[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),n[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var l={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in l){var e=l[t];n[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),n[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),n[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),n[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),n.norm1=r({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),n.sup=r({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),n.inf=r({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),n.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),n.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),n.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),n.equals=r({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":16}],82:[function(t,e,n){"use strict";var r=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var n=[],a=t,o=1;Array.isArray(a);)n.push(a.length),o*=a.length,a=a[0];return 0===n.length?r():(e||(e=r(new Float64Array(o),n)),i(e,t),e)}},{"./doConvert.js":83,ndarray:84}],83:[function(t,e,n){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":16}],84:[function(t,e,n){var r=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,n=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+n+"_set("+u.join(",")+",v){"),i?a.push("return this.data.set("+c+",v)}"):a.push("return this.data["+c+"]=v}"),a.push("proto.get=function "+n+"_get("+u.join(",")+"){"),i?a.push("return this.data.get("+c+")}"):a.push("return this.data["+c+"]}"),a.push("proto.index=function "+n+"_index(",u.join(),"){return "+c+"}"),a.push("proto.hi=function "+n+"_hi("+u.join(",")+"){return new "+n+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});a.push("proto.lo=function "+n+"_lo("+u.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var v=0;v=0){d=i"+v+"|0;b+=c"+v+"*d;a"+v+"-=d}");a.push("return new "+n+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),a.push("proto.step=function "+n+"_step("+u.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(v=0;v=0){c=(c+this.stride["+v+"]*i"+v+")|0}else{a.push(this.shape["+v+"]);b.push(this.stride["+v+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+n+"(data,shape,stride,offset){return new "+n+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(l[t],s)}var l={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,n,r){if(void 0===t)return(0,l.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===n){n=new Array(o);for(var s=o-1,c=1;s>=0;--s)n[s]=c,c*=e[s]}if(void 0===r)for(r=0,s=0;s>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}},{}],86:[function(t,e,n){(function(n,r){"use strict";var i=t("util"),a=t("stream"),o=e.exports=function(){a.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(o,a),o.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),n.nextTick(function(){this._process(),this._paused&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},o.prototype.write=function(t,e){return this.writable?(r.isBuffer(t)||(t=new r(t,e||this._encoding)),this._buffers.push(t),this._buffered+=t.length,this._process(),this._reads&&0==this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1)},o.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0==this._buffers.length?this._end():(this._buffers.push(null),this._process()))},o.prototype.destroySoon=o.prototype.end,o.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},o.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},o.prototype._process=function(){for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess){this._reads.shift(),(a=this._buffers[0]).length>t.length?(this._buffered-=t.length,this._buffers[0]=a.slice(t.length),t.func.call(this,a.slice(0,t.length))):(this._buffered-=a.length,this._buffers.shift(),t.func.call(this,a))}else{if(!(this._buffered>=t.length))break;this._reads.shift();for(var e=0,n=0,i=new r(t.length);e0&&this._buffers.splice(0,n),this._buffered-=t.length,t.func.call(this,i)}}this._buffers&&this._buffers.length>0&&null==this._buffers[0]&&this._end()}}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,buffer:5,stream:139,util:150}],87:[function(t,e,n){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLOR_PALETTE:1,COLOR_COLOR:2,COLOR_ALPHA:4}},{}],88:[function(t,e,n){"use strict";var r=t("util"),i=t("stream"),a=e.exports=function(){i.call(this),this._crc=-1,this.writable=!0};r.inherits(a,i),a.prototype.write=function(t){for(var e=0;e>>8;return!0},a.prototype.end=function(t){t&&this.write(t),this.emit("crc",this.crc32())},a.prototype.crc32=function(){return-1^this._crc},a.crc32=function(t){for(var e=-1,n=0;n>>8;return-1^e};for(var o=[],s=0;s<256;s++){for(var u=s,l=0;l<8;l++)1&u?u=3988292384^u>>>1:u>>>=1;o[s]=u}},{stream:139,util:150}],89:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=(t("zlib"),t("./chunkstream")),a=e.exports=function(t,e,n,r,a){i.call(this),this._width=t,this._height=e,this._Bpp=n,this._data=r,this._options=a,this._line=0,"filterType"in a&&-1!=a.filterType?"number"==typeof a.filterType&&(a.filterType=[a.filterType]):a.filterType=[0,1,2,3,4],this._filters={0:this._filterNone.bind(this),1:this._filterSub.bind(this),2:this._filterUp.bind(this),3:this._filterAvg.bind(this),4:this._filterPaeth.bind(this)},this.read(this._width*n+1,this._reverseFilterLine.bind(this))};r.inherits(a,i);var o={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};a.prototype._reverseFilterLine=function(t){var e=this._data,n=this._width<<2,r=this._line*n,i=t[0];if(0==i)for(var a=0;a0?e[u+c-4]:0;e[u+c]=255!=f?t[l+f]+h:255}else if(2==i)for(a=0;a0?e[u-n+c]:0;e[u+c]=255!=f?t[l+f]+p:255}else if(3==i)for(a=0;a0?e[u+c-4]:0,p=this._line>0?e[u-n+c]:0;var d=Math.floor((h+p)/2);e[u+c]=255!=f?t[l+f]+d:255}else if(4==i)for(a=0;a0?e[u+c-4]:0,p=this._line>0?e[u-n+c]:0;var v=a>0&&this._line>0?e[u-n+c-4]:0;d=s(h,p,v);e[u+c]=255!=f?t[l+f]+d:255}this._line++,this._line=4?t[e*r+o-4]:0,u=t[e*r+o]-s;n?n[e*i+1+o]=u:a+=Math.abs(u)}return a},a.prototype._filterUp=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=2);for(var o=0;o0?t[(e-1)*r+o]:0,u=t[e*r+o]-s;n?n[e*i+1+o]=u:a+=Math.abs(u)}return a},a.prototype._filterAvg=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=3);for(var o=0;o=4?t[e*r+o-4]:0,u=e>0?t[(e-1)*r+o]:0,l=t[e*r+o]-(s+u>>1);n?n[e*i+1+o]=l:a+=Math.abs(l)}return a},a.prototype._filterPaeth=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=4);for(var o=0;o=4?t[e*r+o-4]:0,l=e>0?t[(e-1)*r+o]:0,c=o>=4&&e>0?t[(e-1)*r+o-4]:0,f=t[e*r+o]-s(u,l,c);n?n[e*i+1+o]=f:a+=Math.abs(f)}return a};var s=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),a=Math.abs(r-e),o=Math.abs(r-n);return i<=a&&i<=o?t:a<=o?e:n}}).call(this,t("buffer").Buffer)},{"./chunkstream":86,buffer:5,util:150,zlib:46}],90:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("stream"),a=t("zlib"),o=t("./filter"),s=t("./crc"),u=t("./constants"),l=e.exports=function(t){i.call(this),this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=t.deflateLevel||9,t.deflateStrategy=t.deflateStrategy||3,this.readable=!0};r.inherits(l,i),l.prototype.pack=function(t,e,r){this.emit("data",new n(u.PNG_SIGNATURE)),this.emit("data",this._packIHDR(e,r));t=new o(e,r,4,t,this._options).filter();var i=a.createDeflate({chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy});i.on("error",this.emit.bind(this,"error")),i.on("data",function(t){this.emit("data",this._packIDAT(t))}.bind(this)),i.on("end",function(){this.emit("data",this._packIEND()),this.emit("end")}.bind(this)),i.end(t)},l.prototype._packChunk=function(t,e){var r=e?e.length:0,i=new n(r+12);return i.writeUInt32BE(r,0),i.writeUInt32BE(t,4),e&&e.copy(i,8),i.writeInt32BE(s.crc32(i.slice(4,i.length-4)),i.length-4),i},l.prototype._packIHDR=function(t,e){var r=new n(13);return r.writeUInt32BE(t,0),r.writeUInt32BE(e,4),r[8]=8,r[9]=6,r[10]=0,r[11]=0,r[12]=0,this._packChunk(u.TYPE_IHDR,r)},l.prototype._packIDAT=function(t){return this._packChunk(u.TYPE_IDAT,t)},l.prototype._packIEND=function(){return this._packChunk(u.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./constants":87,"./crc":88,"./filter":89,buffer:5,stream:139,util:150,zlib:46}],91:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("zlib"),a=t("./crc"),o=t("./chunkstream"),s=t("./constants"),u=t("./filter"),l=e.exports=function(t){o.call(this),this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._inflate=null,this._filter=null,this._crc=null,this._palette=[],this._colorType=0,this._chunks={},this._chunks[s.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[s.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[s.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[s.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[s.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[s.TYPE_gAMA]=this._handleGAMA.bind(this),this.writable=!0,this.on("error",this._handleError.bind(this)),this._handleSignature()};r.inherits(l,o),l.prototype._handleError=function(){this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy()},l.prototype._handleSignature=function(){this.read(s.PNG_SIGNATURE.length,this._parseSignature.bind(this))},l.prototype._parseSignature=function(t){for(var e=s.PNG_SIGNATURE,n=0;nthis._palette.length)return void this.emit("error",new Error("More transparent colors than palette size"));for(var e=0;e0?this._handleIDAT(t):this._handleChunkEnd()},l.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},l.prototype._parseIEND=function(t){this._crc.write(t),this._inflate.end(),this._hasIEND=!0,this._handleChunkEnd()};var c={0:1,2:3,3:1,4:2,6:4};l.prototype._reverseFiltered=function(t,e,n){if(3==this._colorType)for(var r=e<<2,i=0;i0&&this.height>0?new r(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new o(t||{}),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(u,a),u.prototype.pack=function(){return e.nextTick(function(){this._packer.pack(this.data,this.width,this.height)}.bind(this)),this},u.prototype.parse=function(t,e){if(e){var n,r=null;this.once("parsed",n=function(t){this.removeListener("error",r),this.data=t,e(null,this)}.bind(this)),this.once("error",r=function(t){this.removeListener("parsed",n),e(t,null)}.bind(this))}return this.end(t),this},u.prototype.write=function(t){return this._parser.write(t),!0},u.prototype.end=function(t){this._parser.end(t)},u.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.data=t.data,delete t.data,this.emit("metadata",t)},u.prototype._gamma=function(t){this.gamma=t},u.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},u.prototype.bitblt=function(t,e,n,r,i,a,o){if(e>this.width||n>this.height||e+r>this.width||n+i>this.height)throw new Error("bitblt reading outside image");if(a>t.width||o>t.height||a+r>t.width||o+i>t.height)throw new Error("bitblt writing outside image");for(var s=0;s>=u,c-=u,g!==a){if(g===o)break;for(var m=ga;)y=d[y]>>8,++_;var w=y;if(h+_+(m!==g?1:0)>r)return void console.log("Warning, gif stream longer than expected.");n[h++]=w;var b=h+=_;for(m!==g&&(n[h++]=w),y=m;_--;)y=d[y],n[--b]=255&y,y>>=8;null!==v&&s<4096&&(d[s++]=v<<8|w,s>=l+1&&u<12&&(++u,l=l<<1|1)),v=g}else s=o+1,l=(1<<(u=i+1))-1,v=null}return h!==r&&console.log("Warning, gif stream shorter than expected."),n}try{n.GifWriter=function(t,e,n,r){var i=0,a=void 0===(r=void 0===r?{}:r).loop?null:r.loop,o=void 0===r.palette?null:r.palette;if(e<=0||n<=0||e>65535||n>65535)throw new Error("Width/Height invalid.");function s(t){var e=t.length;if(e<2||e>256||e&e-1)throw new Error("Invalid code/color length, must be power of 2 and 2 .. 256.");return e}t[i++]=71,t[i++]=73,t[i++]=70,t[i++]=56,t[i++]=57,t[i++]=97;var u=0,l=0;if(null!==o){for(var c=s(o);c>>=1;)++u;if(c=1<=c)throw new Error("Background index out of range.");if(0===l)throw new Error("Background index explicitly passed as 0.")}}if(t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&n,t[i++]=n>>8&255,t[i++]=(null!==o?128:0)|u,t[i++]=l,t[i++]=0,null!==o)for(var f=0,h=o.length;f>16&255,t[i++]=p>>8&255,t[i++]=255&p}if(null!==a){if(a<0||a>65535)throw new Error("Loop count invalid.");t[i++]=33,t[i++]=255,t[i++]=11,t[i++]=78,t[i++]=69,t[i++]=84,t[i++]=83,t[i++]=67,t[i++]=65,t[i++]=80,t[i++]=69,t[i++]=50,t[i++]=46,t[i++]=48,t[i++]=3,t[i++]=1,t[i++]=255&a,t[i++]=a>>8&255,t[i++]=0}var d=!1;this.addFrame=function(e,n,r,a,u,l){if(!0===d&&(--i,d=!1),l=void 0===l?{}:l,e<0||n<0||e>65535||n>65535)throw new Error("x/y invalid.");if(r<=0||a<=0||r>65535||a>65535)throw new Error("Width/Height invalid.");if(u.length>=1;)++p;h=1<3)throw new Error("Disposal out of range.");var m=!1,_=0;if(void 0!==l.transparent&&null!==l.transparent&&(m=!0,(_=l.transparent)<0||_>=h))throw new Error("Transparent color index.");if((0!==g||m||0!==v)&&(t[i++]=33,t[i++]=249,t[i++]=4,t[i++]=g<<2|(!0===m?1:0),t[i++]=255&v,t[i++]=v>>8&255,t[i++]=_,t[i++]=0),t[i++]=44,t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&n,t[i++]=n>>8&255,t[i++]=255&r,t[i++]=r>>8&255,t[i++]=255&a,t[i++]=a>>8&255,t[i++]=!0===c?128|p-1:0,!0===c)for(var y=0,w=f.length;y>16&255,t[i++]=b>>8&255,t[i++]=255&b}return i=function(t,e,n,r){t[e++]=n;var i=e++,a=1<=n;)t[e++]=255&f,f>>=8,c-=8,e===i+256&&(t[i]=255,i=e++)}function p(t){f|=t<=8;)t[e++]=255&f,f>>=8,c-=8,e===i+256&&(t[i]=255,i=e++);4096===u?(p(a),u=s+1,l=n+1,v={}):(u>=1<>7,s=1<<1+(7&a);t[e++],t[e++];var u=null,l=null;o&&(u=e,l=s,e+=3*s);var c=!0,f=[],h=0,p=null,d=0,v=null;for(this.width=n,this.height=i;c&&e=0))throw Error("Invalid block size");if(0===A)break;e+=A}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error("Invalid graphics extension block.");var g=t[e++];h=t[e++]|t[e++]<<8,p=t[e++],0==(1&g)&&(p=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((A=t[e++])>=0))throw Error("Invalid block size");if(0===A)break;e+=A}break;default:throw new Error("Unknown graphic control label: 0x"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,_=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++]|t[e++]<<8,b=t[e++],x=b>>6&1,k=1<<1+(7&b),E=u,S=l,j=!1;b>>7&&(j=!0,E=e,S=k,e+=3*k);var T=e;for(e++;;){var A;if(!((A=t[e++])>=0))throw Error("Invalid block size");if(0===A)break;e+=A}f.push({x:m,y:_,width:y,height:w,has_local_palette:j,palette_offset:E,palette_size:S,data_offset:T,data_length:e-T,transparent_index:p,interlaced:!!x,delay:h,disposal:d});break;case 59:c=!1;break;default:throw new Error("Unknown gif block: 0x"+t[e-1].toString(16))}this.numFrames=function(){return f.length},this.loopCount=function(){return v},this.frameInfo=function(t){if(t<0||t>=f.length)throw new Error("Frame index out of range.");return f[t]},this.decodeAndBlitFrameBGRA=function(e,i){var a=this.frameInfo(e),o=a.width*a.height,s=new Uint8Array(o);r(t,a.data_offset,s,o);var u=a.palette_offset,l=a.transparent_index;null===l&&(l=256);var c=a.width,f=n-c,h=c,p=4*(a.y*n+a.x),d=4*((a.y+a.height)*n+a.x),v=p,g=4*f;!0===a.interlaced&&(g+=4*n*7);for(var m=8,_=0,y=s.length;_=d&&(g=4*f+4*n*(m-1),v=p+(c+f)*(m<<1),m>>=1)),w===l)v+=4;else{var b=t[u+3*w],x=t[u+3*w+1],k=t[u+3*w+2];i[v++]=k,i[v++]=x,i[v++]=b,i[v++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,i){var a=this.frameInfo(e),o=a.width*a.height,s=new Uint8Array(o);r(t,a.data_offset,s,o);var u=a.palette_offset,l=a.transparent_index;null===l&&(l=256);var c=a.width,f=n-c,h=c,p=4*(a.y*n+a.x),d=4*((a.y+a.height)*n+a.x),v=p,g=4*f;!0===a.interlaced&&(g+=4*n*7);for(var m=8,_=0,y=s.length;_=d&&(g=4*f+4*n*(m-1),v=p+(c+f)*(m<<1),m>>=1)),w===l)v+=4;else{var b=t[u+3*w],x=t[u+3*w+1],k=t[u+3*w+2];i[v++]=b,i[v++]=x,i[v++]=k,i[v++]=255}--h}}}}catch(t){}},{}],94:[function(t,e,n){(function(n){var r=t("charm");function i(t){if(!(t=t||{}).total)throw new Error("You MUST specify the total number of operations that will be processed.");this.total=t.total,this.current=0,this.max_burden=t.maxBurden||.5,this.show_burden=t.showBurden||!1,this.started=!1,this.size=50,this.inner_time=0,this.outer_time=0,this.elapsed=0,this.time_start=0,this.time_end=0,this.time_left=0,this.time_burden=0,this.skip_steps=0,this.skipped=0,this.aborted=!1,this.charm=r(),this.charm.pipe(n.stdout),this.charm.write("\n\n\n")}function a(t,e,n){for(n=n||" ";t.length3&&(u[0]=u[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,o)),(u[1]||"").length=this.total&&this.finished(),this.time_end=(new Date).getTime(),this.inner_time=this.time_end-this.time_start)},i.prototype.updateTimes=function(){this.elapsed=this.time_start-this.started,this.time_end>0&&(this.outer_time=this.time_start-this.time_end),this.inner_time>0&&this.outer_time>0&&(this.time_burden=this.inner_time/(this.inner_time+this.outer_time)*100,this.time_left=this.elapsed/this.current*(this.total-this.current),this.time_left<0&&(this.time_left=0)),this.time_burden>this.max_burden&&this.skip_steps0&&this.current=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var a=n.isAbsolute(t),o="/"===i(t,-1);return(t=e(r(t.split("/"),function(t){return!!t}),!a).join("/"))||a||(t="."),t&&o&&(t+="/"),(a?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),o=Math.min(i.length,a.length),s=o,u=0;u=1;--a)if(47===(e=t.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},n.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){n=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},n.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,i=!0,a=0,o=t.length-1;o>=0;--o){var s=t.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===e?e=o:1!==a&&(a=1):-1!==e&&(a=-1);else if(!i){n=o+1;break}}return-1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)};var i="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:117}],96:[function(t,e,n){(function(e){"use strict";var r=t("./interlace"),i={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};function a(t,e,n,r,a,o){for(var s=t.width,u=t.height,l=t.index,c=0;c>4,n.push(f,c);break;case 2:u=3&h,l=h>>2&3,c=h>>4&3,f=h>>6&3,n.push(f,c,l,u);break;case 1:i=1&h,a=h>>1&1,o=h>>2&1,s=h>>3&1,u=h>>4&1,l=h>>5&1,c=h>>6&1,f=h>>7&1,n.push(f,c,l,u,s,o,a,i)}}return{get:function(t){for(;n.length0&&(this._paused=!1,this.emit("drain"))}.bind(this))},o.prototype.write=function(t,e){return this.writable?(n=r.isBuffer(t)?t:new r(t,e||this._encoding),this._buffers.push(n),this._buffered+=n.length,this._process(),this._reads&&0===this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1);var n},o.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0===this._buffers.length?this._end():(this._buffers.push(null),this._process()))},o.prototype.destroySoon=o.prototype.end,o.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},o.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},o.prototype._processReadAllowingLess=function(t){this._reads.shift();var e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))},o.prototype._processRead=function(t){this._reads.shift();for(var e=0,n=0,i=new r(t.length);e0&&this._buffers.splice(0,n),this._buffered-=t.length,t.func.call(this,i)},o.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else{if(!(this._buffered>=t.length))break;this._processRead(t)}}this._buffers&&this._buffers.length>0&&null===this._buffers[0]&&this._end()}catch(t){this.emit("error",t)}}}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,buffer:5,stream:139,util:150}],99:[function(t,e,n){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}},{}],100:[function(t,e,n){"use strict";var r=[];!function(){for(var t=0;t<256;t++){for(var e=t,n=0;n<8;n++)1&e?e=3988292384^e>>>1:e>>>=1;r[t]=e}}();var i=e.exports=function(){this._crc=-1};i.prototype.write=function(t){for(var e=0;e>>8;return!0},i.prototype.crc32=function(){return-1^this._crc},i.crc32=function(t){for(var e=-1,n=0;n>>8;return-1^e}},{}],101:[function(t,e,n){(function(n){"use strict";var r=t("./paeth-predictor");var i={0:function(t,e,n,r,i){t.copy(r,i,e,e+n)},1:function(t,e,n,r,i,a){for(var o=0;o=a?t[e+o-a]:0,u=t[e+o]-s;r[i+o]=u}},2:function(t,e,n,r,i){for(var a=0;a0?t[e+a-n]:0,s=t[e+a]-o;r[i+a]=s}},3:function(t,e,n,r,i,a){for(var o=0;o=a?t[e+o-a]:0,u=e>0?t[e+o-n]:0,l=t[e+o]-(s+u>>1);r[i+o]=l}},4:function(t,e,n,i,a,o){for(var s=0;s=o?t[e+s-o]:0,l=e>0?t[e+s-n]:0,c=e>0&&s>=o?t[e+s-(n+o)]:0,f=t[e+s]-r(u,l,c);i[a+s]=f}}},a={0:function(t,e,n){for(var r=0,i=e+n,a=e;a=r?t[e+a-r]:0,s=t[e+a]-o;i+=Math.abs(s)}return i},2:function(t,e,n){for(var r=0,i=e+n,a=e;a0?t[a-n]:0,s=t[a]-o;r+=Math.abs(s)}return r},3:function(t,e,n,r){for(var i=0,a=0;a=r?t[e+a-r]:0,s=e>0?t[e+a-n]:0,u=t[e+a]-(o+s>>1);i+=Math.abs(u)}return i},4:function(t,e,n,i){for(var a=0,o=0;o=i?t[e+o-i]:0,u=e>0?t[e+o-n]:0,l=e>0&&o>=i?t[e+o-(n+i)]:0,c=t[e+o]-r(s,u,l);a+=Math.abs(c)}return a}};e.exports=function(t,e,r,o,s){var u;if("filterType"in o&&-1!==o.filterType){if("number"!=typeof o.filterType)throw new Error("unrecognised filter types");u=[o.filterType]}else u=[0,1,2,3,4];for(var l=e*s,c=0,f=0,h=new n((l+1)*r),p=u[0],d=0;d1)for(var v=1/0,g=0;gi?e[a-r]:0;e[a]=o+s}},o.prototype._unFilterType2=function(t,e,n){for(var r=this._lastLine,i=0;ii?e[o-r]:0,c=Math.floor((l+u)/2);e[o]=s+c}},o.prototype._unFilterType4=function(t,e,n){for(var r=this._xComparison,a=r-1,o=this._lastLine,s=0;sa?e[s-r]:0,f=s>a&&o?o[s-r]:0,h=i(c,l,f);e[s]=u+h}},o.prototype._reverseFilterLine=function(t){var e,r=t[0],i=this._images[this._imageIndex],a=i.byteWidth;if(0===r)e=t.slice(1,a+1);else switch(e=new n(a),r){case 1:this._unFilterType1(t,e,a);break;case 2:this._unFilterType2(t,e,a);break;case 3:this._unFilterType3(t,e,a);break;case 4:this._unFilterType4(t,e,a);break;default:throw new Error("Unrecognised filter type - "+r)}this.write(e),i.lineIndex++,i.lineIndex>=i.height?(this._lastLine=null,this._imageIndex++,i=this._images[this._imageIndex]):this._lastLine=e,i?this.read(i.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}).call(this,t("buffer").Buffer)},{"./interlace":106,"./paeth-predictor":110,buffer:5}],105:[function(t,e,n){(function(t){"use strict";e.exports=function(e,n){var r=n.depth,i=n.width,a=n.height,o=n.colorType,s=n.transColor,u=n.palette,l=e;return 3===o?function(t,e,n,r,i){for(var a=0,o=0;o0&&f>0&&n.push({width:c,height:f,index:u})}return n},n.getInterlaceIterator=function(t){return function(e,n,i){var a=e%r[i].x.length,o=(e-a)/r[i].x.length*8+r[i].x[a],s=n%r[i].y.length;return 4*o+((n-s)/r[i].y.length*8+r[i].y[s])*t*4}}},{}],107:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("stream"),a=t("./constants"),o=t("./packer"),s=e.exports=function(t){i.call(this);var e=t||{};this._packer=new o(e),this._deflate=this._packer.createDeflate(),this.readable=!0};r.inherits(s,i),s.prototype.pack=function(t,e,r,i){this.emit("data",new n(a.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,r)),i&&this.emit("data",this._packer.packGAMA(i));var o=this._packer.filterData(t,e,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(t){this.emit("data",this._packer.packIDAT(t))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(o)}}).call(this,t("buffer").Buffer)},{"./constants":99,"./packer":109,buffer:5,stream:139,util:150}],108:[function(t,e,n){(function(n){"use strict";var r=!0,i=t("zlib");i.deflateSync||(r=!1);var a=t("./constants"),o=t("./packer");e.exports=function(t,e){if(!r)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var s=new o(e||{}),u=[];u.push(new n(a.PNG_SIGNATURE)),u.push(s.packIHDR(t.width,t.height)),t.gamma&&u.push(s.packGAMA(t.gamma));var l=s.filterData(t.data,t.width,t.height),c=i.deflateSync(l,s.getDeflateOptions());if(l=null,!c||!c.length)throw new Error("bad png - invalid compressed data response");return u.push(s.packIDAT(c)),u.push(s.packIEND()),n.concat(u)}}).call(this,t("buffer").Buffer)},{"./constants":99,"./packer":109,buffer:5,zlib:46}],109:[function(t,e,n){(function(n){"use strict";var r=t("./constants"),i=t("./crc"),a=t("./bitpacker"),o=t("./filter-pack"),s=t("zlib"),u=e.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=null!=t.deflateLevel?t.deflateLevel:9,t.deflateStrategy=null!=t.deflateStrategy?t.deflateStrategy:3,t.inputHasAlpha=null==t.inputHasAlpha||t.inputHasAlpha,t.deflateFactory=t.deflateFactory||s.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType="number"==typeof t.colorType?t.colorType:r.COLORTYPE_COLOR_ALPHA,t.colorType!==r.COLORTYPE_COLOR&&t.colorType!==r.COLORTYPE_COLOR_ALPHA)throw new Error("option color type:"+t.colorType+" is not supported at present");if(8!==t.bitDepth)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};u.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},u.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},u.prototype.filterData=function(t,e,n){var i=a(t,e,n,this._options),s=r.COLORTYPE_TO_BPP_MAP[this._options.colorType];return o(i,e,n,this._options,s)},u.prototype._packChunk=function(t,e){var r=e?e.length:0,a=new n(r+12);return a.writeUInt32BE(r,0),a.writeUInt32BE(t,4),e&&e.copy(a,8),a.writeInt32BE(i.crc32(a.slice(4,a.length-4)),a.length-4),a},u.prototype.packGAMA=function(t){var e=new n(4);return e.writeUInt32BE(Math.floor(t*r.GAMMA_DIVISION),0),this._packChunk(r.TYPE_gAMA,e)},u.prototype.packIHDR=function(t,e){var i=new n(13);return i.writeUInt32BE(t,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(r.TYPE_IHDR,i)},u.prototype.packIDAT=function(t){return this._packChunk(r.TYPE_IDAT,t)},u.prototype.packIEND=function(){return this._packChunk(r.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./bitpacker":97,"./constants":99,"./crc":100,"./filter-pack":101,buffer:5,zlib:46}],110:[function(t,e,n){"use strict";e.exports=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),a=Math.abs(r-e),o=Math.abs(r-n);return i<=a&&i<=o?t:a<=o?e:n}},{}],111:[function(t,e,n){"use strict";var r=t("util"),i=t("zlib"),a=t("./chunkstream"),o=t("./filter-parse-async"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser"),c=e.exports=function(t){a.call(this),this._parser=new s(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};r.inherits(c,a),c.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this.errord=!0},c.prototype._inflateData=function(t){this._inflate||(this._inflate=i.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter)),this._inflate.write(t)},c.prototype._handleMetaData=function(t){this.emit("metadata",t),this._bitmapInfo=Object.create(t),this._filter=new o(this._bitmapInfo)},c.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t},c.prototype._handlePalette=function(t){this._bitmapInfo.palette=t},c.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"),this.destroySoon())},c.prototype._complete=function(t){if(!this.errord){try{var e=u.dataToBitMap(t,this._bitmapInfo),n=l(e,this._bitmapInfo);e=null}catch(t){return void this._handleError(t)}this.emit("parsed",n)}}},{"./bitmapper":96,"./chunkstream":98,"./filter-parse-async":102,"./format-normaliser":105,"./parser":113,util:150,zlib:46}],112:[function(t,e,n){(function(n){"use strict";var r=!0,i=t("zlib");i.deflateSync||(r=!1);var a=t("./sync-reader"),o=t("./filter-parse-sync"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser");e.exports=function(t,e){if(!r)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var c,f,h;var p=[];var d=new a(t);if(new s(e,{read:d.read.bind(d),error:function(t){c=t},metadata:function(t){f=t},gamma:function(t){h=t},palette:function(t){f.palette=t},transColor:function(t){f.transColor=t},inflateData:function(t){p.push(t)}}).start(),d.process(),c)throw c;var v=n.concat(p);p.length=0;var g=i.inflateSync(v);if(v=null,!g||!g.length)throw new Error("bad png - invalid inflate data response");var m=o.process(g,f);v=null;var _=u.dataToBitMap(m,f);m=null;var y=l(_,f);return f.data=y,f.gamma=h||0,f}}).call(this,t("buffer").Buffer)},{"./bitmapper":96,"./filter-parse-sync":103,"./format-normaliser":105,"./parser":113,"./sync-reader":116,buffer:5,zlib:46}],113:[function(t,e,n){(function(n){"use strict";var r=t("./constants"),i=t("./crc"),a=e.exports=function(t,e){this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[r.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[r.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[r.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[r.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[r.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[r.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.inflateData=e.inflateData,this.finished=e.finished};a.prototype.start=function(){this.read(r.PNG_SIGNATURE.length,this._parseSignature.bind(this))},a.prototype._parseSignature=function(t){for(var e=r.PNG_SIGNATURE,n=0;nthis._palette.length)return void this.error(new Error("More transparent colors than palette size"));for(var e=0;e0?this._handleIDAT(n):this._handleChunkEnd()},a.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},a.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}).call(this,t("buffer").Buffer)},{"./constants":99,"./crc":100,buffer:5}],114:[function(t,e,n){"use strict";var r=t("./parser-sync"),i=t("./packer-sync");n.read=function(t,e){return r(t,e||{})},n.write=function(t){return i(t)}},{"./packer-sync":108,"./parser-sync":112}],115:[function(t,e,n){(function(e,r){"use strict";var i=t("util"),a=t("stream"),o=t("./parser-async"),s=t("./packer-async"),u=t("./png-sync"),l=n.PNG=function(t){a.call(this),t=t||{},this.width=t.width||0,this.height=t.height||0,this.data=this.width>0&&this.height>0?new r(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new o(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(l,a),l.sync=u,l.prototype.pack=function(){return this.data&&this.data.length?(e.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this):(this.emit("error","No data provided"),this)},l.prototype.parse=function(t,e){var n,r;e&&(n=function(t){this.removeListener("error",r),this.data=t,e(null,this)}.bind(this),r=function(t){this.removeListener("parsed",n),e(t,null)}.bind(this),this.once("parsed",n),this.once("error",r));return this.end(t),this},l.prototype.write=function(t){return this._parser.write(t),!0},l.prototype.end=function(t){this._parser.end(t)},l.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)},l.prototype._gamma=function(t){this.gamma=t},l.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},l.bitblt=function(t,e,n,r,i,a,o,s){if(n>t.width||r>t.height||n+i>t.width||r+a>t.height)throw new Error("bitblt reading outside image");if(o>e.width||s>e.height||o+i>e.width||s+a>e.height)throw new Error("bitblt writing outside image");for(var u=0;u0&&this._buffer.length;){var t=this._reads[0];if(!this._buffer.length||!(this._buffer.length>=t.length||t.allowLess))break;this._reads.shift();var e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}return this._reads.length>0?new Error("There are some read requests waitng on finished stream"):this._buffer.length>0?new Error("unrecognised content at end of stream"):void 0}},{}],117:[function(t,e,n){var r,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(r===setTimeout)return setTimeout(t,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(t){r=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var l,c=[],f=!1,h=-1;function p(){f&&l&&(f=!1,l.length?c=l.concat(c):h=-1,c.length&&d())}function d(){if(!f){var t=u(p);f=!0;for(var e=c.length;e;){for(l=c,c=[];++h1)for(var n=1;n0?("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),r?o.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):b(t,o,e,!0):o.ended?t.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?b(t,o,e,!1):j(t,o)):b(t,o,e,!1))):r||(o.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=x?t=x:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function E(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(p("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(S,t):S(t))}function S(t){p("emit readable"),t.emit("readable"),M(t)}function j(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(T,t,e))}function T(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;ta.length?a.length:t;if(o===a.length?i+=a:i+=a.slice(0,t),0===(t-=o)){o===a.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=a.slice(o));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=l.allocUnsafe(t),r=e.head,i=1;r.data.copy(n),t-=r.data.length;for(;r=r.next;){var a=r.data,o=t>a.length?a.length:t;if(a.copy(n,n.length-t,0,o),0===(t-=o)){o===a.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=a.slice(o));break}++i}return e.length-=i,n}(t,e);return r}(t,e.buffer,e.decoder),n);var n}function R(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(L,e,t))}function L(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function B(t,e){for(var n=0,r=t.length;n=e.highWaterMark||e.ended))return p("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?R(this):E(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&R(this),null;var r,i=e.needReadable;return p("need readable",i),(0===e.length||e.length-t0?I(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&R(this)),null!==r&&this.emit("data",r),r},y.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(t,e){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=t;break;case 1:a.pipes=[a.pipes,t];break;default:a.pipes.push(t)}a.pipesCount+=1,p("pipe count=%d opts=%j",a.pipesCount,e);var u=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:y;function l(e,n){p("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),t.removeListener("close",m),t.removeListener("finish",_),t.removeListener("drain",f),t.removeListener("error",g),t.removeListener("unpipe",l),r.removeListener("end",c),r.removeListener("end",y),r.removeListener("data",v),h=!0,!a.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function c(){p("onend"),t.end()}a.endEmitted?i.nextTick(u):r.once("end",u),t.on("unpipe",l);var f=function(t){return function(){var e=t._readableState;p("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,M(t))}}(r);t.on("drain",f);var h=!1;var d=!1;function v(e){p("ondata"),d=!1,!1!==t.write(e)||d||((1===a.pipesCount&&a.pipes===t||a.pipesCount>1&&-1!==B(a.pipes,t))&&!h&&(p("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function g(e){p("onerror",e),y(),t.removeListener("error",g),0===s(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",_),y()}function _(){p("onfinish"),t.removeListener("close",m),y()}function y(){p("unpipe"),r.unpipe(t)}return r.on("data",v),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?o(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",g),t.once("close",m),t.once("finish",_),t.emit("pipe",r),a.flowing||(p("pipe resume"),r.resume()),t},y.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a-1?i:a.nextTick;_.WritableState=m;var l=t("core-util-is");l.inherits=t("inherits");var c={deprecate:t("util-deprecate")},f=t("./internal/streams/stream"),h=t("safe-buffer").Buffer,p=r.Uint8Array||function(){};var d,v=t("./internal/streams/destroy");function g(){}function m(e,n){s=s||t("./_stream_duplex"),e=e||{};var r=n instanceof s;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var f=!1===e.decodeStrings;this.decodeStrings=!f,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(a.nextTick(i,r),a.nextTick(E,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),E(t,e))}(t,n,r,e,i);else{var o=x(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||b(t,n),r?u(w,t,n,o,i):w(t,n,o,i)}}(n,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function _(e){if(s=s||t("./_stream_duplex"),!(d.call(_,this)||this instanceof s))return new _(e);this._writableState=new m(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),f.call(this)}function y(t,e,n,r,i,a,o){e.writelen=r,e.writecb=o,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function w(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),E(t,e)}function b(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,y(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,f=n.callback;if(y(t,e,!1,e.objectMode?1:l.length,l,c,f),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function x(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final(function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),E(t,e)})}function E(t,e){var n=x(e);return n&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,a.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}l.inherits(_,f),m.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(m.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(_,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===_&&(t&&t._writableState instanceof m)}})):d=function(t){return t instanceof this},_.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},_.prototype.write=function(t,e,n){var r,i=this._writableState,o=!1,s=!i.objectMode&&(r=t,h.isBuffer(r)||r instanceof p);return s&&!h.isBuffer(t)&&(t=function(t){return h.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),a.nextTick(e,n)}(this,n):(s||function(t,e,n,r){var i=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),a.nextTick(r,o),i=!1),i}(this,i,t,n))&&(i.pendingcb++,o=function(t,e,n,r,i,a){if(!n){var o=function(t,e,n){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=h.from(e,n));return e}(e,r,i);r!==o&&(n=!0,i="buffer",r=o)}var s=e.objectMode?1:r.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(_.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),_.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},_.prototype._writev=null,_.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!==t&&void 0!==t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,E(t,e),n&&(e.finished?a.nextTick(n):t.once("finish",n));e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(_.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),_.prototype.destroy=v.destroy,_.prototype._undestroy=v.undestroy,_.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{"./_stream_duplex":119,"./internal/streams/destroy":125,"./internal/streams/stream":126,_process:117,"core-util-is":15,inherits:70,"process-nextick-args":128,"safe-buffer":134,timers:142,"util-deprecate":148}],124:[function(t,e,n){"use strict";var r=t("safe-buffer").Buffer,i=t("util");e.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i,a=r.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,n=a,i=s,e.copy(n,i),s+=o.data.length,o=o.next;return a},t}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},{"safe-buffer":134,util:4}],125:[function(t,e,n){"use strict";var r=t("process-nextick-args");function i(t,e){t.emit("error",e)}e.exports={destroy:function(t,e){var n=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{"process-nextick-args":128}],126:[function(t,e,n){e.exports=t("events").EventEmitter},{events:48}],127:[function(t,e,n){var r={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},{}],128:[function(t,e,n){(function(t){"use strict";!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(a=new Array(s-1),o=0;o>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(t.lastNeed=i-1),i;if(--r=0)return i>0&&(t.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":134}],130:[function(t,e,n){e.exports=t("./readable").PassThrough},{"./readable":131}],131:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":119,"./lib/_stream_passthrough.js":120,"./lib/_stream_readable.js":121,"./lib/_stream_transform.js":122,"./lib/_stream_writable.js":123}],132:[function(t,e,n){e.exports=t("./readable").Transform},{"./readable":131}],133:[function(t,e,n){e.exports=t("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":123}],134:[function(t,e,n){var r=t("buffer"),i=r.Buffer;function a(t,e){for(var n in t)e[n]=t[n]}function o(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,n),n.Buffer=o),a(i,o),o.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},o.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},{buffer:5}],135:[function(t,e,n){arguments[4][67][0].apply(n,arguments)},{"./lib/decoder":136,"./lib/encoder":137,dup:67}],136:[function(t,e,n){(function(t){var n=function(){"use strict";var t=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),e=4017,n=799,r=3406,i=2276,a=1567,o=3784,s=5793,u=2896;function l(){}function c(t,e){for(var n,r,i=0,a=[],o=16;o>0&&!t[o-1];)o--;a.push({children:[],index:0});var s,u=a[0];for(n=0;n0;)u=a.pop();for(u.index++,a.push(u);a.length<=n;)a.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}n+10)return p>>--d&1;if(255==(p=e[n++])){var t=e[n++];if(t)throw"unexpected marker: "+(p<<8|t).toString(16)}return d=7,p>>>7}function g(t){for(var e,n=t;null!==(e=v());){if("number"==typeof(n=n[e]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function m(t){for(var e=0;t>0;){var n=v();if(null===n)return;e=e<<1|n,t--}return e}function _(t){var e=m(t);return e>=1<0)y--;else for(var r=o,i=s;r<=i;){var a=g(e.huffmanTableAC),u=15&a,c=a>>4;if(0!==u)n[t[r+=c]]=_(u)*(1<>4,0===f)a<15?(y=m(a)+(1<>4;if(0!==s)n[t[a+=u]]=_(s),a++;else{if(u<15)break;a+=16}}};var I,R,L,B,F=0;for(R=1==M?i[0].blocksPerLine*i[0].blocksPerColumn:c*r.mcusPerColumn,a||(a=R);F=65488&&I<=65495))break;n+=2}return n-h}function h(t,l){var c,f,h=[],p=l.blocksPerLine,d=l.blocksPerColumn,v=p<<3,g=new Int32Array(64),m=new Uint8Array(64);function _(t,c,f){var h,p,d,v,g,m,_,y,w,b,x=l.quantizationTable,k=f;for(b=0;b<64;b++)k[b]=t[b]*x[b];for(b=0;b<8;++b){var E=8*b;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(h=s*k[0+E]+128>>8,p=s*k[4+E]+128>>8,d=k[2+E],v=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,m=k[3+E]<<4,_=k[5+E]<<4,w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+128>>8,d=d*a-v*o+128>>8,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+E]=h+y,k[7+E]=h-y,k[1+E]=p+_,k[6+E]=p-_,k[2+E]=d+m,k[5+E]=d-m,k[3+E]=v+g,k[4+E]=v-g):(w=s*k[0+E]+512>>10,k[0+E]=w,k[1+E]=w,k[2+E]=w,k[3+E]=w,k[4+E]=w,k[5+E]=w,k[6+E]=w,k[7+E]=w)}for(b=0;b<8;++b){var S=b;0!=k[8+S]||0!=k[16+S]||0!=k[24+S]||0!=k[32+S]||0!=k[40+S]||0!=k[48+S]||0!=k[56+S]?(h=s*k[0+S]+2048>>12,p=s*k[32+S]+2048>>12,d=k[16+S],v=k[48+S],g=u*(k[8+S]-k[56+S])+2048>>12,y=u*(k[8+S]+k[56+S])+2048>>12,m=k[24+S],_=k[40+S],w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+2048>>12,d=d*a-v*o+2048>>12,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+S]=h+y,k[56+S]=h-y,k[8+S]=p+_,k[48+S]=p-_,k[16+S]=d+m,k[40+S]=d-m,k[24+S]=v+g,k[32+S]=v-g):(w=s*f[b+0]+8192>>14,k[0+S]=w,k[8+S]=w,k[16+S]=w,k[24+S]=w,k[32+S]=w,k[40+S]=w,k[48+S]=w,k[56+S]=w)}for(b=0;b<64;++b){var j=128+(k[b]+8>>4);c[b]=j<0?0:j>255?255:j}}for(var y=0;y255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var n=0;e.length;function r(){var t=e[n]<<8|e[n+1];return n+=2,t}function i(){var t=r(),i=e.subarray(n,n+t-2);return n+=i.length,i}function a(t){var e,n,r=0,i=0;for(n in t.components)t.components.hasOwnProperty(n)&&(r<(e=t.components[n]).h&&(r=e.h),i>4==0)for(_=0;_<64;_++){x[t[_]]=e[n++]}else{if(b>>4!=1)throw"DQT: invalid table spec";for(_=0;_<64;_++){x[t[_]]=r()}}p[15&b]=x}break;case 65472:case 65473:case 65474:r(),(o={}).extended=65473===m,o.progressive=65474===m,o.precision=e[n++],o.scanLines=r(),o.samplesPerLine=r(),o.components={},o.componentsOrder=[];var k,E=e[n++];for(U=0;U>4,j=15&e[n+1],T=e[n+2];o.componentsOrder.push(k),o.components[k]={h:S,v:j,quantizationTable:p[T]},n+=3}a(o),d.push(o);break;case 65476:var A=r();for(U=2;U>4==0?g:v)[15&C]=c(M,R)}break;case 65501:r(),s=r();break;case 65498:r();var L=e[n++],B=[];for(U=0;U>4],z.huffmanTableAC=v[15&F],B.push(z)}var P=e[n++],O=e[n++],D=e[n++],N=f(e,n,o,B,s,P,O,D>>4,15&D);n+=N;break;default:if(255==e[n-3]&&e[n-2]>=192&&e[n-2]<=254){n-=3;break}throw"unknown JPEG marker "+m.toString(16)}m=r()}if(1!=d.length)throw"only single frame JPEGs supported";this.width=o.samplesPerLine,this.height=o.scanLines,this.jfif=u,this.adobe=l,this.components=[];for(var U=0;U=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var r=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,r),r-=this.charReceived);var i;r=(e+=t.toString(this.encoding,0,r)).length-1;if((i=e.charCodeAt(r))>=55296&&i<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),t.copy(this.charBuffer,0,0,a),e.substring(0,r)}return e},a.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var n=t[t.length-e];if(1==e&&n>>5==6){this.charLength=2;break}if(e<=2&&n>>4==14){this.charLength=3;break}if(e<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=e},a.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;e+=r.slice(0,n).toString(i)}return e}},{buffer:5}],141:[function(t,e,n){(function(n){var r=t("stream");function i(t,e,i){t=t||function(t){this.queue(t)},e=e||function(){this.queue(null)};var a=!1,o=!1,s=[],u=!1,l=new r;function c(){for(;s.length&&!l.paused;){var t=s.shift();if(null===t)return l.emit("end");l.emit("data",t)}}return l.readable=l.writable=!0,l.paused=!1,l.autoDestroy=!(i&&!1===i.autoDestroy),l.write=function(e){return t.call(this,e),!l.paused},l.queue=l.push=function(t){return u?l:(null===t&&(u=!0),s.push(t),c(),l)},l.on("end",function(){l.readable=!1,!l.writable&&l.autoDestroy&&n.nextTick(function(){l.destroy()})}),l.end=function(t){if(!a)return a=!0,arguments.length&&l.write(t),l.writable=!1,e.call(l),!l.readable&&l.autoDestroy&&l.destroy(),l},l.destroy=function(){if(!o)return o=!0,a=!0,s.length=0,l.writable=l.readable=!1,l.emit("close"),l},l.pause=function(){if(!l.paused)return l.paused=!0,l},l.resume=function(){return l.paused&&(l.paused=!1,l.emit("resume")),c(),l.paused||l.emit("drain"),l},l}e.exports=i,i.through=i}).call(this,t("_process"))},{_process:117,stream:139}],142:[function(t,e,n){(function(e,r){var i=t("process/browser.js").nextTick,a=Function.prototype.apply,o=Array.prototype.slice,s={},u=0;function l(t,e){this._id=t,this._clearFn=e}n.setTimeout=function(){return new l(a.call(setTimeout,window,arguments),clearTimeout)},n.setInterval=function(){return new l(a.call(setInterval,window,arguments),clearInterval)},n.clearTimeout=n.clearInterval=function(t){t.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(window,this._id)},n.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},n.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},n._unrefActive=n.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=u++,r=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,i(function(){s[e]&&(r?t.apply(null,r):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof r?r:function(t){delete s[t]}}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":117,timers:142}],143:[function(t,e,n){n.isatty=function(){return!1},n.ReadStream=function(){throw new Error("tty.ReadStream is not implemented")},n.WriteStream=function(){throw new Error("tty.WriteStream is not implemented")}},{}],144:[function(t,e,n){(function(e,r){"use strict";var i=t("bit-twiddle"),a=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var u=s.DATA,l=s.BUFFER;function c(t){if(t){var e=t.length||t.byteLength,n=i.log2(e);u[n].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),n=u[e];return n.length>0?n.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function v(t){return new Int8Array(f(t),0,t)}function g(t){return new Int16Array(f(2*t),0,t)}function m(t){return new Int32Array(f(4*t),0,t)}function _(t){return new Float32Array(f(4*t),0,t)}function y(t){return new Float64Array(f(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function b(t){return new DataView(f(t),0,t)}function x(t){t=i.nextPow2(t);var e=i.log2(t),n=l[e];return n.length>0?n.pop():new r(t)}n.free=function(t){if(r.isBuffer(t))l[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,n=0|i.log2(e);u[n].push(t)}},n.freeUint8=n.freeUint16=n.freeUint32=n.freeInt8=n.freeInt16=n.freeInt32=n.freeFloat32=n.freeFloat=n.freeFloat64=n.freeDouble=n.freeUint8Clamped=n.freeDataView=function(t){c(t.buffer)},n.freeArrayBuffer=c,n.freeBuffer=function(t){l[i.log2(t.length)].push(t)},n.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return v(t);case"int16":return g(t);case"int32":return m(t);case"float":case"float32":return _(t);case"double":case"float64":return y(t);case"uint8_clamped":return w(t);case"buffer":return x(t);case"data":case"dataview":return b(t);default:return null}return null},n.mallocArrayBuffer=f,n.mallocUint8=h,n.mallocUint16=p,n.mallocUint32=d,n.mallocInt8=v,n.mallocInt16=g,n.mallocInt32=m,n.mallocFloat32=n.mallocFloat=_,n.mallocFloat64=n.mallocDouble=y,n.mallocUint8Clamped=w,n.mallocDataView=b,n.mallocBuffer=x,n.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,u[t].length=0,l[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":2,buffer:5,dup:21}],145:[function(t,e,n){(function(){var t=this,r=t._,i={},a=Array.prototype,o=Object.prototype,s=Function.prototype,u=a.push,l=a.slice,c=a.concat,f=o.toString,h=o.hasOwnProperty,p=a.forEach,d=a.map,v=a.reduce,g=a.reduceRight,m=a.filter,_=a.every,y=a.some,w=a.indexOf,b=a.lastIndexOf,x=Array.isArray,k=Object.keys,E=s.bind,S=function(t){return t instanceof S?t:this instanceof S?void(this._wrapped=t):new S(t)};void 0!==n?(void 0!==e&&e.exports&&(n=e.exports=S),n._=S):t._=S,S.VERSION="1.4.4";var j=S.each=S.forEach=function(t,e,n){if(null!=t)if(p&&t.forEach===p)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,a=t.length;r2;if(null==t&&(t=[]),v&&t.reduce===v)return r&&(e=S.bind(e,r)),i?t.reduce(e,n):t.reduce(e);if(j(t,function(t,a,o){i?n=e.call(r,n,t,a,o):(n=t,i=!0)}),!i)throw new TypeError(T);return n},S.reduceRight=S.foldr=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),g&&t.reduceRight===g)return r&&(e=S.bind(e,r)),i?t.reduceRight(e,n):t.reduceRight(e);var a=t.length;if(a!==+a){var o=S.keys(t);a=o.length}if(j(t,function(s,u,l){u=o?o[--a]:--a,i?n=e.call(r,n,t[u],u,l):(n=t[u],i=!0)}),!i)throw new TypeError(T);return n},S.find=S.detect=function(t,e,n){var r;return A(t,function(t,i,a){if(e.call(n,t,i,a))return r=t,!0}),r},S.filter=S.select=function(t,e,n){var r=[];return null==t?r:m&&t.filter===m?t.filter(e,n):(j(t,function(t,i,a){e.call(n,t,i,a)&&(r[r.length]=t)}),r)},S.reject=function(t,e,n){return S.filter(t,function(t,r,i){return!e.call(n,t,r,i)},n)},S.every=S.all=function(t,e,n){e||(e=S.identity);var r=!0;return null==t?r:_&&t.every===_?t.every(e,n):(j(t,function(t,a,o){if(!(r=r&&e.call(n,t,a,o)))return i}),!!r)};var A=S.some=S.any=function(t,e,n){e||(e=S.identity);var r=!1;return null==t?r:y&&t.some===y?t.some(e,n):(j(t,function(t,a,o){if(r||(r=e.call(n,t,a,o)))return i}),!!r)};S.contains=S.include=function(t,e){return null!=t&&(w&&t.indexOf===w?-1!=t.indexOf(e):A(t,function(t){return t===e}))},S.invoke=function(t,e){var n=l.call(arguments,2),r=S.isFunction(e);return S.map(t,function(t){return(r?e:t[e]).apply(t,n)})},S.pluck=function(t,e){return S.map(t,function(t){return t[e]})},S.where=function(t,e,n){return S.isEmpty(e)?n?null:[]:S[n?"find":"filter"](t,function(t){for(var n in e)if(e[n]!==t[n])return!1;return!0})},S.findWhere=function(t,e){return S.where(t,e,!0)},S.max=function(t,e,n){if(!e&&S.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);if(!e&&S.isEmpty(t))return-1/0;var r={computed:-1/0,value:-1/0};return j(t,function(t,i,a){var o=e?e.call(n,t,i,a):t;o>=r.computed&&(r={value:t,computed:o})}),r.value},S.min=function(t,e,n){if(!e&&S.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);if(!e&&S.isEmpty(t))return 1/0;var r={computed:1/0,value:1/0};return j(t,function(t,i,a){var o=e?e.call(n,t,i,a):t;or||void 0===n)return 1;if(n>>1;n.call(r,t[s])=0})})},S.difference=function(t){var e=c.apply(a,l.call(arguments,1));return S.filter(t,function(t){return!S.contains(e,t)})},S.zip=function(){for(var t=l.call(arguments),e=S.max(S.pluck(t,"length")),n=new Array(e),r=0;r=0;n--)e=[t[n].apply(this,e)];return e[0]}},S.after=function(t,e){return t<=0?e():function(){if(--t<1)return e.apply(this,arguments)}},S.keys=k||function(t){if(t!==Object(t))throw new TypeError("Invalid object");var e=[];for(var n in t)S.has(t,n)&&(e[e.length]=n);return e},S.values=function(t){var e=[];for(var n in t)S.has(t,n)&&e.push(t[n]);return e},S.pairs=function(t){var e=[];for(var n in t)S.has(t,n)&&e.push([n,t[n]]);return e},S.invert=function(t){var e={};for(var n in t)S.has(t,n)&&(e[t[n]]=n);return e},S.functions=S.methods=function(t){var e=[];for(var n in t)S.isFunction(t[n])&&e.push(n);return e.sort()},S.extend=function(t){return j(l.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t},S.pick=function(t){var e={},n=c.apply(a,l.call(arguments,1));return j(n,function(n){n in t&&(e[n]=t[n])}),e},S.omit=function(t){var e={},n=c.apply(a,l.call(arguments,1));for(var r in t)S.contains(n,r)||(e[r]=t[r]);return e},S.defaults=function(t){return j(l.call(arguments,1),function(e){if(e)for(var n in e)null==t[n]&&(t[n]=e[n])}),t},S.clone=function(t){return S.isObject(t)?S.isArray(t)?t.slice():S.extend({},t):t},S.tap=function(t,e){return e(t),t};var R=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof S&&(t=t._wrapped),e instanceof S&&(e=e._wrapped);var i=f.call(t);if(i!=f.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var a=n.length;a--;)if(n[a]==t)return r[a]==e;n.push(t),r.push(e);var o=0,s=!0;if("[object Array]"==i){if(s=(o=t.length)==e.length)for(;o--&&(s=R(t[o],e[o],n,r)););}else{var u=t.constructor,l=e.constructor;if(u!==l&&!(S.isFunction(u)&&u instanceof u&&S.isFunction(l)&&l instanceof l))return!1;for(var c in t)if(S.has(t,c)&&(o++,!(s=S.has(e,c)&&R(t[c],e[c],n,r))))break;if(s){for(c in e)if(S.has(e,c)&&!o--)break;s=!o}}return n.pop(),r.pop(),s};S.isEqual=function(t,e){return R(t,e,[],[])},S.isEmpty=function(t){if(null==t)return!0;if(S.isArray(t)||S.isString(t))return 0===t.length;for(var e in t)if(S.has(t,e))return!1;return!0},S.isElement=function(t){return!(!t||1!==t.nodeType)},S.isArray=x||function(t){return"[object Array]"==f.call(t)},S.isObject=function(t){return t===Object(t)},j(["Arguments","Function","String","Number","Date","RegExp"],function(t){S["is"+t]=function(e){return f.call(e)=="[object "+t+"]"}}),S.isArguments(arguments)||(S.isArguments=function(t){return!(!t||!S.has(t,"callee"))}),"function"!=typeof/./&&(S.isFunction=function(t){return"function"==typeof t}),S.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},S.isNaN=function(t){return S.isNumber(t)&&t!=+t},S.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"==f.call(t)},S.isNull=function(t){return null===t},S.isUndefined=function(t){return void 0===t},S.has=function(t,e){return h.call(t,e)},S.noConflict=function(){return t._=r,this},S.identity=function(t){return t},S.times=function(t,e,n){for(var r=Array(t),i=0;i":">",'"':""","'":"'","/":"/"}};L.unescape=S.invert(L.escape);var B={escape:new RegExp("["+S.keys(L.escape).join("")+"]","g"),unescape:new RegExp("("+S.keys(L.unescape).join("|")+")","g")};S.each(["escape","unescape"],function(t){S[t]=function(e){return null==e?"":(""+e).replace(B[t],function(e){return L[t][e]})}}),S.result=function(t,e){if(null==t)return null;var n=t[e];return S.isFunction(n)?n.call(t):n},S.mixin=function(t){j(S.functions(t),function(e){var n=S[e]=t[e];S.prototype[e]=function(){var t=[this._wrapped];return u.apply(t,arguments),N.call(this,n.apply(S,t))}})};var F=0;S.uniqueId=function(t){var e=++F+"";return t?t+e:e},S.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var P=/(.)^/,O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\t|\u2028|\u2029/g;S.template=function(t,e,n){var r;n=S.defaults({},n,S.templateSettings);var i=new RegExp([(n.escape||P).source,(n.interpolate||P).source,(n.evaluate||P).source].join("|")+"|$","g"),a=0,o="__p+='";t.replace(i,function(e,n,r,i,s){return o+=t.slice(a,s).replace(D,function(t){return"\\"+O[t]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(o+="';\n"+i+"\n__p+='"),a=s+e.length,e}),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(n.variable||"obj","_",o)}catch(t){throw t.source=o,t}if(e)return r(e,S);var s=function(t){return r.call(this,t,S)};return s.source="function("+(n.variable||"obj")+"){\n"+o+"}",s},S.chain=function(t){return S(t).chain()};var N=function(t){return this._chain?S(t).chain():t};S.mixin(S),j(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=a[t];S.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],N.call(this,n)}}),j(["concat","join","slice"],function(t){var e=a[t];S.prototype[t]=function(){return N.call(this,e.apply(this._wrapped,arguments))}}),S.extend(S.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}],146:[function(t,e,n){"use strict";e.exports=function(t,e,n){return 0===t.length?t:e?(n||t.sort(e),function(t,e){for(var n=1,r=t.length,i=t[0],a=t[0],o=1;o=o?u+1:o}r.mkdir(e+"sequencer"+o,function(){var a=e+"sequencer"+o+"/";for(var s in n.images){var u=n.images[s].steps;if(i){var l=u.slice(-1)[0].output.src,c=u.slice(-1)[0].output.format,f=t("data-uri-to-buffer")(l);r.writeFile(a+s+"_"+(u.length-1)+"."+c,f,function(){})}else for(var h in u){l=u[h].output.src,c=u[h].output.format,f=t("data-uri-to-buffer")(l);r.writeFile(a+s+"_"+h+"."+c,f,function(){})}}})},r.readdir(c,function(t,e){var n=[];if(void 0===e||0==e.length)return f(n),[];for(var i=0;i0&&(thisStep=c[t].steps[e],thisStep.UI.onRemove(thisStep.options.step),c[t].steps.splice(e,1))}function v(){var e=[],n=this;for(var r in arguments)e.push(a(arguments[r]));var i=l.call(this,e,"l");f.push({method:"loadImages",json_q:a(i)});var o=this.copy(i.loadedimages),s={name:"ImageSequencer Wrapper",sequencer:this,addSteps:this.addSteps,removeSteps:this.removeSteps,insertSteps:this.insertSteps,run:this.run,UI:this.UI,setUI:this.setUI,images:o};!function e(r){if(r!=o.length){var a=o[r];t("./ui/LoadImage")(n,a,i.images[a],function(){e(++r)})}else i.callback.call(s)}(0)}function g(t){var e={};if("load-image"==t)return{};if(0==arguments.length){for(var n in this.modules)e[n]=s[n][1];for(var r in this.sequences)e[r]={name:r,steps:u[r]}}else e=s[t]?s[t][1]:{inputs:u[t].options};return e}function m(t){let e=g(t.options.name).inputs||{},n={};for(let r in e)t.options[r]&&t.options[r]!=e[r].default&&(n[r]=t.options[r],n[r]=encodeURIComponent(n[r]));var r=Object.keys(n).map(t=>t+":"+n[t]).join("|");return`${t.options.name}{${r}}`}function _(t){let e;return(e=t.includes(",")?t.split(","):[t]).map(y)}function y(t){var e;if(e=t.includes("{")?t.includes("(")&&t.indexOf("(")=e.images[u].steps.length?{options:{name:void 0}}:e.images[u].steps.slice(f+t)[0]},e.images[u].steps[f].getIndex=function(){return f},r)r.hasOwnProperty(p)&&(e.images[u].steps[f][p]=r[p]);e.images[u].steps[f].UI.onDraw(e.images[u].steps[f].options.step);var d=t("./RunToolkit")(e.copy(h));e.images[u].steps[f].draw(d,function(){e.images[u].steps[f].options.step.output=e.images[u].steps[f].output.src,e.images[u].steps[f].UI.onComplete(e.images[u].steps[f].options.step),n(a,++s)},o)}}(s,a)}(n=function(t){for(var n in t)0==t[n]&&1==e.images[n].steps.length?delete t[n]:0==t[n]&&t[n]++;for(var n in t)for(var r=e.images[n].steps[t[n]-1];void 0===r||void 0===r.output;)r=e.images[n].steps[--t[n]-1];return t}(n))}},{"./RunToolkit":159,"./util/getStep.js":247}],159:[function(t,e,n){const r=t("get-pixels"),i=t("./modules/_nomodule/PixelManipulation"),a=t("lodash"),o=t("data-uri-to-buffer"),s=t("save-pixels");e.exports=function(t){return t.getPixels=r,t.pixelManipulation=i,t.lodash=a,t.dataUriToBuffer=o,t.savePixels=s,t}},{"./modules/_nomodule/PixelManipulation":242,"data-uri-to-buffer":20,"get-pixels":30,lodash:75,"save-pixels":138}],160:[function(t,e,n){e.exports={sample:[{name:"invert",options:{}},{name:"channel",options:{channel:"red"}},{name:"blur",options:{blur:"5"}}]}},{}],161:[function(t,e,n){e.exports=function(e,n){return e.blur=e.blur||2,e.step.metadata=e.step.metadata||{},{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[t,e,n,r]},extraManipulation:function(t){for(var n=[0,0,0,0],r=0;rAverages (r, g, b, a): "+n.join(", ")+"

"),t},format:n.format,image:e.image,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242}],162:[function(t,e,n){e.exports=[t("./Module"),t("./info.json")]},{"./Module":161,"./info.json":163}],163:[function(t,e,n){e.exports={name:"Average",description:"Average all pixel color",inputs:{}}},{}],164:[function(require,module,exports){module.exports=function Dynamic(options,UI,util){var output;function draw(input,callback,progressObj){progressObj.stop(!0),progressObj.overrideFlag=!0;var step=this;"string"==typeof options.func&&eval("options.func = "+options.func);var getPixels=require("get-pixels");"string"==typeof options.offset&&(options.offset=parseInt(options.offset));var priorStep=this.getStep(options.offset);getPixels(priorStep.output.src,function(t,e){return options.firstImagePixels=e,require("../_nomodule/PixelManipulation.js")(input,{output:function(t,e,n){step.output={src:e,format:n}},changePixel:function(t,e,n,r,i,a){var o=options.firstImagePixels;return options.func(t,e,n,r,o.get(i,a,0),o.get(i,a,1),o.get(i,a,2),o.get(i,a,3))},format:input.format,image:options.image,inBrowser:options.inBrowser,callback:callback})})}return options.func=options.func||"function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }",options.offset=options.offset||-2,{options:options,draw:draw,output:output,UI:UI}}},{"../_nomodule/PixelManipulation.js":242,"get-pixels":30}],165:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":164,"./info.json":166,dup:162}],166:[function(t,e,n){e.exports={name:"Blend",description:"Blend two chosen image steps with the given function. Defaults to using the red channel from image 1 and the green and blue and alpha channels of image 2. Easier to use interfaces coming soon!",inputs:{offset:{type:"integer",desc:"Choose which image to blend the current image with. Two steps back is -2, three steps back is -3 etc.",default:-2},blend:{type:"input",desc:"Function to use to blend the two images.",default:"function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }"}}}},{}],167:[function(t,e,n){e.exports=function(t,e){let n=[[2/159,4/159,5/159,4/159,2/159],[4/159,9/159,12/159,9/159,4/159],[5/159,12/159,15/159,12/159,5/159],[4/159,9/159,12/159,9/159,4/159],[2/159,4/159,5/159,4/159,2/159]],r=t;n=function(t){let e=[];for(let n=t.length-1;n>=0;n--){let r=[];for(let e=t[n].length-1;e>=0;e--)r.push(t[n][e]);e.push(r)}return e}(n);for(let e=0;ev;n=0<=v?++c:--c)r[n]=(e-i)/(a-i)*(u[n]-s[n])+s[n];return r}}e.exports=function(t,e){return e.colormap=e.colormap||i.default,"object"==typeof e.colormap?colormapFunction=r(e.colormap):i.hasOwnProperty(e.colormap)?colormapFunction=i[e.colormap]:colormapFunction=i.default,colormapFunction(t/255)};var i={greyscale:r([[0,[0,0,0],[220,20,60]],[1,[255,255,255],[255,255,255]]]),bluwhtgrngis:r([[0,[6,23,86],[6,25,84]],[.0625,[6,25,84],[6,25,84]],[.125,[6,25,84],[6,25,84]],[.1875,[6,25,84],[6,25,84]],[.25,[6,25,84],[6,25,84]],[.3125,[6,25,84],[9,24,84]],[.3438,[9,24,84],[119,120,162]],[.375,[119,129,162],[249,250,251]],[.406,[249,250,251],[255,255,255]],[.4375,[255,255,255],[255,255,255]],[.5,[255,255,255],[214,205,191]],[.52,[214,205,191],[178,175,96]],[.5625,[178,175,96],[151,176,53]],[.593,[151,176,53],[146,188,12]],[.625,[146,188,12],[96,161,1]],[.6875,[96,161,1],[30,127,3]],[.75,[30,127,3],[0,99,1]],[.8125,[0,99,1],[0,74,1]],[.875,[0,74,1],[0,52,0]],[.9375,[0,52,0],[0,34,0]],[.968,[0,34,0],[68,70,67]]]),brntogrn:r([[0,[110,12,3],[118,6,1]],[.0625,[118,6,1],[141,19,6]],[.125,[141,19,6],[165,35,13]],[.1875,[165,35,13],[177,59,25]],[.2188,[177,59,25],[192,91,36]],[.25,[192,91,36],[214,145,76]],[.3125,[214,145,76],[230,183,134]],[.375,[230,183,134],[243,224,194]],[.4375,[243,224,194],[250,252,229]],[.5,[250,252,229],[217,235,185]],[.5625,[217,235,185],[184,218,143]],[.625,[184,218,143],[141,202,89]],[.6875,[141,202,89],[80,176,61]],[.75,[80,176,61],[0,147,32]],[.8125,[0,147,32],[1,122,22]],[.875,[1,122,22],[0,114,19]],[.9,[0,114,19],[0,105,18]],[.9375,[0,105,18],[7,70,14]]]),blutoredjet:r([[0,[0,0,140],[1,1,186]],[.0625,[1,1,186],[0,1,248]],[.125,[0,1,248],[0,70,254]],[.1875,[0,70,254],[0,130,255]],[.25,[0,130,255],[2,160,255]],[.2813,[2,160,255],[0,187,255]],[.3125,[0,187,255],[6,250,255]],[.375,[8,252,251],[27,254,228]],[.406,[27,254,228],[70,255,187]],[.4375,[70,255,187],[104,254,151]],[.47,[104,254,151],[132,255,19]],[.5,[132,255,19],[195,255,60]],[.5625,[195,255,60],[231,254,25]],[.5976,[231,254,25],[253,246,1]],[.625,[253,246,1],[252,210,1]],[.657,[252,210,1],[255,183,0]],[.6875,[255,183,0],[255,125,2]],[.75,[255,125,2],[255,65,1]],[.8125,[255,65,1],[247,1,1]],[.875,[247,1,1],[200,1,3]],[.9375,[200,1,3],[122,3,2]]]),colors16:r([[0,[0,0,0],[0,0,0]],[.0625,[3,1,172],[3,1,172]],[.125,[3,1,222],[3,1,222]],[.1875,[0,111,255],[0,111,255]],[.25,[3,172,255],[3,172,255]],[.3125,[1,226,255],[1,226,255]],[.375,[2,255,0],[2,255,0]],[.4375,[198,254,0],[190,254,0]],[.5,[252,255,0],[252,255,0]],[.5625,[255,223,3],[255,223,3]],[.625,[255,143,3],[255,143,3]],[.6875,[255,95,3],[255,95,3]],[.75,[242,0,1],[242,0,1]],[.8125,[245,0,170],[245,0,170]],[.875,[223,180,225],[223,180,225]],[.9375,[255,255,255],[255,255,255]]]),default:r([[0,[45,1,121],[25,1,137]],[.125,[25,1,137],[0,6,156]],[.1875,[0,6,156],[7,41,172]],[.25,[7,41,172],[22,84,187]],[.3125,[22,84,187],[25,125,194]],[.375,[25,125,194],[26,177,197]],[.4375,[26,177,197],[23,199,193]],[.47,[23,199,193],[25,200,170]],[.5,[25,200,170],[21,209,27]],[.5625,[21,209,27],[108,215,18]],[.625,[108,215,18],[166,218,19]],[.6875,[166,218,19],[206,221,20]],[.75,[206,221,20],[222,213,19]],[.7813,[222,213,19],[222,191,19]],[.8125,[222,191,19],[227,133,17]],[.875,[227,133,17],[231,83,16]],[.9375,[231,83,16],[220,61,48]]]),fastie:r([[0,[255,255,255],[0,0,0]],[.167,[0,0,0],[255,255,255]],[.33,[2,0,226],[2,0,226]],[.5,[0,0,0],[140,140,255]],[.55,[140,140,255],[0,255,0]],[.63,[0,255,0],[255,255,0]],[.75,[255,255,0],[255,0,0]],[.95,[255,0,0],[255,0,255]]]),stretched:r([[0,[0,0,255],[0,0,255]],[.1,[0,0,255],[38,195,195]],[.5,[0,150,0],[255,255,0]],[.7,[255,255,0],[255,50,50]],[.9,[255,50,50],[255,50,50]]])}},{}],181:[function(t,e,n){e.exports=function(e,n){return{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(n,r,i,a){var o=(n+r+i)/3,s=t("./Colormap")(o,e);return[s[0],s[1],s[2],255]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Colormap":180}],182:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":181,"./info.json":183,dup:162}],183:[function(t,e,n){e.exports={name:"Colormap",description:"Maps brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients.\n\nFor example, 'cooler' colors like blue could represent low values, while 'hot' colors like red could represent high values.",inputs:{colormap:{type:"select",desc:"Name of the Colormap",default:"default",values:["default","greyscale","stretched","fastie","brntogrn","blutoredjet","colors16"]}}}},{}],184:[function(t,e,n){var r=t("lodash");e.exports=function(t,e){let n=r.cloneDeep(t);(e=Number(e))<-100&&(e=-100),e>100&&(e=100),e=(100+e)/100,e*=e;for(let r=0;r255&&(i=255);var a=n.get(r,s,1)/255;a-=.5,a*=e,a+=.5,(a*=255)<0&&(a=0),a>255&&(a=255);var o=n.get(r,s,2)/255;o-=.5,o*=e,o+=.5,(o*=255)<0&&(o=0),o>255&&(o=255),t.set(r,s,0,i),t.set(r,s,1,a),t.set(r,s,2,o)}return t}},{lodash:75}],185:[function(t,e,n){e.exports=function(e,n){return e.contrast=e.contrast||70,{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[t,e,n,r]},extraManipulation:function(n){return n=t("./Contrast")(n,e.contrast)},format:n.format,image:e.image,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Contrast":184}],186:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":185,"./info.json":187,dup:162}],187:[function(t,e,n){e.exports={name:"Contrast",description:"Change the contrast of the image by given value",inputs:{contrast:{type:"Number",desc:"contrast for the new image, typically -100 to 100",default:70}}}},{}],188:[function(t,e,n){var r=t("lodash");e.exports=function(t,e,n){let a=function(t,e){for(e=e.split(" "),i=0;i<9;i++)e[i]=Number(e[i])*t;let n=0,r=[];for(i=0;i<3;i++){let t=[];for(j=0;j<3;j++)t.push(e[n]),n+=1;r.push(t)}return r}(e,n),o=r.cloneDeep(t);a=function(t){let e=[];for(let n=t.length-1;n>=0;n--){let r=[];for(let e=t[n].length-1;e>=0;e--)r.push(t[n][e]);e.push(r)}return e}(a);for(let e=0;eRead more",inputs:{constantFactor:{type:"Float",desc:"a constant factor, multiplies all the kernel values by that factor",default:.1111,placeholder:.1111},kernelValues:{type:"String",desc:"nine space separated numbers representing the kernel values in left to right and top to bottom format.",default:"1 1 1 1 1 1 1 1 1",placeholder:"1 1 1 1 1 1 1 1 1"}}}},{}],192:[function(t,e,n){(function(n){e.exports=function(e,r,i){var a=t("get-pixels"),o=t("save-pixels");r.x=parseInt(r.x)||0,r.y=parseInt(r.y)||0,a(e.src,function(t,a){r.w=parseInt(r.w)||Math.floor(a.shape[0]),r.h=parseInt(r.h)||Math.floor(a.shape[1]);for(var s=r.x,u=r.y,l=r.w,c=r.h,f=a.shape[0],h=new Uint8Array(4*l*c),p=u;pInfragrammar.",inputs:{red:{type:"input",desc:"Expression to return for red channel with R, G, B, and A inputs",default:"r"},green:{type:"input",desc:"Expression to return for green channel with R, G, B, and A inputs",default:"g"},blue:{type:"input",desc:"Expression to return for blue channel with R, G, B, and A inputs",default:"b"},"monochrome (fallback)":{type:"input",desc:"Expression to return with R, G, B, and A inputs; fallback for other channels if none provided",default:"r + g + b"}}}},{}],203:[function(t,e,n){t("lodash");const r=[[-1,0,1],[-2,0,2],[-1,0,1]],i=[[-1,-2,-1],[0,0,0],[1,2,1]];function a(t,e,n,a,o){let s=0;for(let e=0;e<3;e++)for(let n=0;n<3;n++){let i=a+e-1,u=o+n-1;s+=t.get(i,u,0)*r[e][n]}let u=0;for(let e=0;e<3;e++)for(let n=0;n<3;n++){let r=a+e-1,s=o+n-1;u+=t.get(r,s,0)*i[e][n]}return{pixel:[e,e,e,Math.sqrt(Math.pow(s,2)+Math.pow(u,2))],angle:Math.atan2(u,s)}}e.exports=function(t,e,n,r){let i=[],u=[];for(var l=0;lt.map(o));for(let r=1;r=-22.5&&a<=22.5||a<-157.5&&a>=-180?e[r][i]>=e[r][i+1]&&e[r][i]>=e[r][i-1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):a>=22.5&&a<=67.5||a<-112.5&&a>=-157.5?e[r][i]>=e[r+1][i+1]&&e[r][i]>=e[r-1][i-1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):a>=67.5&&a<=112.5||a<-67.5&&a>=-112.5?e[r][r]>=e[r+1][i]&&e[r][i]>=e[r][i]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):(a>=112.5&&a<=157.5||a<-22.5&&a>=-67.5)&&(e[r][i]>=e[r+1][i-1]&&e[r][i]>=e[r-1][i+1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0))}}(t,u,i),function(t,e,n,r,i,a){const o=s(r)*e,u=o*n;for(let e=0;eu?r[e][n]>o?i.push(s):a.push(s):t.set(e,n,3,0)}i.forEach(e=>t.set(e[0],e[1],3,255))}(t,e,n,u,[],[]),t};var o=t=>180*t/Math.PI,s=t=>Math.max(...t.map(t=>t.map(t=>t||0)).map(t=>Math.max(...t)))},{lodash:75}],204:[function(t,e,n){e.exports=function(e,n){return e.blur=e.blur||2,e.highThresholdRatio=e.highThresholdRatio||.2,e.lowThresholdRatio=e.lowThresholdRatio||.15,{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[(t+e+n)/3,(t+e+n)/3,(t+e+n)/3,r]},extraManipulation:function(n){return n=t("ndarray-gaussian-filter")(n,e.blur),n=t("./EdgeUtils")(n,e.highThresholdRatio,e.lowThresholdRatio,e.inBrowser)},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./EdgeUtils":203,"ndarray-gaussian-filter":80}],205:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":204,"./info.json":206,dup:162}],206:[function(t,e,n){e.exports={name:"Detect Edges",description:"this module detects edges using the Canny method, which first Gaussian blurs the image to reduce noise (amount of blur configurable in settings as `options.blur`), then applies a number of steps to highlight edges, resulting in a greyscale image where the brighter the pixel, the stronger the detected edge. Read more. ",inputs:{blur:{type:"integer",desc:"amount of gaussian blur(Less blur gives more detail, typically 0-5)",default:2},highThresholdRatio:{type:"float",desc:"The high threshold ratio for the image",default:.2},lowThresholdRatio:{type:"float",desc:"The low threshold value for the image",default:.15}}}},{}],207:[function(t,e,n){e.exports=function(e,n){return t("fisheyegl"),{options:e,draw:function(t,n){var r=this;if(e.inBrowser){if(document.querySelector("#image-sequencer-canvas"))var i=document.querySelector("#image-sequencer-canvas");else(i=document.createElement("canvas")).style.display="none",i.setAttribute("id","image-sequencer-canvas"),document.body.append(i);distorter=FisheyeGl({selector:"#image-sequencer-canvas"}),e.a=parseFloat(e.a)||distorter.lens.a,e.b=parseFloat(e.b)||distorter.lens.b,e.Fx=parseFloat(e.Fx)||distorter.lens.Fx,e.Fy=parseFloat(e.Fy)||distorter.lens.Fy,e.scale=parseFloat(e.scale)||distorter.lens.scale,e.x=parseFloat(e.x)||distorter.fov.x,e.y=parseFloat(e.y)||distorter.fov.y,distorter.lens.a=e.a,distorter.lens.b=e.b,distorter.lens.Fx=e.Fx,distorter.lens.Fy=e.Fy,distorter.lens.scale=e.scale,distorter.fov.x=e.x,distorter.fov.y=e.y,distorter.setImage(t.src,function(){r.output={src:i.toDataURL(),format:t.format},n()})}else this.output=t,n()},output:void 0,UI:n}}},{fisheyegl:22}],208:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":207,"./info.json":209,dup:162}],209:[function(t,e,n){e.exports={name:"Fisheye GL",description:"Correct fisheye, or barrel distortion, in images (with WebGL -- adapted from fisheye-correction-webgl by @bluemir).",requires:["webgl"],inputs:{a:{type:"float",desc:"a parameter",default:1,min:1,max:4},b:{type:"float",desc:"b parameter",default:1,min:1,max:4},Fx:{type:"float",desc:"Fx parameter",default:0,min:0,max:4},Fy:{type:"float",desc:"Fy parameter",default:0,min:0,max:4},scale:{type:"float",desc:"Image Scaling",default:1.5,min:0,max:20},x:{type:"float",desc:"FOV x parameter",default:1.5,min:0,max:20},y:{type:"float",desc:"FOV y parameter",default:1.5,min:0,max:20},fragmentSrc:{type:"PATH",desc:"Path to a WebGL fragment shader file",default:"(inbuilt)"},vertexSrc:{type:"PATH",desc:"Path to a WebGL vertex shader file",default:"(inbuilt)"}}}},{}],210:[function(t,e,n){e.exports=function(e,n){return{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,n,r,i){var a=e.adjustment||.2;return[t=255*Math.pow(t/255,a),n=255*Math.pow(n/255,a),r=255*Math.pow(r/255,a),i]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242}],211:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":210,"./info.json":212,dup:162}],212:[function(t,e,n){e.exports={name:"Gamma Correction",description:"Apply gamma correction on the image Read more",inputs:{adjustment:{type:"float",desc:"gamma correction (inverse of actual gamma factor) for the new image",default:.2}}}},{}],213:[function(t,e,n){(function(n){e.exports=function(e,r){return{options:e,draw:function(e,r,i){var a=t("get-pixels"),o=t("save-pixels"),s=this;a(e.src,function(t,i){if(t)console.log("Bad Image path");else{for(var a=0,u=0;u

Select or drag in an image to overlay.

';$(t.ui).find(".details").prepend(i),sequencer.setInputStep({dropZoneSelector:"#"+r,fileInputSelector:"#"+r+" .file-input",onLoad:function(e){var n=e.target;t.options.imageUrl=n.result,t.options.url=n.result,sequencer.run(),setUrlHashParameter("steps",sequencer.toString())}}),$(t.ui).find(".btn-save").on("click",function(){var e=$(t.ui).find(".det input").val();t.options.imageUrl=e,sequencer.run()})}}}},{}],221:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":219,"./info.json":222,dup:162}],222:[function(t,e,n){e.exports={name:"Import Image",description:"Import a new image and replace the original with it. Future versions may enable a blend mode. Specify an image by URL or by file selector.",url:"https://github.com/publiclab/image-sequencer/tree/master/MODULES.md",inputs:{url:{type:"string",desc:"URL of image to import",default:"./images/monarch.png"}}}},{}],223:[function(t,e,n){e.exports=function(e,n){if(e.step.inBrowser)var r=t("./Ui.js")(e.step,n);return e.filter=e.filter||"red",{options:e,draw:function(n,i,a){a.stop(!0),a.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){o.output={src:e,format:n}},changePixel:function(t,n,r,i){if("red"==e.filter)var a=(r-t)/(1*r+t);"blue"==e.filter&&(a=(t-r)/(1*r+t));var o=255*(a+1)/2;return[o,o,o,i]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:function(){e.step.inBrowser&&r.setup(),i()}})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Ui.js":224}],224:[function(t,e,n){e.exports=function(t,e){return{setup:function(){var e=$(t.imgElement);e.mousemove(function(t){var n=document.createElement("canvas");n.width=e.width(),n.height=e.height(),n.getContext("2d").drawImage(this,0,0);var r=$(this).offset(),i=t.pageX-r.left,a=t.pageY-r.top,o=n.getContext("2d").getImageData(i,a,1,1).data[0];o=(o=o/127.5-1).toFixed(2),e[0].title="NDVI: "+o})}}}},{}],225:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":223,"./info.json":226,dup:162}],226:[function(t,e,n){e.exports={name:"NDVI",description:"Normalized Difference Vegetation Index, or NDVI, is an image analysis technique used with aerial photography. It's a way to visualize the amounts of infrared and other wavelengths of light reflected from vegetation by comparing ratios of blue and red light absorbed versus green and IR light reflected. NDVI is used to evaluate the health of vegetation in satellite imagery, where it correlates with how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. Read more.

This is designed for use with red-filtered single camera DIY Infragram cameras; change to 'blue' for blue filters",inputs:{filter:{type:"select",desc:"Filter color",default:"red",values:["red","blue"]}}}},{}],227:[function(t,e,n){e.exports=function(){return this.expandSteps([{name:"ndvi",options:{}},{name:"colormap",options:{}}]),{isMeta:!0}}},{}],228:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":227,"./info.json":229,dup:162}],229:[function(t,e,n){e.exports={name:"NDVI-Colormap",description:"Sequentially Applies NDVI and Colormap steps",inputs:{},length:2}},{}],230:[function(t,e,n){e.exports=function(e,n,r){return e.x=e.x||0,e.y=e.y||0,{options:e,draw:function(n,r,i){e.offset=e.offset||-2,i.stop(!0),i.overrideFlag=!0;var a=this,o=this.getStep(e.offset).image,s=this.getOutput(e.offset);t("get-pixels")(n.src,function(n,i){return e.secondImagePixels=i,t("../_nomodule/PixelManipulation.js")(s,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,n,r,i,a,o){var s=e.secondImagePixels;return a>=e.x&&a=e.y&&o
To work with a new or different image, drag one into the drop zone.",ID:e.options.sequencerCounter++,imageName:t,inBrowser:e.options.inBrowser,ui:e.options.ui},o={src:n,steps:[{options:{id:r.ID,name:"load-image",description:"This initial step loads and displays the original image without any modifications.",title:"Load Image",step:r},UI:e.events,draw:function(){return UI.onDraw(options.step),1==arguments.length?(this.output=a(arguments[0]),options.step.output=this.output,UI.onComplete(options.step),!0):2==arguments.length&&(this.output=a(arguments[0]),options.step.output=this.output,arguments[1](),UI.onComplete(options.step),!0)}}]};a(n,function(n){var r=function(t){return{src:t,format:t.split(":")[1].split(";")[0].split("/")[1]}}(n);e.images[t]=o;var a=e.images[t].steps[0];return a.output=r,a.options.step.output=a.output.src,a.UI.onSetup(a.options.step),a.UI.onDraw(a.options.step),a.UI.onComplete(a.options.step),i(),!0})}(n,r)}},{urify:147}],244:[function(t,e,n){e.exports=function(){return function(t){var e=$(t.dropZoneSelector),n=$(t.fileInputSelector),r=t.onLoad;function i(t){if(t.preventDefault(),t.stopPropagation(),t.target&&t.target.files)var e=t.target.files[0];else e=t.dataTransfer.files[0];if(e){var n=new FileReader;n.onload=r,n.readAsDataURL(e)}}new FileReader,n.on("change",i),e[0].addEventListener("drop",i,!1),e.on("dragover",function(t){t.stopPropagation(),t.preventDefault(),t.dataTransfer.dropEffect="copy"},!1),e.on("dragenter",function(t){e.addClass("hover")}),e.on("dragleave",function(t){e.removeClass("hover")})}}},{}],245:[function(t,e,n){e.exports=function(t={}){return t.onSetup=t.onSetup||function(t){0==t.ui||(t.inBrowser?console.log('Added Step "'+t.name+'" to "'+t.imageName+'".'):console.log("%s",'Added Step "'+t.name+'" to "'+t.imageName+'".'))},t.onDraw=t.onDraw||function(t){0==t.ui||(t.inBrowser?console.log('Drawing Step "'+t.name+'" on "'+t.imageName+'".'):console.log("%s",'Drawing Step "'+t.name+'" on "'+t.imageName+'".'))},t.onComplete=t.onComplete||function(t){0==t.ui||(t.inBrowser?console.log('Drawn Step "'+t.name+'" on "'+t.imageName+'".'):console.log("%s",'Drawn Step "'+t.name+'" on "'+t.imageName+'".'))},t.onRemove=t.onRemove||function(t){0==t.ui||(t.inBrowser?console.log('Removing Step "'+t.name+'" of "'+t.imageName+'".'):console.log("%s",'Removing Step "'+t.name+'" of "'+t.imageName+'".'))},t}},{}],246:[function(t,e,n){e.exports=function(t){var e=void 0;return"jpeg"===(e=(e=function(t){return"data:image"===t.substr(0,10)}(t)?t.split(";")[0].split("/").pop():t.split(".").pop()).toLowerCase())&&(e="jpg"),["jpg","jpeg","png","gif","canvas"].includes(e)?e:"jpg"}},{}],247:[function(t,e,n){e.exports={getPreviousStep:function(){return this.getStep(-1)},getNextStep:function(){return this.getStep(1)},getInput:function(t){return t+this.getIndex()===0&&t++,this.getStep(t-1).output},getOutput:function(t){return this.getStep(t).output},getOptions:function(){return this.getStep(0).options},setOptions:function(t){let e=this.getStep(0).options;for(let n in t)e[n]&&(e[n]=t[n])},getFormat:function(){return this.getStep(-1).output.format},getHeight:function(t){let e=new Image;e.onload=function(){t(e.height)},e.src=this.getInput(0).src},getWidth:function(t){let e=new Image;e.onload=function(){t(e.width)},e.src=this.getInput(0).src}}},{}]},{},[154]); \ No newline at end of file +!function(){return function t(e,n,r){function i(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return i(e[o][1][t]||t)},c,c.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o0?r-4:r,f=0;f>16&255,s[u++]=e>>8&255,s[u++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[u++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[u++]=e>>8&255,s[u++]=255&e);return s},n.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=0,s=n-i;os?s:o+16383));1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return a.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],2:[function(t,e,n){"use strict";"use restrict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}n.INT_BITS=32,n.INT_MAX=2147483647,n.INT_MIN=-1<<31,n.sign=function(t){return(t>0)-(t<0)},n.abs=function(t){var e=t>>31;return(t^e)-e},n.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=n=((t>>>=e)>255)<<3,e|=n=((t>>>=n)>15)<<2,(e|=n=((t>>>=n)>3)<<1)|(t>>>=n)>>1},n.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},n.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},n.countTrailingZeros=r,n.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},n.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},n.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var n=e,r=e,i=7;for(n>>>=1;n;n>>>=1)r<<=1,r|=1&n,--i;t[e]=r<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},n.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},n.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},n.interleave3=function(t,e,n){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<2},n.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},n.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},{}],3:[function(t,e,n){(function(t,r,i){!function(t){if("object"==typeof n&&void 0!==e)e.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:void 0!==r?i=r:"undefined"!=typeof self&&(i=self),i.Promise=t()}}(function(){var e,n,a;return function t(e,n,r){function i(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof _dereq_&&_dereq_;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return i(n||t)},c,c.exports,t,e,n,r)}return n[o].exports}for(var a="function"==typeof _dereq_&&_dereq_,o=0;o0;)p(t)}function p(t){var e=t.shift();if("function"!=typeof e)e._settlePromises();else{var n=t.shift(),r=t.shift();e.call(n,r)}}u.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},u.prototype.hasCustomScheduler=function(){return this._customScheduler},u.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},u.prototype.disableTrampolineIfNecessary=function(){s.hasDevTools&&(this._trampolineEnabled=!1)},u.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},u.prototype.fatalError=function(e,n){n?(t.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),t.exit(2)):this.throwLater(e)},u.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},s.hasDevTools?(u.prototype.invokeLater=function(t,e,n){this._trampolineEnabled?l.call(this,t,e,n):this._schedule(function(){setTimeout(function(){t.call(e,n)},100)})},u.prototype.invoke=function(t,e,n){this._trampolineEnabled?c.call(this,t,e,n):this._schedule(function(){t.call(e,n)})},u.prototype.settlePromises=function(t){this._trampolineEnabled?f.call(this,t):this._schedule(function(){t._settlePromises()})}):(u.prototype.invokeLater=l,u.prototype.invoke=c,u.prototype.settlePromises=f),u.prototype._drainQueues=function(){h(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,h(this._lateQueue)},u.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},u.prototype._reset=function(){this._isTickUsed=!1},n.exports=u,n.exports.firstLineError=i},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,a=function(t,e){this._reject(e)},o=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(a,a,null,this,t)},s=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},u=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(a){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(a),c=new t(e);c._propagateFrom(this,1);var f=this._target();if(c._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:c,target:f,bindingPromise:l};f._then(e,o,void 0,c,h),l._then(s,u,void 0,c,h),c._setOnCancel(l)}else c._resolveCallback(f);return c},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";var r;"undefined"!=typeof Promise&&(r=Promise);var i=t("./promise")();i.noConflict=function(){try{Promise===i&&(Promise=r)}catch(t){}return i},e.exports=i},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),a=r(null);i[" size"]=a[" size"]=0}e.exports=function(e){var n,r=t("./util"),i=r.canEvaluate;r.isIdentifier;function a(t,n){var i;if(null!=t&&(i=t[n]),"function"!=typeof i){var a="Object "+r.classString(t)+" has no method '"+r.toString(n)+"'";throw new e.TypeError(a)}return i}function o(t){return a(t,this.pop()).apply(t,this)}function s(t){return t[this]}function u(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(o,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e;if("number"==typeof t)e=u;else if(i){var r=n(t);e=null!==r?r:s}else e=s;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var a=t("./util"),o=a.tryCatch,s=a.errorObj,u=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(a.isArray(t))for(var n=0;n=0)return n[t]}return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},r.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,n.push(this._trace))},r.prototype._popContext=function(){if(void 0!==this._trace){var t=n.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},r.CapturedTrace=null,r.create=function(){if(e)return new r},r.deactivateLongStackTraces=function(){},r.activateLongStackTraces=function(){var n=t.prototype._pushContext,a=t.prototype._popContext,o=t._peekContext,s=t.prototype._peekContext,u=t.prototype._promiseCreated;r.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=a,t._peekContext=o,t.prototype._peekContext=s,t.prototype._promiseCreated=u,e=!1},e=!0,t.prototype._pushContext=r.prototype._pushContext,t.prototype._popContext=r.prototype._popContext,t._peekContext=t.prototype._peekContext=i,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},r}},{}],9:[function(e,n,r){"use strict";n.exports=function(n,r){var i,a,o,s=n._getDomain,u=n._async,l=e("./errors").Warning,c=e("./util"),f=e("./es5"),h=c.canAttachTrace,p=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,d=/\((?:timers\.js):\d+:\d+\)/,v=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,g=null,m=null,_=!1,y=!(0==c.env("BLUEBIRD_DEBUG")),w=!(0==c.env("BLUEBIRD_WARNINGS")||!y&&!c.env("BLUEBIRD_WARNINGS")),b=!(0==c.env("BLUEBIRD_LONG_STACK_TRACES")||!y&&!c.env("BLUEBIRD_LONG_STACK_TRACES")),x=0!=c.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(w||!!c.env("BLUEBIRD_W_FORGOTTEN_RETURN"));n.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},n.prototype._ensurePossibleRejectionHandled=function(){if(0==(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},n.prototype._notifyUnhandledRejectionIsHandled=function(){H("rejectionHandled",i,void 0,this)},n.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},n.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},n.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),H("unhandledRejection",a,t,this)}},n.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},n.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},n.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},n.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},n.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},n.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},n.prototype._warn=function(t,e,n){return z(t,e,n||this)},n.onPossiblyUnhandledRejection=function(t){var e=s();a="function"==typeof t?null===e?t:c.domainBind(e,t):void 0},n.onUnhandledRejectionHandled=function(t){var e=s();i="function"==typeof t?null===e?t:c.domainBind(e,t):void 0};var k=function(){};n.longStackTraces=function(){if(u.haveItemsQueued()&&!K.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!K.longStackTraces&&Z()){var t=n.prototype._captureStackTrace,e=n.prototype._attachExtraTrace,i=n.prototype._dereferenceTrace;K.longStackTraces=!0,k=function(){if(u.haveItemsQueued()&&!K.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");n.prototype._captureStackTrace=t,n.prototype._attachExtraTrace=e,n.prototype._dereferenceTrace=i,r.deactivateLongStackTraces(),u.enableTrampoline(),K.longStackTraces=!1},n.prototype._captureStackTrace=D,n.prototype._attachExtraTrace=N,n.prototype._dereferenceTrace=U,r.activateLongStackTraces(),u.disableTrampolineIfNecessary()}},n.hasLongStackTraces=function(){return K.longStackTraces&&Z()};var E=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var n={detail:e,cancelable:!0};f.defineProperty(n,"promise",{value:e.promise}),f.defineProperty(n,"reason",{value:e.reason});var r=new CustomEvent(t.toLowerCase(),n);return!c.global.dispatchEvent(r)}}if("function"==typeof Event){t=new Event("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,f.defineProperty(n,"promise",{value:e.promise}),f.defineProperty(n,"reason",{value:e.reason}),!c.global.dispatchEvent(n)}}return(t=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),c.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!c.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),S=c.isNode?function(){return t.emit.apply(t,arguments)}:c.global?function(t){var e="on"+t.toLowerCase(),n=c.global[e];return!!n&&(n.apply(c.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function j(t,e){return{promise:e}}var T={promiseCreated:j,promiseFulfilled:j,promiseRejected:j,promiseResolved:j,promiseCancelled:j,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:j},A=function(t){var e=!1;try{e=S.apply(null,arguments)}catch(t){u.throwLater(t),e=!0}var n=!1;try{n=E(t,T[t].apply(null,arguments))}catch(t){u.throwLater(t),n=!0}return n||e};function C(){return!1}function M(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+c.toString(t));r._attachCancellationCallback(t)})}catch(t){return t}}function I(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?c.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function R(){return this._onCancelField}function L(t){this._onCancelField=t}function B(){this._cancellationParent=void 0,this._onCancelField=void 0}function F(t,e){if(0!=(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}n.config=function(t){if("longStackTraces"in(t=Object(t))&&(t.longStackTraces?n.longStackTraces():!t.longStackTraces&&n.hasLongStackTraces()&&k()),"warnings"in t){var e=t.warnings;K.warnings=!!e,x=K.warnings,c.isObject(e)&&"wForgottenReturn"in e&&(x=!!e.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!K.cancellation){if(u.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");n.prototype._clearCancellationData=B,n.prototype._propagateFrom=F,n.prototype._onCancel=R,n.prototype._setOnCancel=L,n.prototype._attachCancellationCallback=I,n.prototype._execute=M,P=F,K.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!K.monitoring?(K.monitoring=!0,n.prototype._fireEvent=A):!t.monitoring&&K.monitoring&&(K.monitoring=!1,n.prototype._fireEvent=C)),n},n.prototype._fireEvent=C,n.prototype._execute=function(t,e,n){try{t(e,n)}catch(t){return t}},n.prototype._onCancel=function(){},n.prototype._setOnCancel=function(t){},n.prototype._attachCancellationCallback=function(t){},n.prototype._captureStackTrace=function(){},n.prototype._attachExtraTrace=function(){},n.prototype._dereferenceTrace=function(){},n.prototype._clearCancellationData=function(){},n.prototype._propagateFrom=function(t,e){};var P=function(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)};function O(){var t=this._boundTo;return void 0!==t&&t instanceof n?t.isFulfilled()?t.value():void 0:t}function D(){this._trace=new J(this._peekContext())}function N(t,e){if(h(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=V(t);c.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),c.notEnumerableProp(t,"__stackCleaned__",!0)}}}function U(){this._trace=void 0}function z(t,e,r){if(K.warnings){var i,a=new l(t);if(e)r._attachExtraTrace(a);else if(K.longStackTraces&&(i=n._peekContext()))i.attachExtraTrace(a);else{var o=V(a);a.stack=o.message+"\n"+o.stack.join("\n")}A("warning",a)||G(a,"",!0)}}function q(t){for(var e=[],n=0;n0?function(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:q(e)}}function G(t,e,n){if("undefined"!=typeof console){var r;if(c.isObject(t)){var i=t.stack;r=e+m(i,t)}else r=e+String(t);"function"==typeof o?o(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function H(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(t){u.throwLater(t)}"unhandledRejection"===t?A(t,n,r)||i||G(n,"Unhandled rejection "):A(t,r)}function W(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():c.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+function(t){if(t.length<41)return t;return t.substr(0,38)+"..."}(e)+">, no stack trace)"}function Z(){return"function"==typeof Q}var Y=function(){return!1},X=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function $(t){var e=t.match(X);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function J(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);Q(this,J),e>32&&this.uncycle()}c.inherits(J,Error),r.CapturedTrace=J,J.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;for(r=(t=this._length=r)-1;r>=0;--r){var a=e[r].stack;void 0===n[a]&&(n[a]=r)}for(r=0;r0&&(e[o-1]._parent=void 0,e[o-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var s=r>0?e[r-1]:this;o=0;--l)e[l]._length=u,u++;return}}}},J.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=V(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(q(i.stack.split("\n"))),i=i._parent;!function(t){for(var e=t[0],n=1;n=0;--s)if(r[s]===a){o=s;break}for(s=o;s>=0;--s){var u=r[s];if(e[i]!==u)break;e.pop(),i--}e=r}}(r),function(t){for(var e=0;e=0)return g=/@/,m=e,_=!0,function(t){t.stack=(new Error).stack};try{throw new Error}catch(t){r="stack"in t}return"stack"in i||!r||"number"!=typeof Error.stackTraceLimit?(m=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?W(e):e.toString()},null):(g=t,m=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(o=function(t){console.warn(t)},c.isNode&&t.stderr.isTTY?o=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:c.isNode||"string"!=typeof(new Error).stack||(o=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var K={warnings:w,longStackTraces:!1,cancellation:!1,monitoring:!1};return b&&n.longStackTraces(),{longStackTraces:function(){return K.longStackTraces},warnings:function(){return K.warnings},cancellation:function(){return K.cancellation},monitoring:function(){return K.monitoring},propagateFromFunction:function(){return P},boundValueFunction:function(){return O},checkForgottenReturns:function(t,e,n,r,i){if(void 0===t&&null!==e&&x){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;n&&(n+=" ");var a="",o="";if(e._trace){for(var s=e._trace.stack.split("\n"),u=q(s),l=u.length-1;l>=0;--l){var c=u[l];if(!d.test(c)){var f=c.match(v);f&&(a="at "+f[1]+":"+f[2]+":"+f[3]+" ");break}}if(u.length>0){var h=u[0];for(l=0;l0&&(o="\n"+s[l-1]);break}}}var p="a promise was created in a "+n+"handler "+a+"but was not returned from it, see http://goo.gl/rRqMUw"+o;r._warn(p,!0,e)}},setBounds:function(t,e){if(Z()){for(var n,r,i=t.stack.split("\n"),a=e.stack.split("\n"),o=-1,s=-1,u=0;u=s||(Y=function(t){if(p.test(t))return!0;var e=$(t);return!!(e&&e.fileName===n&&o<=e.line&&e.line<=s)})}},warn:z,deprecated:function(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),z(n)},CapturedTrace:J,fireDomEvent:E,fireGlobalEvent:S}}},{"./errors":12,"./es5":13,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1];return this.caught(t,function(){throw e})},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();return this.caught(n,function(){return r})}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){var n=t.reduce,r=t.all;function i(){return r(this)}t.prototype.each=function(t){return n(this,t,e,0)._then(i,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return n(this,t,e,e)},t.each=function(t,r){return n(t,r,e,0)._then(i,void 0,void 0,t,void 0)},t.mapSeries=function(t,r){return n(t,r,e,e)}}},{}],12:[function(t,e,n){"use strict";var r,i,a=t("./es5"),o=a.freeze,s=t("./util"),u=s.inherits,l=s.notEnumerableProp;function c(t,e){function n(r){if(!(this instanceof n))return new n(r);l(this,"message","string"==typeof r?r:e),l(this,"name",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return u(n,Error),n}var f=c("Warning","warning"),h=c("CancellationError","cancellation error"),p=c("TimeoutError","timeout error"),d=c("AggregateError","aggregate error");try{r=TypeError,i=RangeError}catch(t){r=c("TypeError","type error"),i=c("RangeError","range error")}for(var v="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function f(){return p.call(this,this.promise._target()._settledValue())}function h(t){if(!c(this,t))return o.e=t,o}function p(t){var i=this.promise,s=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?s.call(i._boundValue()):s.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var p=n(u,i);if(p instanceof e){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new a("late cancellation observer");return i._attachExtraTrace(d),o.e=d,o}p.isPending()&&p._attachCancellationCallback(new l(this))}return p._then(f,h,void 0,this,void 0)}}}return i.isRejected()?(c(this),o.e=t,o):(c(this),t)}return u.prototype.isFinallyHandler=function(){return 0===this.type},l.prototype._resultCancelled=function(){c(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new u(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,p,p)},e.prototype.tap=function(t){return this._passThrough(t,1,p)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,p);var r,a=new Array(n-1),o=0;for(r=0;r0&&"function"==typeof arguments[e]&&(t=arguments[e]);var r=[].slice.call(arguments);t&&r.pop();var i=new n(r).promise();return void 0!==t?i.spread(t):i}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a,o){var s=e._getDomain,u=t("./util"),l=u.tryCatch,c=u.errorObj,f=e._async;function h(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=s();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===a?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function p(t,n,i,a){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var o=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));o=i.concurrency}return new h(t,n,o="number"==typeof o&&isFinite(o)&&o>=1?o:0,a).promise()}u.inherits(h,n),h.prototype._asyncInit=function(){this._init$(void 0,-2)},h.prototype._init=function(){},h.prototype._promiseFulfilled=function(t,n){var r=this._values,a=this.length(),s=this._preservedValues,u=this._limit;if(n<0){if(r[n=-1*n-1]=t,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return r[n]=t,this._queue.push(n),!1;null!==s&&(s[n]=t);var f=this._promise,h=this._callback,p=f._boundValue();f._pushContext();var d=l(h).call(p,t,n,a),v=f._popContext();if(o.checkForgottenReturns(d,v,null!==s?"Promise.filter":"Promise.map",f),d===c)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof e){var m=(g=g._target())._bitField;if(0==(50397184&m))return u>=1&&this._inFlight++,r[n]=g,g._proxy(this,-1*(n+1)),!1;if(0==(33554432&m))return 0!=(16777216&m)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}r[n]=d}return++this._totalResolved>=a&&(null!==s?this._filter(r,s):this._resolve(r),!0)},h.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlight1){a.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],c=arguments[2];r=o.isArray(l)?s(t).apply(c,l):s(t).call(c,l)}else r=s(t)();var f=u._popContext();return a.checkForgottenReturns(r,f,"Promise.try",u),u._resolveFromSyncValue(r),u},e.prototype._resolveFromSyncValue=function(t){t===o.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";var r=t("./util"),i=r.maybeWrapAsError,a=t("./errors").OperationalError,o=t("./es5");var s=/^(?:name|message|stack|cause)$/;function u(t){var e;if(function(t){return t instanceof Error&&o.getPrototypeOf(t)===Error.prototype}(t)){(e=new a(t)).name=t.name,e.message=t.message,e.stack=t.stack;for(var n=o.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;n0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+l.classString(t);arguments.length>1&&(n+=", "+l.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},C.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},C.prototype.spread=function(t){return"function"!=typeof t?a("expecting a function but got "+l.classString(t)):this.all()._then(t,void 0,void 0,m,void 0)},C.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},C.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new w(this).promise()},C.prototype.error=function(t){return this.caught(l.originatesFromRejection,t)},C.getNewLibraryCopy=n.exports,C.is=function(t){return t instanceof C},C.fromNode=C.fromCallback=function(t){var e=new C(g);e._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=A(t)(j(e,n));return r===T&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},C.all=function(t){return new w(t).promise()},C.cast=function(t){var e=y(t);return e instanceof C||((e=new C(g))._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},C.resolve=C.fulfilled=C.cast,C.reject=C.rejected=function(t){var e=new C(g);return e._captureStackTrace(),e._rejectCallback(t,!0),e},C.setScheduler=function(t){if("function"!=typeof t)throw new d("expecting a function but got "+l.classString(t));return h.setScheduler(t)},C.prototype._then=function(t,e,n,r,i){var a=void 0!==i,o=a?i:new C(g),u=this._target(),c=u._bitField;a||(o._propagateFrom(this,3),o._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&c)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,o));var f=s();if(0!=(50397184&c)){var p,d,m=u._settlePromiseCtx;0!=(33554432&c)?(d=u._rejectionHandler0,p=t):0!=(16777216&c)?(d=u._fulfillmentHandler0,p=e,u._unsetRejectionIsUnhandled()):(m=u._settlePromiseLateCancellationObserver,d=new v("late cancellation observer"),u._attachExtraTrace(d),p=e),h.invoke(m,u,{handler:null===f?p:"function"==typeof p&&l.domainBind(f,p),promise:o,receiver:r,value:d})}else u._addCallbacks(t,e,o,r,f);return o},C.prototype._length=function(){return 65535&this._bitField},C.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},C.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},C.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},C.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},C.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},C.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},C.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},C.prototype._isFinal=function(){return(4194304&this._bitField)>0},C.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},C.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},C.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},C.prototype._setAsyncGuaranteed=function(){h.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},C.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==u)return void 0===e&&this._isBound()?this._boundValue():e},C.prototype._promiseAt=function(t){return this[4*t-4+2]},C.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},C.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},C.prototype._boundValue=function(){},C.prototype._migrateCallback0=function(t){t._bitField;var e=t._fulfillmentHandler0,n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=u),this._addCallbacks(e,n,r,i,null)},C.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),a=t._receiverAt(e);void 0===a&&(a=u),this._addCallbacks(n,r,i,a,null)},C.prototype._addCallbacks=function(t,e,n,r,i){var a=this._length();if(a>=65531&&(a=0,this._setLength(0)),0===a)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:l.domainBind(i,e));else{var o=4*a-4;this[o+2]=n,this[o+3]=r,"function"==typeof t&&(this[o+0]=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this[o+1]=null===i?e:l.domainBind(i,e))}return this._setLength(a+1),a},C.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},C.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(r(),!1);var n=y(t,this);if(!(n instanceof C))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i!==this){var a=i._bitField;if(0==(50397184&a)){var o=this._length();o>0&&i._migrateCallback0(this);for(var s=1;s>>16)){if(t===this){var n=r();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():h.settlePromises(this),this._dereferenceTrace())}},C.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return h.fatalError(t,l.isNode);(65535&e)>0?h.settlePromises(this):this._ensurePossibleRejectionHandled()}},C.prototype._fulfillPromises=function(t,e){for(var n=1;n0){if(0!=(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},C.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},C.defer=C.pending=function(){return k.deprecated("Promise.defer","new Promise"),{promise:new C(g),resolve:M,reject:I}},l.notEnumerableProp(C,"_makeSelfResolutionError",r),e("./method")(C,g,y,a,k),e("./bind")(C,g,y,k),e("./cancel")(C,w,a,k),e("./direct_resolve")(C),e("./synchronous_inspection")(C),e("./join")(C,w,y,g,h,s),C.Promise=C,C.version="3.5.2",e("./map.js")(C,w,a,y,g,k),e("./call_get.js")(C),e("./using.js")(C,a,y,x,g,k),e("./timers.js")(C,g,k),e("./generators.js")(C,a,g,y,o,k),e("./nodeify.js")(C),e("./promisify.js")(C,g),e("./props.js")(C,w,y,a),e("./race.js")(C,g,y,a),e("./reduce.js")(C,w,a,y,g,k),e("./settle.js")(C,w,k),e("./some.js")(C,w,a),e("./filter.js")(C,g),e("./each.js")(C,g),e("./any.js")(C),l.toFastProperties(C),l.toFastProperties(C.prototype),R({a:1}),R({b:2}),R({c:3}),R(1),R(function(){}),R(void 0),R(!1),R(new C(g)),k.setBounds(f.firstLineError,l.lastLineError),C}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a){var o=t("./util");o.isArray;function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return o.inherits(s,a),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function t(n,a){var s=r(this._values,this._promise);if(s instanceof e){var u=(s=s._target())._bitField;if(this._values=s,0==(50397184&u))return this._promise._setAsyncGuaranteed(),s._then(t,this._reject,void 0,this,a);if(0==(33554432&u))return 0!=(16777216&u)?this._reject(s._reason()):this._cancel();s=s._value()}if(null!==(s=o.asArray(s)))0!==s.length?this._iterate(s):-5===a?this._resolveEmptyArray():this._resolve(function(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}(a));else{var l=i("expecting an array or an iterable object but got "+o.classString(s)).reason();this._promise._rejectCallback(l,!1)}},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,a=!1,o=null,s=0;s=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n=this._length){var n;if(this._isMap)n=function(t){for(var e=new a,n=t.length/2|0,r=0;r>1},e.prototype.props=function(){return f(this)},e.props=function(t){return f(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t){this._capacity=t,this._length=0,this._front=0}r.prototype._willBeOverCapacity=function(t){return this._capacity=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseFulfilled=function(t,e){var n=new i;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},a.prototype._promiseRejected=function(t,e){var n=new i;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new a(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){var i=t("./util"),a=t("./errors").RangeError,o=t("./errors").AggregateError,s=i.isArray,u={};function l(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function c(t,e){if((0|e)!==e||e<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new l(t),i=n.promise();return n.setHowMany(e),n.init(),i}i.inherits(l,n),l.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var t=s(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},l.prototype.init=function(){this._initialized=!0,this._init()},l.prototype.setUnwrap=function(){this._unwrap=!0},l.prototype.howMany=function(){return this._howMany},l.prototype.setHowMany=function(t){this._howMany=t},l.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},l.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},l.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},l.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new o,e=this.length();e0?this._reject(t):this._cancel(),!0}return!1},l.prototype._fulfilled=function(){return this._totalResolved},l.prototype._rejected=function(){return this._values.length-this.length()},l.prototype._addRejected=function(t){this._values.push(t)},l.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},l.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},l.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},l.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return c(t,e)},e.prototype.some=function(t){return c(this,t)},e._SomePromiseArray=l}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},a=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},o=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},s=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return o.call(this._target())},t.prototype.isRejected=function(){return a.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){var r=t("./util"),i=r.errorObj,a=r.isObject;var o={}.hasOwnProperty;return function(t,s){if(a(t)){if(t instanceof e)return t;var u=function(t){try{return function(t){return t.then}(t)}catch(t){return i.e=t,i}}(t);if(u===i){s&&s._pushContext();var l=e.reject(u.e);return s&&s._popContext(),l}if("function"==typeof u)return function(t){try{return o.call(t,"_promise0")}catch(t){return!1}}(t)?(l=new e(n),t._then(l._fulfill,l._reject,void 0,l,null),l):function(t,a,o){var s=new e(n),u=s;o&&o._pushContext(),s._captureStackTrace(),o&&o._popContext();var l=!0,c=r.tryCatch(a).call(t,function(t){s&&(s._resolveCallback(t),s=null)},function(t){s&&(s._rejectCallback(t,l,!0),s=null)});return l=!1,s&&c===i&&(s._rejectCallback(c.e,!0,!0),s=null),u}(t,u,s)}return t}}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){var i=t("./util"),a=e.TimeoutError;function o(t){this.handle=t}o.prototype._resultCancelled=function(){clearTimeout(this.handle)};var s=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,i){var a,u;return void 0!==i?(a=e.resolve(i)._then(s,null,null,t,void 0),r.cancellation()&&i instanceof e&&a._setOnCancel(i)):(a=new e(n),u=setTimeout(function(){a._fulfill()},+t),r.cancellation()&&a._setOnCancel(new o(u)),a._captureStackTrace()),a._setAsyncGuaranteed(),a};e.prototype.delay=function(t){return u(t,this)};function l(t){return clearTimeout(this.handle),t}function c(t){throw clearTimeout(this.handle),t}e.prototype.timeout=function(t,e){var n,s;t=+t;var u=new o(setTimeout(function(){n.isPending()&&function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new a("operation timed out"):new a(e),i.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()}(n,e,s)},t));return r.cancellation()?(s=this.then(),(n=s._then(l,c,void 0,u,void 0))._setOnCancel(u)):n=this._then(l,c,void 0,u,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,a,o){var s=t("./util"),u=t("./errors").TypeError,l=t("./util").inherits,c=s.errorObj,f=s.tryCatch,h={};function p(t){setTimeout(function(){throw t},0)}function d(t,n){var i=0,o=t.length,s=new e(a);return function a(){if(i>=o)return s._fulfill();var u=function(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}(t[i++]);if(u instanceof e&&u._isDisposable()){try{u=r(u._getDisposer().tryDispose(n),t.promise)}catch(t){return p(t)}if(u instanceof e)return u._then(a,p,null,null,null)}a()}(),s}function v(t,e,n){this._data=t,this._promise=e,this._context=n}function g(t,e,n){this.constructor$(t,e,n)}function m(t){return v.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function _(t){this.length=t,this.promise=null,this[t-1]=null}v.prototype.data=function(){return this._data},v.prototype.promise=function(){return this._promise},v.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():h},v.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==h?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},v.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},l(g,v),g.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},_.prototype._resultCancelled=function(){for(var t=this.length,n=0;n0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new g(t,this,i());throw new u}}},{"./errors":12,"./util":36}],36:[function(e,n,i){"use strict";var a=e("./es5"),o="undefined"==typeof navigator,s={e:{}},u,l="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:void 0!==this?this:null;function c(){try{var t=u;return u=null,t.apply(this,arguments)}catch(t){return s.e=t,s}}function f(t){return u=t,c}var h=function(t,e){var n={}.hasOwnProperty;function r(){for(var r in this.constructor=t,this.constructor$=e,e.prototype)n.call(e.prototype,r)&&"$"!==r.charAt(r.length-1)&&(this[r+"$"]=e.prototype[r])}return r.prototype=e.prototype,t.prototype=new r,t.prototype};function p(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function d(t){return"function"==typeof t||"object"==typeof t&&null!==t}function v(t){return p(t)?new Error(T(t)):t}function g(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;n1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=b.test(t+"")&&a.names(t).length>0;if(n||r||i)return!0}return!1}catch(t){return!1}}function k(t){function e(){}e.prototype=t;var n=new e;function r(){return typeof n.foo}return r(),r(),t}var E=/^[a-z$_][a-z$_0-9]*$/i;function S(t){return E.test(t)}function j(t,e,n){for(var r=new Array(t),i=0;i10||V[0]>0),q.isNode&&q.toFastProperties(t);try{throw new Error}catch(t){q.lastLineError=t}n.exports=q},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{_process:117,timers:142}],4:[function(t,e,n){},{}],5:[function(t,e,n){"use strict";var r=t("base64-js"),i=t("ieee754");n.Buffer=s,n.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},n.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError("Invalid typed array length");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(t)}return u(t,e,n)}function u(t,e,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return U(t)?function(t,e,n){if(e<0||t.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(z(t)||U(t))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return O(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return D(t).length;default:if(r)return O(t).length;e=(""+e).toLowerCase(),r=!0}}function d(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=s.from(e,r)),s.isBuffer(e))return 0===e.length?-1:g(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):g(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,n,r,i){var a,o=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;o=2,s/=2,u/=2,n/=2}function l(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=n;as&&(n=s-u),a=n;a>=0;a--){for(var f=!0,h=0;hi&&(r=i):r=i;var a=e.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(e,t.length-n),t,n,r)}function k(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function E(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(u=(15&l)<<12|(63&a)<<6|63&o)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(t){var e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,n);case"utf8":case"utf-8":return E(this,e,n);case"ascii":return j(this,e,n);case"latin1":case"binary":return T(this,e,n);case"base64":return k(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=n.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},s.prototype.compare=function(t,e,n,r,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var a=i-r,o=n-e,u=Math.min(a,o),l=this.slice(r,i),c=t.slice(e,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return m(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":return y(this,t,e,n);case"latin1":case"binary":return w(this,t,e,n);case"base64":return b(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function j(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",a=e;an)throw new RangeError("Trying to access beyond buffer length")}function I(t,e,n,r,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function R(t,e,n,r,i,a){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(t,e,n,r,a){return e=+e,n>>>=0,a||R(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,a){return e=+e,n>>>=0,a||R(t,0,n,8),i.write(t,e,n,r,52,8),n+8}s.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t],i=1,a=0;++a>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},s.prototype.readUInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||M(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||M(t,e,this.length);for(var r=this[t],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*e)),r},s.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||M(t,e,this.length);for(var r=e,i=1,a=this[t+--r];r>0&&(i*=256);)a+=this[t+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||M(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(t,e){t>>>=0,e||M(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||M(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||M(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||M(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e>>>=0,n>>>=0,r)||I(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,n>>>=0,r)||I(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+n},s.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,t,e,n,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+n},s.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,t,e,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+n},s.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||I(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,n){return L(this,t,e,!0,n)},s.prototype.writeFloatBE=function(t,e,n){return L(this,t,e,!1,n)},s.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},s.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},s.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(a<1e3)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(a=e;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(e-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;a.push(n)}else if(n<2048){if((e-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function D(t){return r.toByteArray(function(t){if((t=t.trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function U(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function z(t){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function q(t){return t!=t}},{"base64-js":1,ieee754:60}],6:[function(t,e,n){(function(n){var r=t("tty"),i=t("./lib/encode"),a=t("stream").Stream,o=e.exports=function(){var t=null;function e(e){if(t)throw new Error("multiple inputs specified");t=e}var i=null;function a(t){if(i)throw new Error("multiple outputs specified");i=t}for(var o=0;o0&&this.down(e),t>0?this.right(t):t<0&&this.left(-t),this},s.prototype.up=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"A")),this},s.prototype.down=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"B")),this},s.prototype.right=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"C")),this},s.prototype.left=function(t){return void 0===t&&(t=1),this.write(i("["+Math.floor(t)+"D")),this},s.prototype.column=function(t){return this.write(i("["+Math.floor(t)+"G")),this},s.prototype.push=function(t){return this.write(i(t?"7":"[s")),this},s.prototype.pop=function(t){return this.write(i(t?"8":"[u")),this},s.prototype.erase=function(t){return"end"===t||"$"===t?this.write(i("[K")):"start"===t||"^"===t?this.write(i("[1K")):"line"===t?this.write(i("[2K")):"down"===t?this.write(i("[J")):"up"===t?this.write(i("[1J")):"screen"===t?this.write(i("[1J")):this.emit("error",new Error("Unknown erase type: "+t)),this},s.prototype.display=function(t){var e={reset:0,bright:1,dim:2,underscore:4,blink:5,reverse:7,hidden:8}[t];return void 0===e&&this.emit("error",new Error("Unknown attribute: "+t)),this.write(i("["+e+"m")),this},s.prototype.foreground=function(t){if("number"==typeof t)(t<0||t>=256)&&this.emit("error",new Error("Color out of range: "+t)),this.write(i("[38;5;"+t+"m"));else{var e={black:30,red:31,green:32,yellow:33,blue:34,magenta:35,cyan:36,white:37}[t.toLowerCase()];e||this.emit("error",new Error("Unknown color: "+t)),this.write(i("["+e+"m"))}return this},s.prototype.background=function(t){if("number"==typeof t)(t<0||t>=256)&&this.emit("error",new Error("Color out of range: "+t)),this.write(i("[48;5;"+t+"m"));else{var e={black:40,red:41,green:42,yellow:43,blue:44,magenta:45,cyan:46,white:47}[t.toLowerCase()];e||this.emit("error",new Error("Unknown color: "+t)),this.write(i("["+e+"m"))}return this},s.prototype.cursor=function(t){return this.write(i(t?"[?25h":"[?25l")),this};var u=o.extractCodes=function(t){for(var e=[],n=-1,r=0;r=0&&e.push(t.slice(n,r)),n=r):n>=0&&r===t.length-1&&e.push(t.slice(n));return e}}).call(this,t("_process"))},{"./lib/encode":7,_process:117,stream:139,tty:143}],7:[function(t,e,n){(function(t){var n=(e.exports=function(e){return new t([27].concat(function t(e){return"string"==typeof e?e.split("").map(n):Array.isArray(e)?e.reduce(function(e,n){return e.concat(t(n))},[]):void 0}(e)))}).ord=function(t){return t.charCodeAt(0)}}).call(this,t("buffer").Buffer)},{buffer:5}],8:[function(t,e,n){(function(n){"use strict";var r=t("readable-stream").Readable,i=t("util");function a(t,e){if(!(this instanceof a))return new a(t,e);r.call(this,e),null!==t&&void 0!==t||(t=String(t)),this._obj=t}e.exports=a,i.inherits(a,r),a.prototype._read=function(t){var e=this._obj;"string"==typeof e?this.push(new n(e)):n.isBuffer(e)?this.push(e):this.push(new n(JSON.stringify(e))),this.push(null)}}).call(this,t("buffer").Buffer)},{buffer:5,"readable-stream":14,util:150}],9:[function(t,e,n){(function(n){e.exports=s;var r=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e},i=t("core-util-is");i.inherits=t("inherits");var a=t("./_stream_readable"),o=t("./_stream_writable");function s(t){if(!(this instanceof s))return new s(t);a.call(this,t),o.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||n.nextTick(this.end.bind(this))}i.inherits(s,a),function(t,e){for(var n=0,r=t.length;n0?d(t):w(t)}(t,e);else if(e.objectMode||r&&r.length>0)if(e.ended&&!o){var u=new Error("stream.push() after EOF");t.emit("error",u)}else if(e.endEmitted&&o){u=new Error("stream.unshift() after end event");t.emit("error",u)}else!e.decoder||o||a||(r=e.decoder.write(r)),e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):(e.reading=!1,e.buffer.push(r)),e.needReadable&&d(t),function(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(function(){!function(t,e){var n=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.lengthe.highWaterMark&&(e.highWaterMark=function(t){if(t>=h)t=h;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function d(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,e.sync?n.nextTick(function(){v(t)}):v(t))}function v(t){t.emit("readable")}function g(t){var e,n=t._readableState;function r(t,r,i){!1===t.write(e)&&n.awaitDrain++}for(n.awaitDrain=0;n.pipesCount&&null!==(e=t.read());)if(1===n.pipesCount?r(n.pipes):b(n.pipes,r),t.emit("data",e),n.awaitDrain>0)return;if(0===n.pipesCount)return n.flowing=!1,void(a.listenerCount(t,"data")>0&&_(t));n.ranOut=!0}function m(){this._readableState.ranOut&&(this._readableState.ranOut=!1,g(this))}function _(t,e){if(t._readableState.flowing)throw new Error("Cannot switch to old mode now.");var r=e||!1,i=!1;t.readable=!0,t.pipe=s.prototype.pipe,t.on=t.addListener=s.prototype.on,t.on("readable",function(){var e;for(i=!0;!r&&null!==(e=t.read());)t.emit("data",e);null===e&&(i=!1,t._readableState.needReadable=!0)}),t.pause=function(){r=!0,this.emit("pause")},t.resume=function(){r=!1,i?n.nextTick(function(){t.emit("readable")}):this.read(0),this.emit("resume")},t.emit("readable")}function y(t,e){var n,r=e.buffer,a=e.length,o=!!e.decoder,s=!!e.objectMode;if(0===r.length)return null;if(0===a)n=null;else if(s)n=r.shift();else if(!t||t>=a)n=o?r.join(""):i.concat(r,a),r.length=0;else{if(t0)throw new Error("endReadable called on non-empty stream");!e.endEmitted&&e.calledRead&&(e.ended=!0,n.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}function b(t,e){for(var n=0,r=t.length;n0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d(this),null;if(0===(t=p(t,e))&&e.ended)return n=null,e.length>0&&e.decoder&&(n=y(t,e),e.length-=n.length),0===e.length&&w(this),n;var i=e.needReadable;return e.length-t<=e.highWaterMark&&(i=!0),(e.ended||e.reading)&&(i=!1),i&&(e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1),i&&!e.reading&&(t=p(r,e)),null===(n=t>0?y(t,e):null)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),e.ended&&!e.endEmitted&&0===e.length&&w(this),n},c.prototype._read=function(t){this.emit("error",new Error("not implemented"))},c.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1;var s=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?l:f;function u(t){t===i&&f()}function l(){t.end()}o.endEmitted?n.nextTick(s):i.once("end",s),t.on("unpipe",u);var c=function(t){return function(){var e=t._readableState;e.awaitDrain--,0===e.awaitDrain&&g(t)}}(i);function f(){t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",h),t.removeListener("unpipe",u),i.removeListener("end",l),i.removeListener("end",f),t._writableState&&!t._writableState.needDrain||c()}function h(e){v(),t.removeListener("error",h),0===a.listenerCount(t,"error")&&t.emit("error",e)}function p(){t.removeListener("finish",d),v()}function d(){t.removeListener("close",p),v()}function v(){i.unpipe(t)}return t.on("drain",c),t._events&&t._events.error?r(t._events.error)?t._events.error.unshift(h):t._events.error=[h,t._events.error]:t.on("error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",i),o.flowing||(this.on("readable",m),o.flowing=!0,n.nextTick(function(){g(i)})),t},c.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,this.removeListener("readable",m),e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,this.removeListener("readable",m),e.flowing=!1;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===a)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===a){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===a){if(e.shapeArgs.push(i),in.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>n.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>n.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,r(e)}},{"./lib/thunk.js":18}],17:[function(t,e,n){"use strict";var r=t("uniq");function i(t,e,n){var r,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,u=[],l=[],c=0,f=0;for(r=0;r0&&u.push("var "+l.join(",")),r=a-1;r>=0;--r)c=t[r],u.push(["for(i",r,"=0;i",r,"0&&u.push(["index[",f,"]-=s",f].join("")),u.push(["++index[",c,"]"].join(""))),u.push("}")}return u.join("\n")}function a(t,e,n){for(var r=t.body,i=[],a=[],o=0;o0&&_.push("shape=SS.slice(0)"),t.indexArgs.length>0){var y=new Array(n);for(u=0;u0&&m.push("var "+_.join(",")),u=0;u3&&m.push(a(t.pre,t,s));var k=a(t.body,t,s),E=function(t){for(var e=0,n=t[0].length;e0,l=[],c=0;c0;){"].join("")),l.push(["if(j",c,"<",s,"){"].join("")),l.push(["s",e[c],"=j",c].join("")),l.push(["j",c,"=0"].join("")),l.push(["}else{s",e[c],"=",s].join("")),l.push(["j",c,"-=",s,"}"].join("")),u&&l.push(["index[",e[c],"]=j",c].join(""));for(c=0;c3&&m.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var S=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",E,function(t){for(var e=new Array(t.length),n=!0,r=0;r0&&(n=n&&e[r]===e[r-1])}return n?e[0]:e.join("")}(s)].join("");return new Function(["function ",S,"(",g.join(","),"){",m.join("\n"),"} return ",S].join(""))()}},{uniq:146}],18:[function(t,e,n){"use strict";var r=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],n=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],u=[],l=[],c=0;c0&&(u.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),l.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+u.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),c=0;c0)return function(t,e){var n,r;for(n=new Array(t),r=0;r 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],25:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat correctionRadius = 0.5;\n\tfloat distance = sqrt(vPosition.x * vPosition.x + vPosition.y * vPosition.y) / correctionRadius;\n\tfloat theta = 1.0;\n\tif(distance != 0.0){\n\t\ttheta = atan(distance);\n\t}\n\tvec2 vMapping = theta * vPosition.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\t\t\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],26:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec3 uLensS;\nuniform vec2 uLensF;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord * vec2(1.0, -1.0)/ 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat scale = uLensS.z;\n\tvec3 vPos = vPosition;\n\tfloat Fx = uLensF.x;\n\tfloat Fy = uLensF.y;\n\tvec2 vMapping = vPos.xy;\n\tvMapping.x = vMapping.x + ((pow(vPos.y, 2.0)/scale)*vPos.x/scale)*-Fx;\n\tvMapping.y = vMapping.y + ((pow(vPos.x, 2.0)/scale)*vPos.y/scale)*-Fy;\n\tvMapping = vMapping * uLensS.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping/scale);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t}\n\tgl_FragColor = texture;\n}\n"},{}],27:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TODO insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],28:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TOD insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],29:[function(t,e,n){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nattribute vec3 aVertexPosition;\nattribute vec2 aTextureCoord;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvoid main(void){\n\tvPosition = aVertexPosition;\n\tvTextureCoord = aTextureCoord;\n\tgl_Position = vec4(vPosition,1.0);\n}\n"},{}],30:[function(t,e,n){(function(n,r){"use strict";var i=t("path"),a=t("ndarray"),o=t("omggif").GifReader,s=(t("ndarray-pack"),t("through"),t("data-uri-to-buffer"));function u(t,e){var n;try{n=new o(t)}catch(t){return void e(t)}if(n.numFrames()>0){var r=[n.numFrames(),n.height,n.width,4],i=new Uint8Array(r[0]*r[1]*r[2]*r[3]),s=a(i,r);try{for(var u=0;u=0&&(this.dispose=t)},u.prototype.setRepeat=function(t){this.repeat=t},u.prototype.setTransparent=function(t){this.transparent=t},u.prototype.analyzeImage=function(t){this.setImagePixels(this.removeAlphaChannel(t)),this.analyzePixels()},u.prototype.writeImageInfo=function(){this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.writePalette(),this.firstFrame=!1},u.prototype.outputImage=function(){this.writePixels()},u.prototype.addFrame=function(t){this.emit("frame#start"),this.analyzeImage(t),this.writeImageInfo(),this.outputImage(),this.emit("frame#stop")},u.prototype.finish=function(){this.emit("finish#start"),this.writeByte(59),this.emit("finish#stop")},u.prototype.setQuality=function(t){t<1&&(t=1),this.sample=t},u.prototype.writeHeader=function(){this.emit("writeHeader#start"),this.writeUTFBytes("GIF89a"),this.emit("writeHeader#stop")},u.prototype.analyzePixels=function(){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);var e=new a(this.pixels,this.sample);e.buildColormap(),this.colorTab=e.getColormap();for(var n=0,r=0;r>16,n=(65280&t)>>8,r=255&t,i=0,a=16777216,o=this.colorTab.length,s=0;s=0&&(e=7&dispose),e<<=2,this.writeByte(0|e|t),this.writeShort(this.delay),this.writeByte(this.transIndex),this.writeByte(0)},u.prototype.writeImageDesc=function(){this.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame?this.writeByte(0):this.writeByte(128|this.palSize)},u.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.writeByte(240|this.palSize),this.writeByte(0),this.writeByte(0)},u.prototype.writeNetscapeExt=function(){this.writeByte(33),this.writeByte(255),this.writeByte(11),this.writeUTFBytes("NETSCAPE2.0"),this.writeByte(3),this.writeByte(1),this.writeShort(this.repeat),this.writeByte(0)},u.prototype.writePalette=function(){this.writeBytes(this.colorTab);for(var t=768-this.colorTab.length,e=0;e>8&255)},u.prototype.writePixels=function(){new o(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this)},u.prototype.stream=function(){return this},u.ByteCapacitor=s,e.exports=u}).call(this,t("buffer").Buffer)},{"./LZWEncoder.js":33,"./TypedNeuQuant.js":34,assert:41,buffer:5,events:48,"readable-stream":40,util:150}],33:[function(t,e,n){var r=-1,i=12,a=5003,o=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];e.exports=function(t,e,n,s){var u,l,c,f,h,p,d,v,g,m=Math.max(2,s),_=new Uint8Array(256),y=new Int32Array(a),w=new Int32Array(a),b=0,x=0,k=!1;function E(t,e){_[l++]=t,l>=254&&T(e)}function S(t){j(a),x=v+2,k=!0,M(v,t)}function j(t){for(var e=0;e0&&(t.writeByte(l),t.writeBytes(_,0,l),l=0)}function A(t){return(1<0?u|=t<=8;)E(255&u,e),u>>=8,b-=8;if((x>c||k)&&(k?(c=A(p=d),k=!1):c=++p==i?1<0;)E(255&u,e),u>>=8,b-=8;T(e)}}this.encode=function(n){n.writeByte(m),f=t*e,h=0,function(t,e){var n,o,s,u,f,h,m;for(k=!1,c=A(p=d=t),g=1+(v=1<=0){f=h-s,0===s&&(f=1);do{if((s-=f)<0&&(s+=h),y[s]===n){u=w[s];continue t}}while(y[s]>=0)}M(u,e),u=o,x<1<>c,h=u<>3)*(1<l;)u=T[p++],fl&&((s=n[h--])[0]-=u*(s[0]-r)/_,s[1]-=u*(s[1]-a)/_,s[2]-=u*(s[2]-o)/_)}function M(t,e,r){var a,u,p,d,v,g=~(1<<31),m=g,_=-1,y=_;for(a=0;a>s-o))>c,j[a]-=v,S[a]+=v<>3),t=0;t>p;for(j<=1&&(j=0),n=0;n=c&&(I-=c),n++,0===_&&(_=1),n%_==0)for(E-=E/f,(j=(S-=S/v)>>p)<=1&&(j=0),l=0;l>=o,n[t][1]>>=o,n[t][2]>>=o,n[t][3]=t}(),function(){var t,e,r,o,s,u,l=0,c=0;for(t=0;t>1,e=l+1;e>1,e=l+1;e<256;e++)E[e]=a}()},this.getColormap=function(){for(var t=[],e=[],r=0;r=0;)c=u?c=i:(c++,s<0&&(s=-s),(a=o[0]-t)<0&&(a=-a),(s+=a)=0&&((s=e-(o=n[f])[1])>=u?f=-1:(f--,s<0&&(s=-s),(a=o[0]-t)<0&&(a=-a),(s+=a)0)if(e.ended&&!a){var s=new Error("stream.push() after EOF");t.emit("error",s)}else if(e.endEmitted&&a){s=new Error("stream.unshift() after end event");t.emit("error",s)}else!e.decoder||a||i||(r=e.decoder.write(r)),a||(e.reading=!1),e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,a?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&v(t)),function(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(function(){!function(t,e){var n=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.lengthe.highWaterMark&&(e.highWaterMark=function(t){if(t>=p)t=p;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function v(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(function(){g(t)}):g(t))}function g(t){l("emit readable"),t.emit("readable"),m(t)}function m(t){var e=t._readableState;if(l("flow",e.flowing),e.flowing)do{var n=t.read()}while(null!==n&&e.flowing)}function _(t,e){var n,r=e.buffer,a=e.length,o=!!e.decoder,s=!!e.objectMode;if(0===r.length)return null;if(0===a)n=null;else if(s)n=r.shift();else if(!t||t>=a)n=o?r.join(""):i.concat(r,a),r.length=0;else{if(t0)throw new Error("endReadable called on non-empty stream");e.endEmitted||(e.ended=!0,n.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}f.prototype.read=function(t){l("read",t);var e=this._readableState,n=t;if((!u.isNumber(t)||t>0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?y(this):v(this),null;if(0===(t=d(t,e))&&e.ended)return 0===e.length&&y(this),null;var r,i=e.needReadable;return l("need readable",i),(0===e.length||e.length-t0?_(t,e):null,u.isNull(r)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),n!==t&&e.ended&&0===e.length&&y(this),u.isNull(r)||this.emit("data",r),r},f.prototype._read=function(t){this.emit("error",new Error("not implemented"))},f.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,l("pipe count=%d opts=%j",o.pipesCount,e);var s=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:h;function u(t){l("onunpipe"),t===i&&h()}function c(){l("onend"),t.end()}o.endEmitted?n.nextTick(s):i.once("end",s),t.on("unpipe",u);var f=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a.listenerCount(t,"data")&&(e.flowing=!0,m(t))}}(i);function h(){l("cleanup"),t.removeListener("close",v),t.removeListener("finish",g),t.removeListener("drain",f),t.removeListener("error",d),t.removeListener("unpipe",u),i.removeListener("end",c),i.removeListener("end",h),i.removeListener("data",p),!o.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata"),!1===t.write(e)&&(l("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,i.pause())}function d(e){l("onerror",e),_(),t.removeListener("error",d),0===a.listenerCount(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",g),_()}function g(){l("onfinish"),t.removeListener("close",v),_()}function _(){l("unpipe"),i.unpipe(t)}return t.on("drain",f),i.on("data",p),t._events&&t._events.error?r(t._events.error)?t._events.error.unshift(d):t._events.error=[d,t._events.error]:t.on("error",d),t.once("close",v),t.once("finish",g),t.emit("pipe",i),o.flowing||(l("pipe resume"),i.resume()),t},f.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i1){for(var n=[],r=0;r=0;l--)if(c[l]!==f[l])return!1;for(l=c.length-1;l>=0;l--)if(u=c[l],!_(t[u],e[u],n,r))return!1;return!0}(t,e,n,o))}return n?t===e:t==e}function y(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function b(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&a.isError(i),u=!t&&i&&!n;if((s&&o&&w(i,n)||u)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!w(i,n)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(v((e=this).actual),128)+" "+e.operator+" "+d(v(e.expected),128),this.generatedMessage=!0);var n=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,a=p(n),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=m,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal)},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual)},f.deepEqual=function(t,e,n){_(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,n){_(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,n){_(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,n,r){_(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual)},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual)},f.throws=function(t,e,n){b(!0,t,e,n)},f.doesNotThrow=function(t,e,n){b(!1,t,e,n)},f.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var n in t)o.call(t,n)&&e.push(n);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":44}],42:[function(t,e,n){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},{}],43:[function(t,e,n){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],44:[function(t,e,n){(function(e,r){var i=/%[sdj%]/g;n.format=function(t){if(!m(t)){for(var e=[],n=0;n=a)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}}),u=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(e)?r.showHidden=e:e&&n._extend(r,e),_(r.showHidden)&&(r.showHidden=!1),_(r.depth)&&(r.depth=2),_(r.colors)&&(r.colors=!1),_(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),c(r,t,r.depth)}function u(t,e){var n=s.styles[e];return n?"["+s.colors[n][0]+"m"+t+"["+s.colors[n][1]+"m":t}function l(t,e){return t}function c(t,e,r){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==n.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(r,t);return m(i)||(i=c(t,i,r)),i}var a=function(t,e){if(_(e))return t.stylize("undefined","undefined");if(m(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(g(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,n){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),x(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(k(e)){var u=e.name?": "+e.name:"";return t.stylize("[Function"+u+"]","special")}if(y(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(b(e))return t.stylize(Date.prototype.toString.call(e),"date");if(x(e))return f(e)}var l,w="",E=!1,S=["{","}"];(p(e)&&(E=!0,S=["[","]"]),k(e))&&(w=" [Function"+(e.name?": "+e.name:"")+"]");return y(e)&&(w=" "+RegExp.prototype.toString.call(e)),b(e)&&(w=" "+Date.prototype.toUTCString.call(e)),x(e)&&(w=" "+f(e)),0!==o.length||E&&0!=e.length?r<0?y(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),l=E?function(t,e,n,r,i){for(var a=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(l,w,S)):S[0]+w+S[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,n,r,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),T(r,i)||(o="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=v(n)?c(t,u.value,null):c(t,u.value,n-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),_(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function v(t){return null===t}function g(t){return"number"==typeof t}function m(t){return"string"==typeof t}function _(t){return void 0===t}function y(t){return w(t)&&"[object RegExp]"===E(t)}function w(t){return"object"==typeof t&&null!==t}function b(t){return w(t)&&"[object Date]"===E(t)}function x(t){return w(t)&&("[object Error]"===E(t)||t instanceof Error)}function k(t){return"function"==typeof t}function E(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}n.debuglog=function(t){if(_(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var r=e.pid;o[t]=function(){var e=n.format.apply(n,arguments);console.error("%s %d: %s",t,r,e)}}else o[t]=function(){};return o[t]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=p,n.isBoolean=d,n.isNull=v,n.isNullOrUndefined=function(t){return null==t},n.isNumber=g,n.isString=m,n.isSymbol=function(t){return"symbol"==typeof t},n.isUndefined=_,n.isRegExp=y,n.isObject=w,n.isDate=b,n.isError=x,n.isFunction=k,n.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},n.isBuffer=t("./support/isBuffer");var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(t,e){return Object.prototype.hasOwnProperty.call(t,e)}n.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),j[t.getMonth()],e].join(" ")),n.format.apply(n,arguments))},n.inherits=t("inherits"),n._extend=function(t,e){if(!e||!w(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":43,_process:117,inherits:42}],45:[function(t,e,n){(function(e,r){"use strict";var i=t("assert"),a=t("pako/lib/zlib/zstream"),o=t("pako/lib/zlib/deflate.js"),s=t("pako/lib/zlib/inflate.js"),u=t("pako/lib/zlib/constants");for(var l in u)n[l]=u[l];n.NONE=0,n.DEFLATE=1,n.INFLATE=2,n.GZIP=3,n.GUNZIP=4,n.DEFLATERAW=5,n.INFLATERAW=6,n.UNZIP=7;function c(t){if("number"!=typeof t||tn.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}c.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=n.UNZIP),this.mode===n.DEFLATE||this.mode===n.GZIP||this.mode===n.DEFLATERAW?o.deflateEnd(this.strm):this.mode!==n.INFLATE&&this.mode!==n.GUNZIP&&this.mode!==n.INFLATERAW&&this.mode!==n.UNZIP||s.inflateEnd(this.strm),this.mode=n.NONE,this.dictionary=null)},c.prototype.write=function(t,e,n,r,i,a,o){return this._write(!0,t,e,n,r,i,a,o)},c.prototype.writeSync=function(t,e,n,r,i,a,o){return this._write(!1,t,e,n,r,i,a,o)},c.prototype._write=function(t,a,o,s,u,l,c,f){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==n.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===a,"must provide flush value"),this.write_in_progress=!0,a!==n.Z_NO_FLUSH&&a!==n.Z_PARTIAL_FLUSH&&a!==n.Z_SYNC_FLUSH&&a!==n.Z_FULL_FLUSH&&a!==n.Z_FINISH&&a!==n.Z_BLOCK)throw new Error("Invalid flush value");if(null==o&&(o=r.alloc(0),u=0,s=0),this.strm.avail_in=u,this.strm.input=o,this.strm.next_in=s,this.strm.avail_out=f,this.strm.output=l,this.strm.next_out=c,this.flush=a,!t)return this._process(),this._checkError()?this._afterSync():void 0;var h=this;return e.nextTick(function(){h._process(),h._after()}),this},c.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},c.prototype._process=function(){var t=null;switch(this.mode){case n.DEFLATE:case n.GZIP:case n.DEFLATERAW:this.err=o.deflate(this.strm,this.flush);break;case n.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=n.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=n.GUNZIP):this.mode=n.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case n.INFLATE:case n.GUNZIP:case n.INFLATERAW:for(this.err=s.inflate(this.strm,this.flush),this.err===n.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===n.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===n.Z_DATA_ERROR&&(this.err=n.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===n.GUNZIP&&this.err===n.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},c.prototype._checkError=function(){switch(this.err){case n.Z_OK:case n.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===n.Z_FINISH)return this._error("unexpected end of file"),!1;break;case n.Z_STREAM_END:break;case n.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},c.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},c.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},c.prototype.init=function(t,e,r,a,o){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(e>=-1&&e<=9,"invalid compression level"),i(r>=1&&r<=9,"invalid memlevel"),i(a===n.Z_FILTERED||a===n.Z_HUFFMAN_ONLY||a===n.Z_RLE||a===n.Z_FIXED||a===n.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(e,t,r,a,o),this._setDictionary()},c.prototype.params=function(){throw new Error("deflateParams Not supported")},c.prototype.reset=function(){this._reset(),this._setDictionary()},c.prototype._init=function(t,e,r,i,u){switch(this.level=t,this.windowBits=e,this.memLevel=r,this.strategy=i,this.flush=n.Z_NO_FLUSH,this.err=n.Z_OK,this.mode!==n.GZIP&&this.mode!==n.GUNZIP||(this.windowBits+=16),this.mode===n.UNZIP&&(this.windowBits+=32),this.mode!==n.DEFLATERAW&&this.mode!==n.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new a,this.mode){case n.DEFLATE:case n.GZIP:case n.DEFLATERAW:this.err=o.deflateInit2(this.strm,this.level,n.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case n.INFLATE:case n.GUNZIP:case n.INFLATERAW:case n.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==n.Z_OK&&this._error("Init error"),this.dictionary=u,this.write_in_progress=!1,this.init_done=!0},c.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=n.Z_OK,this.mode){case n.DEFLATE:case n.DEFLATERAW:this.err=o.deflateSetDictionary(this.strm,this.dictionary)}this.err!==n.Z_OK&&this._error("Failed to set dictionary")}},c.prototype._reset=function(){switch(this.err=n.Z_OK,this.mode){case n.DEFLATE:case n.DEFLATERAW:case n.GZIP:this.err=o.deflateReset(this.strm);break;case n.INFLATE:case n.INFLATERAW:case n.GUNZIP:this.err=s.inflateReset(this.strm)}this.err!==n.Z_OK&&this._error("Failed to reset stream")},n.Zlib=c}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,assert:41,buffer:5,"pako/lib/zlib/constants":51,"pako/lib/zlib/deflate.js":53,"pako/lib/zlib/inflate.js":55,"pako/lib/zlib/zstream":59}],46:[function(t,e,n){(function(e){"use strict";var r=t("buffer").Buffer,i=t("stream").Transform,a=t("./binding"),o=t("util"),s=t("assert").ok,u=t("buffer").kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+u.toString(16)+" bytes";a.Z_MIN_WINDOWBITS=8,a.Z_MAX_WINDOWBITS=15,a.Z_DEFAULT_WINDOWBITS=15,a.Z_MIN_CHUNK=64,a.Z_MAX_CHUNK=1/0,a.Z_DEFAULT_CHUNK=16384,a.Z_MIN_MEMLEVEL=1,a.Z_MAX_MEMLEVEL=9,a.Z_DEFAULT_MEMLEVEL=8,a.Z_MIN_LEVEL=-1,a.Z_MAX_LEVEL=9,a.Z_DEFAULT_LEVEL=a.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(a),f=0;f=u?o=new RangeError(l):e=r.concat(i,a),i=[],t.close(),n(o,e)}t.on("error",function(e){t.removeListener("end",s),t.removeListener("readable",o),n(e)}),t.on("end",s),t.end(e),o()}function _(t,e){if("string"==typeof e&&(e=r.from(e)),!r.isBuffer(e))throw new TypeError("Not a string or buffer");var n=t._finishFlushFlag;return t._processChunk(e,n)}function y(t){if(!(this instanceof y))return new y(t);T.call(this,t,a.DEFLATE)}function w(t){if(!(this instanceof w))return new w(t);T.call(this,t,a.INFLATE)}function b(t){if(!(this instanceof b))return new b(t);T.call(this,t,a.GZIP)}function x(t){if(!(this instanceof x))return new x(t);T.call(this,t,a.GUNZIP)}function k(t){if(!(this instanceof k))return new k(t);T.call(this,t,a.DEFLATERAW)}function E(t){if(!(this instanceof E))return new E(t);T.call(this,t,a.INFLATERAW)}function S(t){if(!(this instanceof S))return new S(t);T.call(this,t,a.UNZIP)}function j(t){return t===a.Z_NO_FLUSH||t===a.Z_PARTIAL_FLUSH||t===a.Z_SYNC_FLUSH||t===a.Z_FULL_FLUSH||t===a.Z_FINISH||t===a.Z_BLOCK}function T(t,e){var o=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||n.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!j(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!j(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||a.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:a.Z_FINISH,t.chunkSize&&(t.chunkSizen.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBitsn.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.leveln.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLeveln.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=n.Z_FILTERED&&t.strategy!=n.Z_HUFFMAN_ONLY&&t.strategy!=n.Z_RLE&&t.strategy!=n.Z_FIXED&&t.strategy!=n.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!r.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new a.Zlib(e);var s=this;this._hadError=!1,this._handle.onerror=function(t,e){A(s),s._hadError=!0;var r=new Error(t);r.errno=e,r.code=n.codes[e],s.emit("error",r)};var u=n.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(u=t.level);var l=n.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(l=t.strategy),this._handle.init(t.windowBits||n.Z_DEFAULT_WINDOWBITS,u,t.memLevel||n.Z_DEFAULT_MEMLEVEL,l,t.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=u,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!o._handle},configurable:!0,enumerable:!0})}function A(t,n){n&&e.nextTick(n),t._handle&&(t._handle.close(),t._handle=null)}function C(t){t.emit("close")}Object.defineProperty(n,"codes",{enumerable:!0,value:Object.freeze(p),writable:!1}),n.Deflate=y,n.Inflate=w,n.Gzip=b,n.Gunzip=x,n.DeflateRaw=k,n.InflateRaw=E,n.Unzip=S,n.createDeflate=function(t){return new y(t)},n.createInflate=function(t){return new w(t)},n.createDeflateRaw=function(t){return new k(t)},n.createInflateRaw=function(t){return new E(t)},n.createGzip=function(t){return new b(t)},n.createGunzip=function(t){return new x(t)},n.createUnzip=function(t){return new S(t)},n.deflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new y(e),t,n)},n.deflateSync=function(t,e){return _(new y(e),t)},n.gzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new b(e),t,n)},n.gzipSync=function(t,e){return _(new b(e),t)},n.deflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new k(e),t,n)},n.deflateRawSync=function(t,e){return _(new k(e),t)},n.unzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new S(e),t,n)},n.unzipSync=function(t,e){return _(new S(e),t)},n.inflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new w(e),t,n)},n.inflateSync=function(t,e){return _(new w(e),t)},n.gunzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new x(e),t,n)},n.gunzipSync=function(t,e){return _(new x(e),t)},n.inflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),m(new E(e),t,n)},n.inflateRawSync=function(t,e){return _(new E(e),t)},o.inherits(T,i),T.prototype.params=function(t,r,i){if(tn.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+t);if(r!=n.Z_FILTERED&&r!=n.Z_HUFFMAN_ONLY&&r!=n.Z_RLE&&r!=n.Z_FIXED&&r!=n.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==t||this._strategy!==r){var o=this;this.flush(a.Z_SYNC_FLUSH,function(){s(o._handle,"zlib binding closed"),o._handle.params(t,r),o._hadError||(o._level=t,o._strategy=r,i&&i())})}else e.nextTick(i)},T.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},T.prototype._flush=function(t){this._transform(r.alloc(0),"",t)},T.prototype.flush=function(t,n){var i=this,o=this._writableState;("function"==typeof t||void 0===t&&!n)&&(n=t,t=a.Z_FULL_FLUSH),o.ended?n&&e.nextTick(n):o.ending?n&&this.once("end",n):o.needDrain?n&&this.once("drain",function(){return i.flush(t,n)}):(this._flushFlag=t,this.write(r.alloc(0),"",n))},T.prototype.close=function(t){A(this,t),e.nextTick(C,this)},T.prototype._transform=function(t,e,n){var i,o=this._writableState,s=(o.ending||o.ended)&&(!t||o.length===t.length);return null===t||r.isBuffer(t)?this._handle?(s?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=o.length&&(this._flushFlag=this._opts.flush||a.Z_NO_FLUSH)),void this._processChunk(t,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},T.prototype._processChunk=function(t,e,n){var i=t&&t.length,a=this._chunkSize-this._offset,o=0,c=this,f="function"==typeof n;if(!f){var h,p=[],d=0;this.on("error",function(t){h=t}),s(this._handle,"zlib binding closed");do{var v=this._handle.writeSync(e,t,o,i,this._buffer,this._offset,a)}while(!this._hadError&&_(v[0],v[1]));if(this._hadError)throw h;if(d>=u)throw A(this),new RangeError(l);var g=r.concat(p,d);return A(this),g}s(this._handle,"zlib binding closed");var m=this._handle.write(e,t,o,i,this._buffer,this._offset,a);function _(u,l){if(this&&(this.buffer=null,this.callback=null),!c._hadError){var h=a-l;if(s(h>=0,"have should not go down"),h>0){var v=c._buffer.slice(c._offset,c._offset+h);c._offset+=h,f?c.push(v):(p.push(v),d+=v.length)}if((0===l||c._offset>=c._chunkSize)&&(a=c._chunkSize,c._offset=0,c._buffer=r.allocUnsafe(c._chunkSize)),0===l){if(o+=i-u,i=u,!f)return!0;var g=c._handle.write(e,t,o,i,c._buffer,c._offset,c._chunkSize);return g.callback=_,void(g.buffer=t)}if(!f)return!1;n()}}m.buffer=t,m.callback=_},o.inherits(y,T),o.inherits(w,T),o.inherits(b,T),o.inherits(x,T),o.inherits(k,T),o.inherits(E,T),o.inherits(S,T)}).call(this,t("_process"))},{"./binding":45,_process:117,assert:41,buffer:5,stream:139,util:150}],47:[function(t,e,n){arguments[4][4][0].apply(n,arguments)},{dup:4}],48:[function(t,e,n){var r=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=r(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,u=10;try{var l={};Object.defineProperty&&Object.defineProperty(l,"x",{value:0}),s=0===l.x}catch(t){s=!1}function c(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,n,i){var a,o,s;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),o=t._events),s=o[e]):(o=t._events=r(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),!s.warned&&(a=c(t))&&a>0&&s.length>a){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else s=o[e]=n,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=o[t]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),a=0;a=0;o--)if(n[o]===e||n[o].listener===e){s=n[o].listener,a=o;break}if(a<0)return this;0===a?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):v.call(t,e)},o.prototype.listenerCount=v,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],49:[function(t,e,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}n.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(t[r]=n[r])}}return t},n.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var a={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+r),i);else for(var a=0;a>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{a=a+(i=i+e[r++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0}},{}],51:[function(t,e,n){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],52:[function(t,e,n){"use strict";var r=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();e.exports=function(t,e,n,i){var a=r,o=i+n;t^=-1;for(var s=i;s>>8^a[255&(t^e[s])];return-1^t}},{}],53:[function(t,e,n){"use strict";var r,i=t("../utils/common"),a=t("./trees"),o=t("./adler32"),s=t("./crc32"),u=t("./messages"),l=0,c=1,f=3,h=4,p=5,d=0,v=1,g=-2,m=-3,_=-5,y=-1,w=1,b=2,x=3,k=4,E=0,S=2,j=8,T=9,A=15,C=8,M=286,I=30,R=19,L=2*M+1,B=15,F=3,P=258,O=P+F+1,D=32,N=42,U=69,z=73,q=91,V=103,G=113,H=666,W=1,Z=2,Y=3,X=4,$=3;function J(t,e){return t.msg=u[e],e}function Q(t){return(t<<1)-(t>4?9:0)}function K(t){for(var e=t.length;--e>=0;)t[e]=0}function tt(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(i.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function et(t,e){a._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,tt(t.strm)}function nt(t,e){t.pending_buf[t.pending++]=e}function rt(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function it(t,e){var n,r,i=t.max_chain_length,a=t.strstart,o=t.prev_length,s=t.nice_match,u=t.strstart>t.w_size-O?t.strstart-(t.w_size-O):0,l=t.window,c=t.w_mask,f=t.prev,h=t.strstart+P,p=l[a+o-1],d=l[a+o];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(l[(n=e)+o]===d&&l[n+o-1]===p&&l[n]===l[a]&&l[++n]===l[a+1]){a+=2,n++;do{}while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&ao){if(t.match_start=e,o=r,r>=s)break;p=l[a+o-1],d=l[a+o]}}}while((e=f[e&c])>u&&0!=--i);return o<=t.lookahead?o:t.lookahead}function at(t){var e,n,r,a,u,l,c,f,h,p,d=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=d+(d-O)){i.arraySet(t.window,t.window,d,d,0),t.match_start-=d,t.strstart-=d,t.block_start-=d,e=n=t.hash_size;do{r=t.head[--e],t.head[e]=r>=d?r-d:0}while(--n);e=n=d;do{r=t.prev[--e],t.prev[e]=r>=d?r-d:0}while(--n);a+=d}if(0===t.strm.avail_in)break;if(l=t.strm,c=t.window,f=t.strstart+t.lookahead,h=a,p=void 0,(p=l.avail_in)>h&&(p=h),n=0===p?0:(l.avail_in-=p,i.arraySet(c,l.input,l.next_in,p,f),1===l.state.wrap?l.adler=o(l.adler,c,p,f):2===l.state.wrap&&(l.adler=s(l.adler,c,p,f)),l.next_in+=p,l.total_in+=p,p),t.lookahead+=n,t.lookahead+t.insert>=F)for(u=t.strstart-t.insert,t.ins_h=t.window[u],t.ins_h=(t.ins_h<=F&&(t.ins_h=(t.ins_h<=F)if(r=a._tr_tally(t,t.strstart-t.match_start,t.match_length-F),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=F){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=F&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=F-1)),t.prev_length>=F&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-F,r=a._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-F),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<15&&(s=2,r-=16),a<1||a>T||n!==j||r<8||r>15||e<0||e>9||o<0||o>k)return J(t,g);8===r&&(r=9);var u=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=j,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*L),this.dyn_dtree=new i.Buf16(2*(2*I+1)),this.bl_tree=new i.Buf16(2*(2*R+1)),K(this.dyn_ltree),K(this.dyn_dtree),K(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(B+1),this.heap=new i.Buf16(2*M+1),K(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*M+1),K(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return t.state=u,u.strm=t,u.wrap=s,u.gzhead=null,u.w_bits=r,u.w_size=1<t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(at(t),0===t.lookahead&&e===l)return W;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,et(t,!1),0===t.strm.avail_out))return W;if(t.strstart-t.block_start>=t.w_size-O&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):(t.strstart>t.block_start&&(et(t,!1),t.strm.avail_out),W)}),new ut(4,4,8,4,ot),new ut(4,5,16,8,ot),new ut(4,6,32,32,ot),new ut(4,4,16,16,st),new ut(8,16,32,32,st),new ut(8,16,128,128,st),new ut(8,32,128,256,st),new ut(32,128,258,1024,st),new ut(32,258,258,4096,st)],n.deflateInit=function(t,e){return ft(t,e,j,A,C,E)},n.deflateInit2=ft,n.deflateReset=ct,n.deflateResetKeep=lt,n.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?g:(t.state.gzhead=e,d):g},n.deflate=function(t,e){var n,i,o,u;if(!t||!t.state||e>p||e<0)return t?J(t,g):g;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===H&&e!==h)return J(t,0===t.avail_out?_:g);if(i.strm=t,n=i.last_flush,i.last_flush=e,i.status===N)if(2===i.wrap)t.adler=0,nt(i,31),nt(i,139),nt(i,8),i.gzhead?(nt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),nt(i,255&i.gzhead.time),nt(i,i.gzhead.time>>8&255),nt(i,i.gzhead.time>>16&255),nt(i,i.gzhead.time>>24&255),nt(i,9===i.level?2:i.strategy>=b||i.level<2?4:0),nt(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(nt(i,255&i.gzhead.extra.length),nt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,9===i.level?2:i.strategy>=b||i.level<2?4:0),nt(i,$),i.status=G);else{var m=j+(i.w_bits-8<<4)<<8;m|=(i.strategy>=b||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(m|=D),m+=31-m%31,i.status=G,rt(i,m),0!==i.strstart&&(rt(i,t.adler>>>16),rt(i,65535&t.adler)),t.adler=1}if(i.status===U)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending!==i.pending_buf_size));)nt(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=z)}else i.status=z;if(i.status===z)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindexo&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===u&&(i.gzindex=0,i.status=q)}else i.status=q;if(i.status===q)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindexo&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===u&&(i.status=V)}else i.status=V;if(i.status===V&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&tt(t),i.pending+2<=i.pending_buf_size&&(nt(i,255&t.adler),nt(i,t.adler>>8&255),t.adler=0,i.status=G)):i.status=G),0!==i.pending){if(tt(t),0===t.avail_out)return i.last_flush=-1,d}else if(0===t.avail_in&&Q(e)<=Q(n)&&e!==h)return J(t,_);if(i.status===H&&0!==t.avail_in)return J(t,_);if(0!==t.avail_in||0!==i.lookahead||e!==l&&i.status!==H){var y=i.strategy===b?function(t,e){for(var n;;){if(0===t.lookahead&&(at(t),0===t.lookahead)){if(e===l)return W;break}if(t.match_length=0,n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:Z}(i,e):i.strategy===x?function(t,e){for(var n,r,i,o,s=t.window;;){if(t.lookahead<=P){if(at(t),t.lookahead<=P&&e===l)return W;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=F&&t.strstart>0&&(r=s[i=t.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i]){o=t.strstart+P;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=F?(n=a._tr_tally(t,1,t.match_length-F),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===h?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:Z}(i,e):r[i.level].func(i,e);if(y!==Y&&y!==X||(i.status=H),y===W||y===Y)return 0===t.avail_out&&(i.last_flush=-1),d;if(y===Z&&(e===c?a._tr_align(i):e!==p&&(a._tr_stored_block(i,0,0,!1),e===f&&(K(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),tt(t),0===t.avail_out))return i.last_flush=-1,d}return e!==h?d:i.wrap<=0?v:(2===i.wrap?(nt(i,255&t.adler),nt(i,t.adler>>8&255),nt(i,t.adler>>16&255),nt(i,t.adler>>24&255),nt(i,255&t.total_in),nt(i,t.total_in>>8&255),nt(i,t.total_in>>16&255),nt(i,t.total_in>>24&255)):(rt(i,t.adler>>>16),rt(i,65535&t.adler)),tt(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?d:v)},n.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==N&&e!==U&&e!==z&&e!==q&&e!==V&&e!==G&&e!==H?J(t,g):(t.state=null,e===G?J(t,m):d):g},n.deflateSetDictionary=function(t,e){var n,r,a,s,u,l,c,f,h=e.length;if(!t||!t.state)return g;if(2===(s=(n=t.state).wrap)||1===s&&n.status!==N||n.lookahead)return g;for(1===s&&(t.adler=o(t.adler,e,h,0)),n.wrap=0,h>=n.w_size&&(0===s&&(K(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new i.Buf8(n.w_size),i.arraySet(f,e,h-n.w_size,n.w_size,0),e=f,h=n.w_size),u=t.avail_in,l=t.next_in,c=t.input,t.avail_in=h,t.next_in=0,t.input=e,at(n);n.lookahead>=F;){r=n.strstart,a=n.lookahead-(F-1);do{n.ins_h=(n.ins_h<>>=w=y>>>24,d-=w,0===(w=y>>>16&255))j[a++]=65535&y;else{if(!(16&w)){if(0==(64&w)){y=v[(65535&y)+(p&(1<>>=w,d-=w),d<15&&(p+=S[r++]<>>=w=y>>>24,d-=w,!(16&(w=y>>>16&255))){if(0==(64&w)){y=g[(65535&y)+(p&(1<u){t.msg="invalid distance too far back",n.mode=30;break t}if(p>>>=w,d-=w,x>(w=a-o)){if((w=x-w)>c&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(k=0,E=h,0===f){if(k+=l-w,w2;)j[a++]=E[k++],j[a++]=E[k++],j[a++]=E[k++],b-=3;b&&(j[a++]=E[k++],b>1&&(j[a++]=E[k++]))}else{k=a-x;do{j[a++]=j[k++],j[a++]=j[k++],j[a++]=j[k++],b-=3}while(b>2);b&&(j[a++]=j[k++],b>1&&(j[a++]=j[k++]))}break}}break}}while(r>3,p&=(1<<(d-=b<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function it(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=x,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(tt),e.distcode=e.distdyn=new r.Buf32(et),e.sane=1,e.back=-1,d):m}function at(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,it(t)):m}function ot(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?m:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,at(t))):m}function st(t,e){var n,i;return t?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},t.state=i,i.window=null,(n=ot(t,e))!==d&&(t.state=null),n):m}var ut,lt,ct=!0;function ft(t){if(ct){var e;for(ut=new r.Buf32(512),lt=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(l,t.lens,0,288,ut,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(c,t.lens,0,32,lt,0,t.work,{bits:5}),ct=!1}t.lencode=ut,t.lenbits=9,t.distcode=lt,t.distbits=5}function ht(t,e,n,i){var a,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(r.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),r.arraySet(o.window,e,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,e,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,Tt,2,0),st=0,ut=0,n.mode=k;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&st)<<8)+(st>>8))%31){t.msg="incorrect header check",n.mode=J;break}if((15&st)!==b){t.msg="unknown compression method",n.mode=J;break}if(ut-=4,xt=8+(15&(st>>>=4)),0===n.wbits)n.wbits=xt;else if(xt>n.wbits){t.msg="invalid window size",n.mode=J;break}n.dmax=1<>8&1),512&n.flags&&(Tt[0]=255&st,Tt[1]=st>>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0,n.mode=E;case E:for(;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,Tt[2]=st>>>16&255,Tt[3]=st>>>24&255,n.check=a(n.check,Tt,4,0)),st=0,ut=0,n.mode=S;case S:for(;ut<16;){if(0===at)break t;at--,st+=tt[nt++]<>8),512&n.flags&&(Tt[0]=255&st,Tt[1]=st>>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0,n.mode=j;case j:if(1024&n.flags){for(;ut<16;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,n.check=a(n.check,Tt,2,0)),st=0,ut=0}else n.head&&(n.head.extra=null);n.mode=T;case T:if(1024&n.flags&&((pt=n.length)>at&&(pt=at),pt&&(n.head&&(xt=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,tt,nt,pt,xt)),512&n.flags&&(n.check=a(n.check,tt,pt,nt)),at-=pt,nt+=pt,n.length-=pt),n.length))break t;n.length=0,n.mode=A;case A:if(2048&n.flags){if(0===at)break t;pt=0;do{xt=tt[nt+pt++],n.head&&xt&&n.length<65536&&(n.head.name+=String.fromCharCode(xt))}while(xt&&pt>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=L;break;case I:for(;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>=7&ut,ut-=7&ut,n.mode=Y;break}for(;ut<3;){if(0===at)break t;at--,st+=tt[nt++]<>>=1)){case 0:n.mode=F;break;case 1:if(ft(n),n.mode=z,e===p){st>>>=2,ut-=2;break t}break;case 2:n.mode=D;break;case 3:t.msg="invalid block type",n.mode=J}st>>>=2,ut-=2;break;case F:for(st>>>=7&ut,ut-=7&ut;ut<32;){if(0===at)break t;at--,st+=tt[nt++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=J;break}if(n.length=65535&st,st=0,ut=0,n.mode=P,e===p)break t;case P:n.mode=O;case O:if(pt=n.length){if(pt>at&&(pt=at),pt>ot&&(pt=ot),0===pt)break t;r.arraySet(et,tt,nt,pt,it),at-=pt,nt+=pt,ot-=pt,it+=pt,n.length-=pt;break}n.mode=L;break;case D:for(;ut<14;){if(0===at)break t;at--,st+=tt[nt++]<>>=5,ut-=5,n.ndist=1+(31&st),st>>>=5,ut-=5,n.ncode=4+(15&st),st>>>=4,ut-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=J;break}n.have=0,n.mode=N;case N:for(;n.have>>=3,ut-=3}for(;n.have<19;)n.lens[At[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,Et={bits:n.lenbits},kt=s(u,n.lens,0,19,n.lencode,0,n.work,Et),n.lenbits=Et.bits,kt){t.msg="invalid code lengths set",n.mode=J;break}n.have=0,n.mode=U;case U:for(;n.have>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=gt,ut-=gt,n.lens[n.have++]=_t;else{if(16===_t){for(St=gt+2;ut>>=gt,ut-=gt,0===n.have){t.msg="invalid bit length repeat",n.mode=J;break}xt=n.lens[n.have-1],pt=3+(3&st),st>>>=2,ut-=2}else if(17===_t){for(St=gt+3;ut>>=gt)),st>>>=3,ut-=3}else{for(St=gt+7;ut>>=gt)),st>>>=7,ut-=7}if(n.have+pt>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=J;break}for(;pt--;)n.lens[n.have++]=xt}}if(n.mode===J)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=J;break}if(n.lenbits=9,Et={bits:n.lenbits},kt=s(l,n.lens,0,n.nlen,n.lencode,0,n.work,Et),n.lenbits=Et.bits,kt){t.msg="invalid literal/lengths set",n.mode=J;break}if(n.distbits=6,n.distcode=n.distdyn,Et={bits:n.distbits},kt=s(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,Et),n.distbits=Et.bits,kt){t.msg="invalid distances set",n.mode=J;break}if(n.mode=z,e===p)break t;case z:n.mode=q;case q:if(at>=6&&ot>=258){t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=ut,o(t,ct),it=t.next_out,et=t.output,ot=t.avail_out,nt=t.next_in,tt=t.input,at=t.avail_in,st=n.hold,ut=n.bits,n.mode===L&&(n.back=-1);break}for(n.back=0;mt=(jt=n.lencode[st&(1<>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>yt)])>>>16&255,_t=65535&jt,!(yt+(gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=yt,ut-=yt,n.back+=yt}if(st>>>=gt,ut-=gt,n.back+=gt,n.length=_t,0===mt){n.mode=Z;break}if(32&mt){n.back=-1,n.mode=L;break}if(64&mt){t.msg="invalid literal/length code",n.mode=J;break}n.extra=15&mt,n.mode=V;case V:if(n.extra){for(St=n.extra;ut>>=n.extra,ut-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=G;case G:for(;mt=(jt=n.distcode[st&(1<>>16&255,_t=65535&jt,!((gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>yt)])>>>16&255,_t=65535&jt,!(yt+(gt=jt>>>24)<=ut);){if(0===at)break t;at--,st+=tt[nt++]<>>=yt,ut-=yt,n.back+=yt}if(st>>>=gt,ut-=gt,n.back+=gt,64&mt){t.msg="invalid distance code",n.mode=J;break}n.offset=_t,n.extra=15&mt,n.mode=H;case H:if(n.extra){for(St=n.extra;ut>>=n.extra,ut-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=J;break}n.mode=W;case W:if(0===ot)break t;if(pt=ct-ot,n.offset>pt){if((pt=n.offset-pt)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=J;break}pt>n.wnext?(pt-=n.wnext,dt=n.wsize-pt):dt=n.wnext-pt,pt>n.length&&(pt=n.length),vt=n.window}else vt=et,dt=it-n.offset,pt=n.length;pt>ot&&(pt=ot),ot-=pt,n.length-=pt;do{et[it++]=vt[dt++]}while(--pt);0===n.length&&(n.mode=q);break;case Z:if(0===ot)break t;et[it++]=n.length,ot--,n.mode=q;break;case Y:if(n.wrap){for(;ut<32;){if(0===at)break t;at--,st|=tt[nt++]<=1&&0===F[j];j--);if(T>j&&(T=j),0===j)return l[c++]=20971520,l[c++]=20971520,h.bits=1,0;for(S=1;S0&&(0===t||1!==j))return-1;for(P[1]=0,k=1;k<15;k++)P[k+1]=P[k]+F[k];for(E=0;E852||2===t&&I>592)return 1;for(;;){y=k-C,f[E]<_?(w=0,b=f[E]):f[E]>_?(w=O[D+f[E]],b=L[B+f[E]]):(w=96,b=0),p=1<>C)+(d-=p)]=y<<24|w<<16|b|0}while(0!==d);for(p=1<>=1;if(0!==p?(R&=p-1,R+=p):R=0,E++,0==--F[k]){if(k===j)break;k=e[n+f[E]]}if(k>T&&(R&g)!==v){for(0===C&&(C=T),m+=S,M=1<<(A=k-C);A+C852||2===t&&I>592)return 1;l[v=R&g]=T<<24|A<<16|m-c|0}}return 0!==R&&(l[m+R]=k-C<<24|64<<16|0),h.bits=T,0}},{"../utils/common":49}],57:[function(t,e,n){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],58:[function(t,e,n){"use strict";var r=t("../utils/common"),i=4,a=0,o=1,s=2;function u(t){for(var e=t.length;--e>=0;)t[e]=0}var l=0,c=1,f=2,h=29,p=256,d=p+1+h,v=30,g=19,m=2*d+1,_=15,y=16,w=7,b=256,x=16,k=17,E=18,S=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],j=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],T=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],C=new Array(2*(d+2));u(C);var M=new Array(2*v);u(M);var I=new Array(512);u(I);var R=new Array(256);u(R);var L=new Array(h);u(L);var B,F,P,O=new Array(v);function D(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function N(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function U(t){return t<256?I[t]:I[256+(t>>>7)]}function z(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function q(t,e,n){t.bi_valid>y-n?(t.bi_buf|=e<>y-t.bi_valid,t.bi_valid+=n-y):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function H(t,e,n){var r,i,a=new Array(_+1),o=0;for(r=1;r<=_;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=G(a[s]++,s))}}function W(t){var e;for(e=0;e8?z(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function Y(t,e,n,r){var i=2*e,a=2*n;return t[i]>1;n>=1;n--)X(t,a,n);i=u;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],X(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,a[2*i]=a[2*n]+a[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,a[2*n+1]=a[2*r+1]=i,t.heap[1]=i++,X(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,a,o,s,u=e.dyn_tree,l=e.max_code,c=e.stat_desc.static_tree,f=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,d=e.stat_desc.max_length,v=0;for(a=0;a<=_;a++)t.bl_count[a]=0;for(u[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;nd&&(a=d,v++),u[2*r+1]=a,r>l||(t.bl_count[a]++,o=0,r>=p&&(o=h[r-p]),s=u[2*r],t.opt_len+=s*(a+o),f&&(t.static_len+=s*(c[2*r+1]+o)));if(0!==v){do{for(a=d-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=t.bl_count[a];0!==r;)(i=t.heap[--n])>l||(u[2*i+1]!==a&&(t.opt_len+=(a-u[2*i+1])*u[2*i],u[2*i+1]=a),r--)}}(t,e),H(a,l,t.bl_count)}function Q(t,e,n){var r,i,a=-1,o=e[1],s=0,u=7,l=4;for(0===o&&(u=138,l=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=e[2*(r+1)+1],++s>=7;r0?(t.strm.data_type===s&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return a;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e=3&&0===t.bl_tree[2*A[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),u=t.opt_len+3+7>>>3,(l=t.static_len+3+7>>>3)<=u&&(u=l)):u=l=n+5,n+4<=u&&-1!==e?et(t,e,n,r):t.strategy===i||l===u?(q(t,(c<<1)+(r?1:0),3),$(t,C,M)):(q(t,(f<<1)+(r?1:0),3),function(t,e,n,r){var i;for(q(t,e-257,5),q(t,n-1,5),q(t,r-4,4),i=0;i>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(R[n]+p+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},n._tr_align=function(t){q(t,c<<1,3),V(t,b,C),function(t){16===t.bi_valid?(z(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":49}],59:[function(t,e,n){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],60:[function(t,e,n){n.read=function(t,e,n,r,i){var a,o,s=8*i-r-1,u=(1<>1,c=-7,f=n?i-1:0,h=n?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=r;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-l;else{if(a===u)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,r),a-=l}return(p?-1:1)*o*Math.pow(2,a-r)},n.write=function(t,e,n,r,i,a){var o,s,u,l=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:a-1,d=r?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(o++,u/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*u-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[n+p]=255&o,p+=d,o/=256,l-=8);t[n+p-d]|=128*v}},{}],61:[function(t,e,n){e.exports=[function(t,e){return{options:t,draw:function(e,n,r){r.stop(!0),r.overrideFlag=!0;var i=this;return e.pixelManipulation({output:function(t,e,n){i.output={src:e,format:n}},changePixel:function(t,e,n,r){return[255-t,255-e,255-n,r]},format:e.format,image:t.image,inBrowser:t.inBrowser,callback:n})},output:void 0,UI:e}},{name:"Invert",description:"Inverts the image.",inputs:{}}]},{}],62:[function(t,e,n){"use strict";var r=t("underscore"),i=e.exports={Bitmap:t("./lib/bitmap")};r.extend(i,t("./lib/enums"))},{"./lib/bitmap":63,"./lib/enums":64,underscore:145}],63:[function(t,e,n){(function(n){"use strict";var r=t("fs"),i=(t("underscore"),t("bluebird")),a=t("jpeg-js"),o=t("node-png").PNG,s=t("./enums"),u=t("./utils"),l=t("./resize"),c={r:0,g:0,b:0,a:0},f=e.exports=function(t){t&&(t instanceof f?this._data={data:new n(t.data.data),width:t.width,height:t.height}:t.data?this._data=t:t.width&&t.height&&(this._data={data:new n(4*t.width*t.height),width:t.width,height:t.height},t.color&&this._fill(t.color)))};f.prototype={get width(){return this._data.width},get height(){return this._data.height},attach:function(t){var e=this._data;return this._data=t,e},detach:function(){var t=this._data;return delete this._data,t},_deduceFileType:function(t){if(!t)throw new Error("Can't determine image type");switch(t.substr(-4).toLowerCase()){case".jpg":return s.ImageType.JPG;case".png":return s.ImageType.PNG}if(".jpeg"==t.substr(-5).toLowerCase())return s.ImageType.JPG;throw new Error("Can't recognise image type: "+t)},_readStream:function(t){var e=i.defer(),r=[];return t.on("data",function(t){r.push(t)}),t.on("end",function(){var t=n.concat(r);e.resolve(t)}),t.on("error",function(t){e.reject(t)}),e.promise},_readPNG:function(t){var e=i.defer(),n=new o({filterType:4});return n.on("parsed",function(){e.resolve(n)}),n.on("error",function(t){e.rejecyt(t)}),t.pipe(n),e.promise},_parseOptions:function(t,e){return"number"==typeof(t=t||{})&&(t={type:t}),t.type=t.type||this._deduceFileType(e),t},read:function(t,e){var n=this;switch((e=this._parseOptions(e)).type){case s.ImageType.JPG:return this._readStream(t).then(function(t){n._data=a.decode(t)});case s.ImageType.PNG:return this._readPNG(t).then(function(t){n._data={data:t.data,width:t.width,height:t.height}});default:return i.reject(new Error("Not supported: ImageType "+e.type))}},readFile:function(t,e){var n=this;return u.fs.exists(t).then(function(i){if(i){e=n._parseOptions(e,t);var a=r.createReadStream(t);return n.read(a,e)}throw new Error("File Not Found: "+t)})},write:function(t,e){e=this._parseOptions(e);var n=i.defer();try{switch(t.on("finish",function(){n.resolve()}),t.on("error",function(t){n.reject(t)}),e.type){case s.ImageType.JPG:var r=a.encode(this._data,e.quality||90).data;t.write(r),t.end();break;case s.ImageType.PNG:var u=new o;u.width=this.width,u.height=this.height,u.data=this._data.data,u.on("end",function(){n.resolve()}),u.on("error",function(t){n.reject(t)}),u.pack().pipe(t);break;default:throw new Error("Not supported: ImageType "+e.type)}}catch(t){n.reject(t)}return n.promise},writeFile:function(t,e){e=this._parseOptions(e,t);var n=r.createWriteStream(t);return this.write(n,e)},clone:function(){return new f({width:this.width,height:this.height,data:new n(this._data.data)})},setPixel:function(t,e,n,r,i,a){if(void 0===r){var o=n;n=o.r,r=o.g,i=o.b,a=o.a}void 0===a&&(a=255);var s=4*(e*this.width+t),u=this._data.data;u[s++]=n,u[s++]=r,u[s++]=i,u[s++]=a},getPixel:function(t,e,n){var r=4*(e*this.width+t);n=n||{};var i=this._data.data;return n.r=i[r++],n.g=i[r++],n.b=i[r++],n.a=i[r++],n},negative:function(){for(var t=new f({width:this.width,height:this.height}),e=this.width*this.height,n=this._data.data,r=t._data.data,i=0,a=0,o=0;o-1&&C-1&&M=0&&M>=0?b[P]:O)+D*(g=C=0?b[P+4]:O),z=(1-D)*(m=C>=0&&M0?o:0)-(c>0?4:0)]+2*s[p-(l>0?o:0)]+1*s[p-(l>0?o:0)+(c0?4:0)]+4*s[p]+2*s[p+(c0?4:0)]+2*s[p+(l0?a[x-4]:2*a[x]-a[x+4],E=a[x],S=a[x+4],j=z0?v[x-4*h]:2*v[x]-v[x+4*h],M=v[x],I=v[x+4*h],R=N1)for(g=0;g0&&!t[o-1];)o--;a.push({children:[],index:0});var s,u=a[0];for(n=0;n0;)u=a.pop();for(u.index++,a.push(u);a.length<=n;)a.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}n+10)return p>>--d&1;if(255==(p=e[n++])){var t=e[n++];if(t)throw"unexpected marker: "+(p<<8|t).toString(16)}return d=7,p>>>7}function g(t){for(var e,n=t;null!==(e=v());){if("number"==typeof(n=n[e]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function m(t){for(var e=0;t>0;){var n=v();if(null===n)return;e=e<<1|n,t--}return e}function _(t){var e=m(t);return e>=1<0)y--;else for(var r=o,i=s;r<=i;){var a=g(e.huffmanTableAC),u=15&a,c=a>>4;if(0!==u)n[t[r+=c]]=_(u)*(1<>4,0===f)a<15?(y=m(a)+(1<>4;if(0!==s)n[t[a+=u]]=_(s),a++;else{if(u<15)break;a+=16}}};var I,R,L,B,F=0;for(R=1==M?i[0].blocksPerLine*i[0].blocksPerColumn:c*r.mcusPerColumn,a||(a=R);F=65488&&I<=65495))break;n+=2}return n-h}function h(t,l){var c,f,h=[],p=l.blocksPerLine,d=l.blocksPerColumn,v=p<<3,g=new Int32Array(64),m=new Uint8Array(64);function _(t,c,f){var h,p,d,v,g,m,_,y,w,b,x=l.quantizationTable,k=f;for(b=0;b<64;b++)k[b]=t[b]*x[b];for(b=0;b<8;++b){var E=8*b;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(h=s*k[0+E]+128>>8,p=s*k[4+E]+128>>8,d=k[2+E],v=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,m=k[3+E]<<4,_=k[5+E]<<4,w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+128>>8,d=d*a-v*o+128>>8,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+E]=h+y,k[7+E]=h-y,k[1+E]=p+_,k[6+E]=p-_,k[2+E]=d+m,k[5+E]=d-m,k[3+E]=v+g,k[4+E]=v-g):(w=s*k[0+E]+512>>10,k[0+E]=w,k[1+E]=w,k[2+E]=w,k[3+E]=w,k[4+E]=w,k[5+E]=w,k[6+E]=w,k[7+E]=w)}for(b=0;b<8;++b){var S=b;0!=k[8+S]||0!=k[16+S]||0!=k[24+S]||0!=k[32+S]||0!=k[40+S]||0!=k[48+S]||0!=k[56+S]?(h=s*k[0+S]+2048>>12,p=s*k[32+S]+2048>>12,d=k[16+S],v=k[48+S],g=u*(k[8+S]-k[56+S])+2048>>12,y=u*(k[8+S]+k[56+S])+2048>>12,m=k[24+S],_=k[40+S],w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+2048>>12,d=d*a-v*o+2048>>12,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+S]=h+y,k[56+S]=h-y,k[8+S]=p+_,k[48+S]=p-_,k[16+S]=d+m,k[40+S]=d-m,k[24+S]=v+g,k[32+S]=v-g):(w=s*f[b+0]+8192>>14,k[0+S]=w,k[8+S]=w,k[16+S]=w,k[24+S]=w,k[32+S]=w,k[40+S]=w,k[48+S]=w,k[56+S]=w)}for(b=0;b<64;++b){var j=128+(k[b]+8>>4);c[b]=j<0?0:j>255?255:j}}for(var y=0;y255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var n=0;e.length;function r(){var t=e[n]<<8|e[n+1];return n+=2,t}function i(){var t=r(),i=e.subarray(n,n+t-2);return n+=i.length,i}function a(t){var e,n,r=0,i=0;for(n in t.components)t.components.hasOwnProperty(n)&&(r<(e=t.components[n]).h&&(r=e.h),i>4==0)for(z=0;z<64;z++){b[t[z]]=e[n++]}else{if(w>>4!=1)throw"DQT: invalid table spec";for(z=0;z<64;z++){b[t[z]]=r()}}p[15&w]=b}break;case 65472:case 65473:case 65474:r(),(o={}).extended=65473===m,o.progressive=65474===m,o.precision=e[n++],o.scanLines=r(),o.samplesPerLine=r(),o.components={},o.componentsOrder=[];var x,k=e[n++];for(N=0;N>4,S=15&e[n+1],j=e[n+2];o.componentsOrder.push(x),o.components[x]={h:E,v:S,quantizationIdx:j},n+=3}a(o),d.push(o);break;case 65476:var T=r();for(N=2;N>4==0?g:v)[15&A]=c(C,I)}break;case 65501:r(),s=r();break;case 65498:r();var R=e[n++],L=[];for(N=0;N>4],q.huffmanTableAC=v[15&B],L.push(q)}var F=e[n++],P=e[n++],O=e[n++],D=f(e,n,o,L,s,F,P,O>>4,15&O);n+=D;break;default:if(255==e[n-3]&&e[n-2]>=192&&e[n-2]<=254){n-=3;break}throw"unknown JPEG marker "+m.toString(16)}m=r()}if(1!=d.length)throw"only single frame JPEGs supported";for(var N=0;N=0;)e&1<>8&255),F(255&t)}function O(t,e,n,r,i){var a,o=i[0],s=i[240];for(var u=function(t,e){var n,r,i,a,o,s,u,l,c,f,h=0;for(c=0;c<8;++c){n=t[h],r=t[h+1],i=t[h+2],a=t[h+3],o=t[h+4],s=t[h+5],u=t[h+6];var p=n+(l=t[h+7]),v=n-l,g=r+u,m=r-u,_=i+s,y=i-s,w=a+o,b=a-o,x=p+w,k=p-w,E=g+_,S=g-_;t[h]=x+E,t[h+4]=x-E;var j=.707106781*(S+k);t[h+2]=k+j,t[h+6]=k-j;var T=.382683433*((x=b+y)-(S=m+v)),A=.5411961*x+T,C=1.306562965*S+T,M=.707106781*(E=y+m),I=v+M,R=v-M;t[h+5]=R+A,t[h+3]=R-A,t[h+1]=I+C,t[h+7]=I-C,h+=8}for(h=0,c=0;c<8;++c){n=t[h],r=t[h+8],i=t[h+16],a=t[h+24],o=t[h+32],s=t[h+40],u=t[h+48];var L=n+(l=t[h+56]),B=n-l,F=r+u,P=r-u,O=i+s,D=i-s,N=a+o,U=a-o,z=L+N,q=L-N,V=F+O,G=F-O;t[h]=z+V,t[h+32]=z-V;var H=.707106781*(G+q);t[h+16]=q+H,t[h+48]=q-H;var W=.382683433*((z=U+D)-(G=P+B)),Z=.5411961*z+W,Y=1.306562965*G+W,X=.707106781*(V=D+P),$=B+X,J=B-X;t[h+40]=J+Z,t[h+24]=J-Z,t[h+8]=$+Y,t[h+56]=$-Y,h++}for(c=0;c<64;++c)f=t[c]*e[c],d[c]=f>0?f+.5|0:f-.5|0;return d}(t,e),l=0;l<64;++l)v[E[l]]=u[l];var c=v[0]-n;n=v[0],0==c?B(r[0]):(B(r[p[a=32767+c]]),B(h[a]));for(var f=63;f>0&&0==v[f];f--);if(0==f)return B(o),n;for(var g,m=1;m<=f;){for(var _=m;0==v[m]&&m<=f;++m);var y=m-_;if(y>=16){g=y>>4;for(var w=1;w<=g;++w)B(s);y&=15}a=32767+v[m],B(i[(y<<4)+p[a]]),B(h[a]),m++}return 63!=f&&B(o),n}function D(t){if(t<=0&&(t=1),t>100&&(t=100),o!=t){(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=s((e[n]*t+50)/100);r<1?r=1:r>255&&(r=255),u[E[n]]=r}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var o=s((i[a]*t+50)/100);o<1?o=1:o>255&&(o=255),l[E[a]]=o}for(var h=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],p=0,d=0;d<8;d++)for(var v=0;v<8;v++)c[p]=1/(u[E[p]]*h[d]*h[v]*8),f[p]=1/(l[E[p]]*h[d]*h[v]*8),p++})(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),o=t}}this.encode=function(e,o){(new Date).getTime();o&&D(o),g=new Array,m=0,_=7,P(65496),P(65504),P(16),F(74),F(70),F(73),F(70),F(0),F(1),F(1),F(0),P(1),P(1),F(0),F(0),function(){P(65499),P(132),F(0);for(var t=0;t<64;t++)F(u[t]);F(1);for(var e=0;e<64;e++)F(l[e])}(),function(t,e){P(65472),P(17),F(8),P(e),P(t),F(3),F(1),F(17),F(0),F(2),F(17),F(1),F(3),F(17),F(1)}(e.width,e.height),function(){P(65476),P(418),F(0);for(var t=0;t<16;t++)F(S[t+1]);for(var e=0;e<=11;e++)F(j[e]);F(16);for(var n=0;n<16;n++)F(T[n+1]);for(var r=0;r<=161;r++)F(A[r]);F(1);for(var i=0;i<16;i++)F(C[i+1]);for(var a=0;a<=11;a++)F(M[a]);F(17);for(var o=0;o<16;o++)F(I[o+1]);for(var s=0;s<=161;s++)F(R[s])}(),P(65498),P(12),F(3),F(1),F(0),F(2),F(17),F(3),F(17),F(0),F(63),F(0);var s=0,h=0,p=0;m=0,_=7,this.encode.displayName="_encode_";for(var d,v,x,E,L,N,U,z,q,V=e.data,G=e.width,H=e.height,W=4*G,Z=0;Z>3)*W+(U=4*(7&q)),Z+z>=H&&(N-=W*(Z+1+z-H)),d+U>=W&&(N-=d+U-W+4),v=V[N++],x=V[N++],E=V[N++],y[q]=(k[v]+k[x+256>>0]+k[E+512>>0]>>16)-128,w[q]=(k[v+768>>0]+k[x+1024>>0]+k[E+1280>>0]>>16)-128,b[q]=(k[v+1280>>0]+k[x+1536>>0]+k[E+1792>>0]>>16)-128;s=O(y,c,s,n,i),h=O(w,f,h,r,a),p=O(b,f,p,r,a),d+=32}Z+=8}if(_>=0){var Y=[];Y[1]=_+1,Y[0]=(1<<_+1)-1,B(Y)}return P(65497),new t(g)},function(){(new Date).getTime();e||(e=50),function(){for(var t=String.fromCharCode,e=0;e<256;e++)x[e]=t(e)}(),n=L(S,j),r=L(C,M),i=L(T,A),a=L(I,R),function(){for(var t=1,e=2,n=1;n<=15;n++){for(var r=t;r>0]=38470*t,k[t+512>>0]=7471*t+32768,k[t+768>>0]=-11059*t,k[t+1024>>0]=-21709*t,k[t+1280>>0]=32768*t+8421375,k[t+1536>>0]=-27439*t,k[t+1792>>0]=-5329*t}(),D(e),(new Date).getTime()}()}e.exports=function(t,e){void 0===e&&(e=50);return{data:new n(e).encode(t,e),width:t.width,height:t.height}}}).call(this,t("buffer").Buffer)},{buffer:5}],70:[function(t,e,n){arguments[4][42][0].apply(n,arguments)},{dup:42}],71:[function(t,e,n){"use strict";e.exports=function(t){for(var e=new Array(t),n=0;n>i;0!=(e&o)&&p++;var d=n>>i;return 0!=(n&o)&&d++,function(t,e,n,o,s,u){function l(t,e,n){return tn?n:t}var c=r.BitMatrix.createEmpty(o,s);function f(t,e,n,r,i){for(var o=n*i+e,s=0;sd&&(p=d);for(var v=0;vm&&(g=m);for(var _=l(v,2,e-3),y=l(h,2,n-3),w=0,b=-2;b<=2;b++){var x=u[y+b];w+=x[_-2],w+=x[_-1],w+=x[_],w+=x[_+1],w+=x[_+2]}f(t,g,p,w/25,o)}}return c}(u,p,d,e,n,function(t,e,n,r,o){for(var u=new Array(n),l=0;lh&&(f=h);for(var p=0;pv&&(d=v);for(var g=0,m=255,_=0,y=0,w=f*r+d;y_&&(_=x)}if(_-m>s)for(y++,w+=r;y>2*i;if(_-m<=s&&(k=m>>1,c>0&&p>0)){var E=u[c-1][p]+2*u[c][p-1]+u[c-1][p-1]>>2;m=n&&(t++,r+=e.estimatedModuleSize)}),t<3)return!1;for(var a=r/i,o=0,s=0;s=0&&c(n,l);)o[2]++,l--;if(l<0)return null;for(;l>=0&&!c(n,l)&&o[1]<=r;)o[1]++,l--;if(l<0||o[1]>r)return null;for(;l>=0&&c(n,l)&&o[0]<=r;)o[0]++,l--;if(o[0]>r)return null;for(l=e+1;l=r)return null;for(;l=r)return null;var f=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(f-i)>=2*i?null:s(o)?u(o,l):null}(r,Math.floor(f),n[2],l);if(null!=h&&null!=(f=function(e,n,r,i){for(var a=t.width,o=[0,0,0,0,0],l=e;l>=0&&c(l,n);)o[2]++,l--;if(l<0)return null;for(;l>=0&&!c(l,n)&&o[1]<=r;)o[1]++,l--;if(l<0||o[1]>r)return null;for(;l>=0&&c(l,n)&&o[0]<=r;)o[0]++,l--;if(o[0]>r)return null;for(l=e+1;l=r)return null;for(;l=r)return null;var f=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(f-i)>=i?null:s(o)?u(o,l):null}(Math.floor(f),Math.floor(h),n[2],l))&&(!a||function(e,n,r,i){for(var a=t.height,o=t.width,u=[0,0,0,0,0],l=0;e-l>=0&&c(n-l,e-l);)u[2]++,l++;if(e-l<0||n-l<0)return!1;for(;e-l>=0&&n-l>=0&&!c(n-l,e-l)&&u[1]<=r;)u[1]++,l++;if(e-l<0||n-l<0||u[1]>r)return!1;for(;e-l>=0&&n-l>=0&&c(n-l,e-l)&&u[0]<=r;)u[0]++,l++;if(u[0]>r)return!1;for(l=1;e+l=a||n+l>=o)return!1;for(;e+l=a||n+l>=o||u[3]>=r)return!1;for(;e+l=r)return!1;var f=u[0]+u[1]+u[2]+u[3]+u[4];return Math.abs(f-i)<2*i&&s(u)}(Math.floor(h),Math.floor(f),n[2],l))){for(var p=l/7,d=!1,v=0;v=n){if(null!=t)return a=!0,Math.floor(Math.abs(t.x-e.x)-Math.abs(t.y-e.y))/2;t=e}}),0}var d=t.height,v=t.width,g=Math.floor(3*d/(4*i));g_[2]&&(y+=x-_[2]-g,b=v-1)}_=[0,0,0,0,0],w=0}else _=[_[2],_[3],_[4],1,0],w=3;else _[++w]++;else _[w]++;s(_)&&h(_,y,v,!1)&&(g=_[0],a&&(m=f()))}var k=function(){var t=e.length;if(t<3)return null;if(t>3){var n=0,r=0;e.forEach(function(t){var e=t.estimatedModuleSize;n+=e,r+=e*e});var i=n/t,a=Math.sqrt(r/t-i*i);e.sort(function(t,e){var n=Math.abs(e.estimatedModuleSize-i),r=Math.abs(t.estimatedModuleSize-i);return n3;s++){var u=e[s];Math.abs(u.estimatedModuleSize-i)>o&&(e.splice(s,1),s--)}}return e.length>3&&(n=0,e.forEach(function(t){n+=t.estimatedModuleSize}),i=n/e.length,e.sort(function(t,e){if(e.count===t.count){var n=Math.abs(e.estimatedModuleSize-i),r=Math.abs(t.estimatedModuleSize-i);return n=i&&a>=o?(n=t[0],e=t[1],r=t[2]):o>=a&&o>=i?(n=t[1],e=t[0],r=t[2]):(n=t[2],e=t[0],r=t[1]),function(t,e,n){var r=e.x,i=e.y;return(n.x-r)*(t.y-i)-(n.y-i)*(t.x-r)}(e,n,r)<0){var s=e;e=r,r=s}return{bottomLeft:{x:e.x,y:e.y},topLeft:{x:n.x,y:n.y},topRight:{x:r.x,y:r.y}}}(k):null}},function(t,e,n){"use strict";var r=n(5),i=n(7),a=n(8),o=n(2),s=n(6);function u(t,e,n){for(var r=!0,i=0;it||o<-1||o>e)throw new Error;r=!1,-1==a?(n[i]=0,r=!0):a==t&&(n[i]=t-1,r=!0),-1==o?(n[i+1]=0,r=!0):o==e&&(n[i+1]=e-1,r=!0)}r=!0;for(i=n.length-2;i>=0&&r;i-=2){a=Math.floor(n[i]),o=Math.floor(n[i+1]);if(a<-1||a>t||o<-1||o>e)throw new Error;r=!1,-1==a?(n[i]=0,r=!0):a==t&&(n[i]=t-1,r=!0),-1==o?(n[i+1]=0,r=!0):o==e&&(n[i+1]=e-1,r=!0)}return n}function l(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))}function c(t,e,n,i,a){e=Math.floor(e),n=Math.floor(n);var o=Math.floor(i*t),s=Math.max(0,e-o),u=Math.min(a.width,e+o);if(u-s<3*t)return null;var l=Math.max(0,n-o),c=Math.min(a.height-1,n+o);return r.findAlignment(s,l,u-s,c-l,t,a)}function f(t,e,n,r,i){t=Math.floor(t),e=Math.floor(e),n=Math.floor(n),r=Math.floor(r);var a=Math.abs(r-e)>Math.abs(n-t);if(a){var o=t;t=e,e=o,o=n,n=r,r=o}for(var s=Math.abs(n-t),u=Math.abs(r-e),c=-s>>1,f=t0){if(g==r)break;g+=h,c-=s}}return 2==p?l(n+f,r,t,e):NaN}function h(t,e,n,r,i){var a=f(t,e,n,r,i),o=1,s=t-(n-t);s<0?(o=t/(t-s),s=0):s>=i.width&&(o=(i.width-1-t)/(s-t),s=i.width-1);var u=e-(r-e)*o;return o=1,u<0?(o=e/(e-u),u=0):u>=i.height&&(o=(i.height-1-e)/(u-e),u=i.height-1),(a+=f(t,e,s=t+(s-t)*o,u,i))-1}function p(t,e,n){var r=h(t.x,t.y,e.x,e.y,n),i=h(e.x,e.y,t.x,t.y,n);return s.isNaN(r)?i/7:s.isNaN(i)?r/7:(r+i)/14}e.extract=function(t,e){var n=function(t,e,n,r){return(p(t,e,r)+p(t,n,r))/2}(e.topLeft,e.topRight,e.bottomLeft,t);if(n<1)return null;var r=function(t,e,n,r){var i=7+(Math.round(l(t.x,t.y,e.x,e.y)/r)+Math.round(l(t.x,t.y,n.x,n.y)/r)>>1);switch(3&i){case 0:i++;break;case 2:i--}return i}(e.topLeft,e.topRight,e.bottomLeft,n);if(!r)return null;var s=function(t){if(t%4!=1)return null;var e=t-17>>2;return e<1||e>40?null:a.getVersionForNumber(e)}(r);if(null==s)return null;var f=s.getDimensionForVersion()-7,h=null;if(s.alignmentPatternCenters.length>0)for(var d=e.topRight.x-e.topLeft.x+e.bottomLeft.x,v=e.topRight.y-e.topLeft.y+e.bottomLeft.y,g=1-3/f,m=e.topLeft.x+g*(d-e.topLeft.x),_=e.topLeft.y+g*(v-e.topLeft.y),y=4;y<=16&&!(h=c(n,m,_,y,t));y<<=1);return function(t,e,n){if(e<=0)return null;for(var r=o.BitMatrix.createEmpty(e,e),a=new Array(e<<1),s=0;s>1),a[f+1]=c;a=i.transformPoints(n,a);try{var h=u(t.width,t.height,a)}catch(t){return null}for(f=0;f>1,s,t.get(Math.floor(h[f]),Math.floor(h[f+1])))}return r}(t,r,function(t,e,n,r,a){var o,s,u,l,c=a-3.5;return null!=r?(o=r.x,s=r.y,u=l=c-3):(o=e.x-t.x+n.x,s=e.y-t.y+n.y,u=l=c),i.quadrilateralToQuadrilateral(3.5,3.5,c,3.5,u,l,3.5,c,t.x,t.y,e.x,e.y,o,s,n.x,n.y)}(e.topLeft,e.topRight,e.bottomLeft,h,r))}},function(t,e,n){"use strict";var r=n(6);function i(t,e,n,r){if(Math.abs(n-t.y)<=e&&Math.abs(r-t.x)<=e){var i=Math.abs(e-t.estimatedModuleSize);return i<=1||i<=t.estimatedModuleSize}return!1}function a(t,e,n,r){return{x:(t.x+n)/2,y:(t.y+e)/2,estimatedModuleSize:(t.estimatedModuleSize+r)/2}}function o(t,e){for(var n=e/2,r=0;r<3;r++)if(Math.abs(e-t[r])>=n)return!1;return!0}function s(t,e){var n=e-t[2]-t[1]/2;return r.isNaN(n)?null:n}e.findAlignment=function(t,e,n,r,u,l){var c=[];function f(t,e,n,r){var u=t[0]+t[1]+t[2],f=s(t,n);if(null==f)return null;var h=function(t,e,n,r,i,a){for(var u=a.height,l=[0,0,0],c=t;c>=0&&a.get(e,c)&&l[1]<=n;)l[1]++,c--;if(c<0||l[1]>n)return null;for(;c>=0&&!a.get(e,c)&&l[0]<=n;)l[0]++,c--;if(l[0]>n)return null;for(c=t+1;cn)return null;for(;cn)return null;var f=l[0]+l[1]+l[2];return 5*Math.abs(f-r)>=2*r?null:o(l,i)?s(l,c):null}(e,Math.floor(f),2*t[1],u,r,l);if(null!=h){var p=(t[0]+t[1]+t[2])/3;for(var d in c){var v=c[d];if(i(v,p,h,f))return a(v,h,f,p)}var g={x:f,y:h,estimatedModuleSize:p};c.push(g)}return null}for(var h=t+n,p=e+(r>>1),d=[0,0,0],v=0;v>1:-(v+1>>1));d[0]=0,d[1]=0,d[2]=0;for(var m=t;m>4&15]+n[t>>8&15]+n[t>>12&15]+n[t>>16&15]+n[t>>20&15]+n[t>>24&15]+n[t>>28&15]},e.isNaN=function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t!==+t}},function(t,e){"use strict";function n(t,e,n,r,i,a,o,s){var u=t-n+i-o,l=e-r+a-s;if(0==u&&0==l)return{a11:n-t,a21:i-n,a31:t,a12:r-e,a22:a-r,a32:e,a13:0,a23:0,a33:1};var c=n-i,f=o-i,h=r-a,p=s-a,d=c*p-f*h,v=(u*p-f*l)/d,g=(c*l-u*h)/d;return{a11:n-t+v*n,a21:o-t+g*o,a31:t,a12:r-e+v*r,a22:s-e+g*s,a32:e,a13:v,a23:g,a33:1}}e.transformPoints=function(t,e){for(var n=e.length,r=t.a11,i=t.a12,a=t.a13,o=t.a21,s=t.a22,u=t.a23,l=t.a31,c=t.a32,f=t.a33,h=0;h40)throw new Error("Invalid version number "+t);return u[t-1]}e.getVersionForNumber=l},function(t,e,n){"use strict";var r=n(2),i=n(10),a=n(6),o=n(12),s=n(8),u=21522,l=[[21522,0],[20773,1],[24188,2],[23371,3],[17913,4],[16590,5],[20375,6],[19104,7],[30660,8],[29427,9],[32170,10],[30877,11],[26159,12],[25368,13],[27713,14],[26998,15],[5769,16],[5054,17],[7399,18],[6608,19],[1890,20],[597,21],[3340,22],[2107,23],[13663,24],[12392,25],[16177,26],[14854,27],[9396,28],[8579,29],[11994,30],[11245,31]],c=[function(t,e){return 0==(t+e&1)},function(t,e){return 0==(1&t)},function(t,e){return e%3==0},function(t,e){return(t+e)%3==0},function(t,e){return 0==((t>>1)+e/3&1)},function(t,e){return(t*e&1)+t*e%3==0},function(t,e){return 0==((t*e&1)+t*e%3&1)},function(t,e){return 0==((t+e&1)+t*e%3&1)}],f=[{ordinal:1,bits:0,name:"M"},{ordinal:0,bits:1,name:"L"},{ordinal:3,bits:2,name:"H"},{ordinal:2,bits:3,name:"Q"}];function h(t,e,n){for(var i=c[n.dataMask],a=t.height,o=function(t){for(var e=t.getDimensionForVersion(),n=new Array(e*e),i=0;i6&&(a.setRegion(e-11,0,3,6),a.setRegion(0,e-11,6,3)),a}(e),s=!0,u=[],l=0,f=0,h=0,p=a-1;p>0;p-=2){6==p&&p--;for(var d=0;d>3&3],dataMask:7&t}}function d(t,e){for(var n=1/0,r=0,i=0;i=0;r--)e=t.copyBit(8,r,e);var i=t.height,a=0,o=i-7;for(r=i-1;r>=o;r--)a=t.copyBit(8,r,a);for(n=i-8;n>2;if(n<=6)return s.getVersionForNumber(n);for(var r=0,i=e-11,a=5;a>=0;a--)for(var o=e-9;o>=i;o--)r=t.copyBit(o,a,r);var u=s.Version.decodeVersionInformation(r);if(null!=u&&u.getDimensionForVersion()==e)return u;for(r=0,o=5;o>=0;o--)for(a=e-9;a>=i;a--)r=t.copyBit(o,a,r);return null!=(u=s.Version.decodeVersionInformation(r))&&u.getDimensionForVersion()==e?u:null}(t);if(!e)return null;var n=v(t);if(!n)return null;var r=n.errorCorrectionLevel,a=h(t,e,n);if(!a)return null;var o=function(t,e,n){if(t.length!=e.totalCodewords)throw new Error("Invalid number of codewords for version; got "+t.length+" expected "+e.totalCodewords);var r=e.getECBlocksForLevel(n),i=0,a=r.ecBlocks;a.forEach(function(t){i+=t.count});var o=new Array(i),s=0;a.forEach(function(t){for(var e=0;e=0&&o[l].codewords.length!=u;)l--;l++;for(var c=u-r.ecCodewordsPerBlock,f=0,h=0;h=e.length)throw new Error("Could not decode alphanumeric char");return e[t].charCodeAt(0)}var a=function(){function t(t,e){this.characterCountBitsForVersions=t,this.bits=e}return t.prototype.getCharacterCountBits=function(t){if(null==this.characterCountBitsForVersions)throw new Error("Character count doesn't apply to this mode");var e;return e=t<=9?0:t<=26?1:2,this.characterCountBitsForVersions[e]},t}(),o=new a([0,0,0],0),s=new a([10,12,14],1),u=new a([9,11,13],2),l=new a([0,0,0],3),c=new a([8,16,16],4),f=new a(null,7),h=new a([8,10,12],8),p=new a(null,5),d=new a(null,9),v=new a([8,10,12],13);function g(t){switch(t){case 0:return o;case 1:return s;case 2:return u;case 3:return l;case 4:return c;case 5:return p;case 7:return f;case 8:return h;case 9:return d;case 13:return v;default:throw new Error("Couldn't decode mode from byte array")}}function m(t){var e=t.readBits(8);if(0==(128&e))return 127&e;if(128==(192&e))return(63&e)<<8|t.readBits(8);if(192==(224&e))return(31&e)<<16|t.readBits(16);throw new Error("Bad ECI bits starting with byte "+e)}function _(t,e,n){if(13*n>t.available())return!1;for(var r=new Array(2*n),i=0;n>0;){var a=t.readBits(13),o=Math.floor(a/96)<<8|a%96;o+=o<959?41377:42657,r[i]=o>>8&255,r[i+1]=255&o,i+=2,n--}return e.val=r,!0}function y(t,e,n){for(;n>=3;){if(t.available()<10)return!1;var r=t.readBits(10);if(r>=1e3)return!1;e.val.push(i(Math.floor(r/100))),e.val.push(i(Math.floor(r/10)%10)),e.val.push(i(r%10)),n-=3}if(2==n){if(t.available()<7)return!1;var a=t.readBits(7);if(a>=100)return!1;e.val.push(i(Math.floor(a/10))),e.val.push(i(a%10))}else if(1==n){if(t.available()<4)return!1;var o=t.readBits(4);if(o>=10)return!1;e.val.push(i(o))}return!0}function w(t,e,n,r){for(var a=e.val.length;n>1;){if(t.available()<11)return!1;var o=t.readBits(11);e.val.push(i(Math.floor(o/45))),e.val.push(i(o%45)),n-=2}if(1==n){if(t.available()<6)return!1;e.val.push(i(t.readBits(6)))}if(r)for(var s=a;st.available())return!1;for(var r=new Array(n),i=0;i30)return null}else if(i==v){var j=a.readBits(4),T=a.readBits(i.getCharacterCountBits(e));if(j==x&&!_(a,k,T))return null}else{var A=a.readBits(i.getCharacterCountBits(e));if(i==s){if(!y(a,k,A))return null}else if(i==u){if(!w(a,k,A,E))return null}else if(i==c){if(!b(a,k,A))return null}else if(i!=h)return null}return k.val}},function(t,e){"use strict";var n=function(){function t(t){this.byteOffset=0,this.bitOffset=0,this.bytes=t}return t.prototype.readBits=function(t){if(t<1||t>32||t>this.available())throw new Error("Cannot read "+t.toString()+" bits");var e=0;if(this.bitOffset>0){var n=8-this.bitOffset,r=t>8-r<<(a=n-r);e=(this.bytes[this.byteOffset]&i)>>a,t-=r,this.bitOffset+=r,8==this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(t>0){for(;t>=8;)e=e<<8|255&this.bytes[this.byteOffset],this.byteOffset++,t-=8;if(t>0){var a;i=255>>(a=8-t)<>a,this.bitOffset+=t}}return e},t.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},t}();e.BitStream=n},function(t,e){"use strict";var n=function(){function t(){this.field=new i(285,256,0)}return t.prototype.decode=function(t,e){for(var n=new r(this.field,t),a=new Array(e),o=!0,s=0;s=n/2;){var u=i,l=o;if(o=s,(i=a).isZero())return null;a=u;for(var c=this.field.zero,f=i.getCoefficient(i.degree()),h=this.field.inverse(f);a.degree()>=i.degree()&&!a.isZero();){var p=a.degree()-i.degree(),d=this.field.multiply(a.getCoefficient(a.degree()),h);c=c.addOrSubtract(this.field.buildMonomial(p,d)),a=a.addOrSubtract(i.multiplyByMonomial(p,d))}if(s=c.multiplyPoly(o).addOrSubtract(l),a.degree()>=i.degree())return null}var v=s.getCoefficient(0);if(0==v)return null;var g=this.field.inverse(v);return[s.multiply(g),a.multiply(g)]},t.prototype.findErrorLocations=function(t){var e=t.degree();if(1==e)return[t.getCoefficient(1)];for(var n=new Array(e),r=0,i=1;i1&&0==e[0]){for(var r=1;rr.length){var a=n;n=r,r=a}for(var o=new Array(r.length),s=r.length-n.length,u=0;u=this.size&&(t^=this.primitive,t&=this.size-1);for(e=0;e>>1,D=[["ary",x],["bind",v],["bindKey",g],["curry",_],["curryRight",y],["flip",E],["partial",w],["partialRight",b],["rearg",k]],N="[object Arguments]",U="[object Array]",z="[object AsyncFunction]",q="[object Boolean]",V="[object Date]",G="[object DOMException]",H="[object Error]",W="[object Function]",Z="[object GeneratorFunction]",Y="[object Map]",X="[object Number]",$="[object Null]",J="[object Object]",Q="[object Proxy]",K="[object RegExp]",tt="[object Set]",et="[object String]",nt="[object Symbol]",rt="[object Undefined]",it="[object WeakMap]",at="[object WeakSet]",ot="[object ArrayBuffer]",st="[object DataView]",ut="[object Float32Array]",lt="[object Float64Array]",ct="[object Int8Array]",ft="[object Int16Array]",ht="[object Int32Array]",pt="[object Uint8Array]",dt="[object Uint8ClampedArray]",vt="[object Uint16Array]",gt="[object Uint32Array]",mt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,xt=RegExp(wt.source),kt=RegExp(bt.source),Et=/<%-([\s\S]+?)%>/g,St=/<%([\s\S]+?)%>/g,jt=/<%=([\s\S]+?)%>/g,Tt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,At=/^\w*$/,Ct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mt=/[\\^$.*+?()[\]{}|]/g,It=RegExp(Mt.source),Rt=/^\s+|\s+$/g,Lt=/^\s+/,Bt=/\s+$/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ot=/,? & /,Dt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Nt=/\\(\\)?/g,Ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Vt=/^0b[01]+$/i,Gt=/^\[object .+?Constructor\]$/,Ht=/^0o[0-7]+$/i,Wt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yt=/($^)/,Xt=/['\n\r\u2028\u2029\\]/g,$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Jt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qt="[\\ud800-\\udfff]",Kt="["+Jt+"]",te="["+$t+"]",ee="\\d+",ne="[\\u2700-\\u27bf]",re="[a-z\\xdf-\\xf6\\xf8-\\xff]",ie="[^\\ud800-\\udfff"+Jt+ee+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ae="\\ud83c[\\udffb-\\udfff]",oe="[^\\ud800-\\udfff]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",ue="[\\ud800-\\udbff][\\udc00-\\udfff]",le="[A-Z\\xc0-\\xd6\\xd8-\\xde]",ce="(?:"+re+"|"+ie+")",fe="(?:"+le+"|"+ie+")",he="(?:"+te+"|"+ae+")"+"?",pe="[\\ufe0e\\ufe0f]?"+he+("(?:\\u200d(?:"+[oe,se,ue].join("|")+")[\\ufe0e\\ufe0f]?"+he+")*"),de="(?:"+[ne,se,ue].join("|")+")"+pe,ve="(?:"+[oe+te+"?",te,se,ue,Qt].join("|")+")",ge=RegExp("['’]","g"),me=RegExp(te,"g"),_e=RegExp(ae+"(?="+ae+")|"+ve+pe,"g"),ye=RegExp([le+"?"+re+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Kt,le,"$"].join("|")+")",fe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Kt,le+ce,"$"].join("|")+")",le+"?"+ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",le+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ee,de].join("|"),"g"),we=RegExp("[\\u200d\\ud800-\\udfff"+$t+"\\ufe0e\\ufe0f]"),be=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ke=-1,Ee={};Ee[ut]=Ee[lt]=Ee[ct]=Ee[ft]=Ee[ht]=Ee[pt]=Ee[dt]=Ee[vt]=Ee[gt]=!0,Ee[N]=Ee[U]=Ee[ot]=Ee[q]=Ee[st]=Ee[V]=Ee[H]=Ee[W]=Ee[Y]=Ee[X]=Ee[J]=Ee[K]=Ee[tt]=Ee[et]=Ee[it]=!1;var Se={};Se[N]=Se[U]=Se[ot]=Se[st]=Se[q]=Se[V]=Se[ut]=Se[lt]=Se[ct]=Se[ft]=Se[ht]=Se[Y]=Se[X]=Se[J]=Se[K]=Se[tt]=Se[et]=Se[nt]=Se[pt]=Se[dt]=Se[vt]=Se[gt]=!0,Se[H]=Se[W]=Se[it]=!1;var je={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Te=parseFloat,Ae=parseInt,Ce="object"==typeof t&&t&&t.Object===Object&&t,Me="object"==typeof self&&self&&self.Object===Object&&self,Ie=Ce||Me||Function("return this")(),Re="object"==typeof n&&n&&!n.nodeType&&n,Le=Re&&"object"==typeof e&&e&&!e.nodeType&&e,Be=Le&&Le.exports===Re,Fe=Be&&Ce.process,Pe=function(){try{var t=Le&&Le.require&&Le.require("util").types;return t||Fe&&Fe.binding&&Fe.binding("util")}catch(t){}}(),Oe=Pe&&Pe.isArrayBuffer,De=Pe&&Pe.isDate,Ne=Pe&&Pe.isMap,Ue=Pe&&Pe.isRegExp,ze=Pe&&Pe.isSet,qe=Pe&&Pe.isTypedArray;function Ve(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ge(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i-1}function $e(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function yn(t,e){for(var n=t.length;n--&&on(e,t[n],0)>-1;);return n}var wn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),bn=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function xn(t){return"\\"+je[t]}function kn(t){return we.test(t)}function En(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function Sn(t,e){return function(n){return t(e(n))}}function jn(t,e){for(var n=-1,r=t.length,i=0,a=[];++n",""":'"',"'":"'"});var Rn=function t(e){var n,$t=(e=null==e?Ie:Rn.defaults(Ie.Object(),e,Rn.pick(Ie,xe))).Array,Jt=e.Date,Qt=e.Error,Kt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,ae=$t.prototype,oe=Kt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],le=oe.toString,ce=se.hasOwnProperty,fe=0,he=(n=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",pe=se.toString,de=le.call(ee),ve=Ie._,_e=ne("^"+le.call(ce).replace(Mt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),we=Be?e.Buffer:r,je=e.Symbol,Ce=e.Uint8Array,Me=we?we.allocUnsafe:r,Re=Sn(ee.getPrototypeOf,ee),Le=ee.create,Fe=se.propertyIsEnumerable,Pe=ae.splice,nn=je?je.isConcatSpreadable:r,fn=je?je.iterator:r,Ln=je?je.toStringTag:r,Bn=function(){try{var t=Da(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Fn=e.clearTimeout!==Ie.clearTimeout&&e.clearTimeout,Pn=Jt&&Jt.now!==Ie.Date.now&&Jt.now,On=e.setTimeout!==Ie.setTimeout&&e.setTimeout,Dn=te.ceil,Nn=te.floor,Un=ee.getOwnPropertySymbols,zn=we?we.isBuffer:r,qn=e.isFinite,Vn=ae.join,Gn=Sn(ee.keys,ee),Hn=te.max,Wn=te.min,Zn=Jt.now,Yn=e.parseInt,Xn=te.random,$n=ae.reverse,Jn=Da(e,"DataView"),Qn=Da(e,"Map"),Kn=Da(e,"Promise"),tr=Da(e,"Set"),er=Da(e,"WeakMap"),nr=Da(ee,"create"),rr=er&&new er,ir={},ar=co(Jn),or=co(Qn),sr=co(Kn),ur=co(tr),lr=co(er),cr=je?je.prototype:r,fr=cr?cr.valueOf:r,hr=cr?cr.toString:r;function pr(t){if(As(t)&&!ms(t)&&!(t instanceof mr)){if(t instanceof gr)return t;if(ce.call(t,"__wrapped__"))return fo(t)}return new gr(t)}var dr=function(){function t(){}return function(e){if(!Ts(e))return{};if(Le)return Le(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function vr(){}function gr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function mr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=F,this.__views__=[]}function _r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function Fr(t,e,n,i,a,o){var s,u=e&c,l=e&f,p=e&h;if(n&&(s=a?n(t,i,a,o):n(t)),s!==r)return s;if(!Ts(t))return t;var d=ms(t);if(d){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&ce.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return na(t,s)}else{var v=za(t),g=v==W||v==Z;if(bs(t))return $i(t,u);if(v==J||v==N||g&&!a){if(s=l||g?{}:Va(t),!u)return l?function(t,e){return ra(t,Ua(t),e)}(t,function(t,e){return t&&ra(e,au(e),t)}(s,t)):function(t,e){return ra(t,Na(t),e)}(t,Ir(s,t))}else{if(!Se[v])return a?t:{};s=function(t,e,n){var r,i,a,o=t.constructor;switch(e){case ot:return Ji(t);case q:case V:return new o(+t);case st:return function(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case ut:case lt:case ct:case ft:case ht:case pt:case dt:case vt:case gt:return Qi(t,n);case Y:return new o;case X:case et:return new o(t);case K:return(a=new(i=t).constructor(i.source,zt.exec(i))).lastIndex=i.lastIndex,a;case tt:return new o;case nt:return r=t,fr?ee(fr.call(r)):{}}}(t,v,u)}}o||(o=new xr);var m=o.get(t);if(m)return m;if(o.set(t,s),Ls(t))return t.forEach(function(r){s.add(Fr(r,e,n,r,t,o))}),s;if(Cs(t))return t.forEach(function(r,i){s.set(i,Fr(r,e,n,i,t,o))}),s;var _=d?r:(p?l?Ia:Ma:l?au:iu)(t);return He(_||t,function(r,i){_&&(r=t[i=r]),Ar(s,i,Fr(r,e,n,i,t,o))}),s}function Pr(t,e,n){var i=n.length;if(null==t)return!i;for(t=ee(t);i--;){var a=n[i],o=e[a],s=t[a];if(s===r&&!(a in t)||!o(s))return!1}return!0}function Or(t,e,n){if("function"!=typeof t)throw new ie(o);return ro(function(){t.apply(r,n)},e)}function Dr(t,e,n,r){var a=-1,o=Xe,s=!0,u=t.length,l=[],c=e.length;if(!u)return l;n&&(e=Je(e,vn(n))),r?(o=$e,s=!1):e.length>=i&&(o=mn,s=!1,e=new br(e));t:for(;++a-1},yr.prototype.set=function(t,e){var n=this.__data__,r=Cr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},wr.prototype.clear=function(){this.size=0,this.__data__={hash:new _r,map:new(Qn||yr),string:new _r}},wr.prototype.delete=function(t){var e=Pa(this,t).delete(t);return this.size-=e?1:0,e},wr.prototype.get=function(t){return Pa(this,t).get(t)},wr.prototype.has=function(t){return Pa(this,t).has(t)},wr.prototype.set=function(t,e){var n=Pa(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},br.prototype.add=br.prototype.push=function(t){return this.__data__.set(t,s),this},br.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.clear=function(){this.__data__=new yr,this.size=0},xr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},xr.prototype.get=function(t){return this.__data__.get(t)},xr.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof yr){var r=n.__data__;if(!Qn||r.length0&&n(s)?e>1?Gr(s,e-1,n,r,i):Qe(i,s):r||(i[i.length]=s)}return i}var Hr=sa(),Wr=sa(!0);function Zr(t,e){return t&&Hr(t,e,iu)}function Yr(t,e){return t&&Wr(t,e,iu)}function Xr(t,e){return Ye(e,function(e){return Es(t[e])})}function $r(t,e){for(var n=0,i=(e=Wi(e,t)).length;null!=t&&ne}function ti(t,e){return null!=t&&ce.call(t,e)}function ei(t,e){return null!=t&&e in ee(t)}function ni(t,e,n){for(var i=n?$e:Xe,a=t[0].length,o=t.length,s=o,u=$t(o),l=1/0,c=[];s--;){var f=t[s];s&&e&&(f=Je(f,vn(e))),l=Wn(f.length,l),u[s]=!n&&(e||a>=120&&f.length>=120)?new br(s&&f):r}f=t[0];var h=-1,p=u[0];t:for(;++h=s)return u;var l=n[r];return u*("desc"==l?-1:1)}}return t.index-e.index}(t,e,n)})}function _i(t,e,n){for(var r=-1,i=e.length,a={};++r-1;)s!==t&&Pe.call(s,u,1),Pe.call(t,u,1);return t}function wi(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;Ha(i)?Pe.call(t,i,1):Di(t,i)}}return t}function bi(t,e){return t+Nn(Xn()*(e-t+1))}function xi(t,e){var n="";if(!t||e<1||e>R)return n;do{e%2&&(n+=t),(e=Nn(e/2))&&(t+=t)}while(e);return n}function ki(t,e){return io(Ka(t,e,Mu),t+"")}function Ei(t){return Er(pu(t))}function Si(t,e){var n=pu(t);return so(n,Br(e,0,n.length))}function ji(t,e,n,i){if(!Ts(t))return t;for(var a=-1,o=(e=Wi(e,t)).length,s=o-1,u=t;null!=u&&++ai?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=$t(i);++r>>1,o=t[a];null!==o&&!Fs(o)&&(n?o<=e:o=i){var c=e?null:xa(t);if(c)return Tn(c);s=!1,a=mn,l=new br}else l=e?[]:u;t:for(;++r=i?t:Mi(t,e,n)}var Xi=Fn||function(t){return Ie.clearTimeout(t)};function $i(t,e){if(e)return t.slice();var n=t.length,r=Me?Me(n):new t.constructor(n);return t.copy(r),r}function Ji(t){var e=new t.constructor(t.byteLength);return new Ce(e).set(new Ce(t)),e}function Qi(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ki(t,e){if(t!==e){var n=t!==r,i=null===t,a=t==t,o=Fs(t),s=e!==r,u=null===e,l=e==e,c=Fs(e);if(!u&&!c&&!o&&t>e||o&&s&&l&&!u&&!c||i&&s&&l||!n&&l||!a)return 1;if(!i&&!o&&!c&&t1?n[a-1]:r,s=a>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(a--,o):r,s&&Wa(n[0],n[1],s)&&(o=a<3?r:o,a=1),e=ee(e);++i-1?a[o?e[s]:s]:r}}function ha(t){return Ca(function(e){var n=e.length,i=n,a=gr.prototype.thru;for(t&&e.reverse();i--;){var s=e[i];if("function"!=typeof s)throw new ie(o);if(a&&!u&&"wrapper"==La(s))var u=new gr([],!0)}for(i=u?i:n;++i1&&_.reverse(),f&&lu))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var f=-1,h=!0,v=n&d?new br:r;for(o.set(t,e),o.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ft,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return He(D,function(n){var r="_."+n[0];e&n[1]&&!Xe(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Pt);return e?e[1].split(Ot):[]}(r),n)))}function oo(t){var e=0,n=0;return function(){var i=Zn(),a=A-(i-n);if(n=i,a>0){if(++e>=T)return arguments[0]}else e=0;return t.apply(r,arguments)}}function so(t,e){var n=-1,i=t.length,a=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return Ro(t,n="function"==typeof n?(t.pop(),n):r)});function No(t){var e=pr(t);return e.__chain__=!0,e}function Uo(t,e){return e(t)}var zo=Ca(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,a=function(e){return Lr(e,t)};return!(e>1||this.__actions__.length)&&i instanceof mr&&Ha(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:Uo,args:[a],thisArg:r}),new gr(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(a)});var qo=ia(function(t,e,n){ce.call(t,n)?++t[n]:Rr(t,n,1)});var Vo=fa(go),Go=fa(mo);function Ho(t,e){return(ms(t)?He:Nr)(t,Fa(e,3))}function Wo(t,e){return(ms(t)?We:Ur)(t,Fa(e,3))}var Zo=ia(function(t,e,n){ce.call(t,n)?t[n].push(e):Rr(t,n,[e])});var Yo=ki(function(t,e,n){var r=-1,i="function"==typeof e,a=ys(t)?$t(t.length):[];return Nr(t,function(t){a[++r]=i?Ve(e,t,n):ri(t,e,n)}),a}),Xo=ia(function(t,e,n){Rr(t,n,e)});function $o(t,e){return(ms(t)?Je:hi)(t,Fa(e,3))}var Jo=ia(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Qo=ki(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Wa(t,e[0],e[1])?e=[]:n>2&&Wa(e[0],e[1],e[2])&&(e=[e[0]]),mi(t,Gr(e,1),[])}),Ko=Pn||function(){return Ie.Date.now()};function ts(t,e,n){return e=n?r:e,e=t&&null==e?t.length:e,Ea(t,x,r,r,r,r,e)}function es(t,e){var n;if("function"!=typeof e)throw new ie(o);return t=zs(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var ns=ki(function(t,e,n){var r=v;if(n.length){var i=jn(n,Ba(ns));r|=w}return Ea(t,r,e,n,i)}),rs=ki(function(t,e,n){var r=v|g;if(n.length){var i=jn(n,Ba(rs));r|=w}return Ea(e,r,t,n,i)});function is(t,e,n){var i,a,s,u,l,c,f=0,h=!1,p=!1,d=!0;if("function"!=typeof t)throw new ie(o);function v(e){var n=i,o=a;return i=a=r,f=e,u=t.apply(o,n)}function g(t){var n=t-c;return c===r||n>=e||n<0||p&&t-f>=s}function m(){var t=Ko();if(g(t))return _(t);l=ro(m,function(t){var n=e-(t-c);return p?Wn(n,s-(t-f)):n}(t))}function _(t){return l=r,d&&i?v(t):(i=a=r,u)}function y(){var t=Ko(),n=g(t);if(i=arguments,a=this,c=t,n){if(l===r)return function(t){return f=t,l=ro(m,e),h?v(t):u}(c);if(p)return l=ro(m,e),v(c)}return l===r&&(l=ro(m,e)),u}return e=Vs(e)||0,Ts(n)&&(h=!!n.leading,s=(p="maxWait"in n)?Hn(Vs(n.maxWait)||0,e):s,d="trailing"in n?!!n.trailing:d),y.cancel=function(){l!==r&&Xi(l),f=0,i=c=a=l=r},y.flush=function(){return l===r?u:_(Ko())},y}var as=ki(function(t,e){return Or(t,1,e)}),os=ki(function(t,e,n){return Or(t,Vs(e)||0,n)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(ss.Cache||wr),n}function us(t){if("function"!=typeof t)throw new ie(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=wr;var ls=Zi(function(t,e){var n=(e=1==e.length&&ms(e[0])?Je(e[0],vn(Fa())):Je(Gr(e,1),vn(Fa()))).length;return ki(function(r){for(var i=-1,a=Wn(r.length,n);++i=e}),gs=ii(function(){return arguments}())?ii:function(t){return As(t)&&ce.call(t,"callee")&&!Fe.call(t,"callee")},ms=$t.isArray,_s=Oe?vn(Oe):function(t){return As(t)&&Qr(t)==ot};function ys(t){return null!=t&&js(t.length)&&!Es(t)}function ws(t){return As(t)&&ys(t)}var bs=zn||Vu,xs=De?vn(De):function(t){return As(t)&&Qr(t)==V};function ks(t){if(!As(t))return!1;var e=Qr(t);return e==H||e==G||"string"==typeof t.message&&"string"==typeof t.name&&!Is(t)}function Es(t){if(!Ts(t))return!1;var e=Qr(t);return e==W||e==Z||e==z||e==Q}function Ss(t){return"number"==typeof t&&t==zs(t)}function js(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=R}function Ts(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function As(t){return null!=t&&"object"==typeof t}var Cs=Ne?vn(Ne):function(t){return As(t)&&za(t)==Y};function Ms(t){return"number"==typeof t||As(t)&&Qr(t)==X}function Is(t){if(!As(t)||Qr(t)!=J)return!1;var e=Re(t);if(null===e)return!0;var n=ce.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&le.call(n)==de}var Rs=Ue?vn(Ue):function(t){return As(t)&&Qr(t)==K};var Ls=ze?vn(ze):function(t){return As(t)&&za(t)==tt};function Bs(t){return"string"==typeof t||!ms(t)&&As(t)&&Qr(t)==et}function Fs(t){return"symbol"==typeof t||As(t)&&Qr(t)==nt}var Ps=qe?vn(qe):function(t){return As(t)&&js(t.length)&&!!Ee[Qr(t)]};var Os=ya(fi),Ds=ya(function(t,e){return t<=e});function Ns(t){if(!t)return[];if(ys(t))return Bs(t)?Mn(t):na(t);if(fn&&t[fn])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[fn]());var e=za(t);return(e==Y?En:e==tt?Tn:pu)(t)}function Us(t){return t?(t=Vs(t))===I||t===-I?(t<0?-1:1)*L:t==t?t:0:0===t?t:0}function zs(t){var e=Us(t),n=e%1;return e==e?n?e-n:e:0}function qs(t){return t?Br(zs(t),0,F):0}function Vs(t){if("number"==typeof t)return t;if(Fs(t))return B;if(Ts(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ts(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Rt,"");var n=Vt.test(t);return n||Ht.test(t)?Ae(t.slice(2),n?2:8):qt.test(t)?B:+t}function Gs(t){return ra(t,au(t))}function Hs(t){return null==t?"":Pi(t)}var Ws=aa(function(t,e){if($a(e)||ys(e))ra(e,iu(e),t);else for(var n in e)ce.call(e,n)&&Ar(t,n,e[n])}),Zs=aa(function(t,e){ra(e,au(e),t)}),Ys=aa(function(t,e,n,r){ra(e,au(e),t,r)}),Xs=aa(function(t,e,n,r){ra(e,iu(e),t,r)}),$s=Ca(Lr);var Js=ki(function(t,e){t=ee(t);var n=-1,i=e.length,a=i>2?e[2]:r;for(a&&Wa(e[0],e[1],a)&&(i=1);++n1),e}),ra(t,Ia(t),n),r&&(n=Fr(n,c|f|h,Ta));for(var i=e.length;i--;)Di(n,e[i]);return n});var lu=Ca(function(t,e){return null==t?{}:function(t,e){return _i(t,e,function(e,n){return tu(t,n)})}(t,e)});function cu(t,e){if(null==t)return{};var n=Je(Ia(t),function(t){return[t]});return e=Fa(e),_i(t,n,function(t,n){return e(t,n[0])})}var fu=ka(iu),hu=ka(au);function pu(t){return null==t?[]:gn(t,iu(t))}var du=la(function(t,e,n){return e=e.toLowerCase(),t+(n?vu(e):e)});function vu(t){return ku(Hs(t).toLowerCase())}function gu(t){return(t=Hs(t))&&t.replace(Zt,wn).replace(me,"")}var mu=la(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),_u=la(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),yu=ua("toLowerCase");var wu=la(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var bu=la(function(t,e,n){return t+(n?" ":"")+ku(e)});var xu=la(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),ku=ua("toUpperCase");function Eu(t,e,n){return t=Hs(t),(e=n?r:e)===r?function(t){return be.test(t)}(t)?function(t){return t.match(ye)||[]}(t):function(t){return t.match(Dt)||[]}(t):t.match(e)||[]}var Su=ki(function(t,e){try{return Ve(t,r,e)}catch(t){return ks(t)?t:new Qt(t)}}),ju=Ca(function(t,e){return He(e,function(e){e=lo(e),Rr(t,e,ns(t[e],t))}),t});function Tu(t){return function(){return t}}var Au=ha(),Cu=ha(!0);function Mu(t){return t}function Iu(t){return ui("function"==typeof t?t:Fr(t,c))}var Ru=ki(function(t,e){return function(n){return ri(n,t,e)}}),Lu=ki(function(t,e){return function(n){return ri(t,n,e)}});function Bu(t,e,n){var r=iu(e),i=Xr(e,r);null!=n||Ts(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Xr(e,iu(e)));var a=!(Ts(n)&&"chain"in n&&!n.chain),o=Es(t);return He(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=na(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Qe([this.value()],arguments))})}),t}function Fu(){}var Pu=ga(Je),Ou=ga(Ze),Du=ga(en);function Nu(t){return Za(t)?cn(lo(t)):function(t){return function(e){return $r(e,t)}}(t)}var Uu=_a(),zu=_a(!0);function qu(){return[]}function Vu(){return!1}var Gu=va(function(t,e){return t+e},0),Hu=ba("ceil"),Wu=va(function(t,e){return t/e},1),Zu=ba("floor");var Yu,Xu=va(function(t,e){return t*e},1),$u=ba("round"),Ju=va(function(t,e){return t-e},0);return pr.after=function(t,e){if("function"!=typeof e)throw new ie(o);return t=zs(t),function(){if(--t<1)return e.apply(this,arguments)}},pr.ary=ts,pr.assign=Ws,pr.assignIn=Zs,pr.assignInWith=Ys,pr.assignWith=Xs,pr.at=$s,pr.before=es,pr.bind=ns,pr.bindAll=ju,pr.bindKey=rs,pr.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return ms(t)?t:[t]},pr.chain=No,pr.chunk=function(t,e,n){e=(n?Wa(t,e,n):e===r)?1:Hn(zs(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var a=0,o=0,s=$t(Dn(i/e));aa?0:a+n),(i=i===r||i>a?a:zs(i))<0&&(i+=a),i=n>i?0:qs(i);n>>0)?(t=Hs(t))&&("string"==typeof e||null!=e&&!Rs(e))&&!(e=Pi(e))&&kn(t)?Yi(Mn(t),0,n):t.split(e,n):[]},pr.spread=function(t,e){if("function"!=typeof t)throw new ie(o);return e=null==e?0:Hn(zs(e),0),ki(function(n){var r=n[e],i=Yi(n,0,e);return r&&Qe(i,r),Ve(t,this,i)})},pr.tail=function(t){var e=null==t?0:t.length;return e?Mi(t,1,e):[]},pr.take=function(t,e,n){return t&&t.length?Mi(t,0,(e=n||e===r?1:zs(e))<0?0:e):[]},pr.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Mi(t,(e=i-(e=n||e===r?1:zs(e)))<0?0:e,i):[]},pr.takeRightWhile=function(t,e){return t&&t.length?Ui(t,Fa(e,3),!1,!0):[]},pr.takeWhile=function(t,e){return t&&t.length?Ui(t,Fa(e,3)):[]},pr.tap=function(t,e){return e(t),t},pr.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(o);return Ts(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),is(t,e,{leading:r,maxWait:e,trailing:i})},pr.thru=Uo,pr.toArray=Ns,pr.toPairs=fu,pr.toPairsIn=hu,pr.toPath=function(t){return ms(t)?Je(t,lo):Fs(t)?[t]:na(uo(Hs(t)))},pr.toPlainObject=Gs,pr.transform=function(t,e,n){var r=ms(t),i=r||bs(t)||Ps(t);if(e=Fa(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:Ts(t)&&Es(a)?dr(Re(t)):{}}return(i?He:Zr)(t,function(t,r,i){return e(n,t,r,i)}),n},pr.unary=function(t){return ts(t,1)},pr.union=Ao,pr.unionBy=Co,pr.unionWith=Mo,pr.uniq=function(t){return t&&t.length?Oi(t):[]},pr.uniqBy=function(t,e){return t&&t.length?Oi(t,Fa(e,2)):[]},pr.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?Oi(t,r,e):[]},pr.unset=function(t,e){return null==t||Di(t,e)},pr.unzip=Io,pr.unzipWith=Ro,pr.update=function(t,e,n){return null==t?t:Ni(t,e,Hi(n))},pr.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Ni(t,e,Hi(n),i)},pr.values=pu,pr.valuesIn=function(t){return null==t?[]:gn(t,au(t))},pr.without=Lo,pr.words=Eu,pr.wrap=function(t,e){return cs(Hi(e),t)},pr.xor=Bo,pr.xorBy=Fo,pr.xorWith=Po,pr.zip=Oo,pr.zipObject=function(t,e){return Vi(t||[],e||[],Ar)},pr.zipObjectDeep=function(t,e){return Vi(t||[],e||[],ji)},pr.zipWith=Do,pr.entries=fu,pr.entriesIn=hu,pr.extend=Zs,pr.extendWith=Ys,Bu(pr,pr),pr.add=Gu,pr.attempt=Su,pr.camelCase=du,pr.capitalize=vu,pr.ceil=Hu,pr.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=Vs(n))==n?n:0),e!==r&&(e=(e=Vs(e))==e?e:0),Br(Vs(t),e,n)},pr.clone=function(t){return Fr(t,h)},pr.cloneDeep=function(t){return Fr(t,c|h)},pr.cloneDeepWith=function(t,e){return Fr(t,c|h,e="function"==typeof e?e:r)},pr.cloneWith=function(t,e){return Fr(t,h,e="function"==typeof e?e:r)},pr.conformsTo=function(t,e){return null==e||Pr(t,e,iu(e))},pr.deburr=gu,pr.defaultTo=function(t,e){return null==t||t!=t?e:t},pr.divide=Wu,pr.endsWith=function(t,e,n){t=Hs(t),e=Pi(e);var i=t.length,a=n=n===r?i:Br(zs(n),0,i);return(n-=e.length)>=0&&t.slice(n,a)==e},pr.eq=ps,pr.escape=function(t){return(t=Hs(t))&&kt.test(t)?t.replace(bt,bn):t},pr.escapeRegExp=function(t){return(t=Hs(t))&&It.test(t)?t.replace(Mt,"\\$&"):t},pr.every=function(t,e,n){var i=ms(t)?Ze:zr;return n&&Wa(t,e,n)&&(e=r),i(t,Fa(e,3))},pr.find=Vo,pr.findIndex=go,pr.findKey=function(t,e){return rn(t,Fa(e,3),Zr)},pr.findLast=Go,pr.findLastIndex=mo,pr.findLastKey=function(t,e){return rn(t,Fa(e,3),Yr)},pr.floor=Zu,pr.forEach=Ho,pr.forEachRight=Wo,pr.forIn=function(t,e){return null==t?t:Hr(t,Fa(e,3),au)},pr.forInRight=function(t,e){return null==t?t:Wr(t,Fa(e,3),au)},pr.forOwn=function(t,e){return t&&Zr(t,Fa(e,3))},pr.forOwnRight=function(t,e){return t&&Yr(t,Fa(e,3))},pr.get=Ks,pr.gt=ds,pr.gte=vs,pr.has=function(t,e){return null!=t&&qa(t,e,ti)},pr.hasIn=tu,pr.head=yo,pr.identity=Mu,pr.includes=function(t,e,n,r){t=ys(t)?t:pu(t),n=n&&!r?zs(n):0;var i=t.length;return n<0&&(n=Hn(i+n,0)),Bs(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&on(t,e,n)>-1},pr.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:zs(n);return i<0&&(i=Hn(r+i,0)),on(t,e,i)},pr.inRange=function(t,e,n){return e=Us(e),n===r?(n=e,e=0):n=Us(n),function(t,e,n){return t>=Wn(e,n)&&t=-R&&t<=R},pr.isSet=Ls,pr.isString=Bs,pr.isSymbol=Fs,pr.isTypedArray=Ps,pr.isUndefined=function(t){return t===r},pr.isWeakMap=function(t){return As(t)&&za(t)==it},pr.isWeakSet=function(t){return As(t)&&Qr(t)==at},pr.join=function(t,e){return null==t?"":Vn.call(t,e)},pr.kebabCase=mu,pr.last=ko,pr.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i;return n!==r&&(a=(a=zs(n))<0?Hn(i+a,0):Wn(a,i-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,a):an(t,un,a,!0)},pr.lowerCase=_u,pr.lowerFirst=yu,pr.lt=Os,pr.lte=Ds,pr.max=function(t){return t&&t.length?qr(t,Mu,Kr):r},pr.maxBy=function(t,e){return t&&t.length?qr(t,Fa(e,2),Kr):r},pr.mean=function(t){return ln(t,Mu)},pr.meanBy=function(t,e){return ln(t,Fa(e,2))},pr.min=function(t){return t&&t.length?qr(t,Mu,fi):r},pr.minBy=function(t,e){return t&&t.length?qr(t,Fa(e,2),fi):r},pr.stubArray=qu,pr.stubFalse=Vu,pr.stubObject=function(){return{}},pr.stubString=function(){return""},pr.stubTrue=function(){return!0},pr.multiply=Xu,pr.nth=function(t,e){return t&&t.length?gi(t,zs(e)):r},pr.noConflict=function(){return Ie._===this&&(Ie._=ve),this},pr.noop=Fu,pr.now=Ko,pr.pad=function(t,e,n){t=Hs(t);var r=(e=zs(e))?Cn(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ma(Nn(i),n)+t+ma(Dn(i),n)},pr.padEnd=function(t,e,n){t=Hs(t);var r=(e=zs(e))?Cn(t):0;return e&&re){var i=t;t=e,e=i}if(n||t%1||e%1){var a=Xn();return Wn(t+a*(e-t+Te("1e-"+((a+"").length-1))),e)}return bi(t,e)},pr.reduce=function(t,e,n){var r=ms(t)?Ke:hn,i=arguments.length<3;return r(t,Fa(e,4),n,i,Nr)},pr.reduceRight=function(t,e,n){var r=ms(t)?tn:hn,i=arguments.length<3;return r(t,Fa(e,4),n,i,Ur)},pr.repeat=function(t,e,n){return e=(n?Wa(t,e,n):e===r)?1:zs(e),xi(Hs(t),e)},pr.replace=function(){var t=arguments,e=Hs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},pr.result=function(t,e,n){var i=-1,a=(e=Wi(e,t)).length;for(a||(a=1,t=r);++iR)return[];var n=F,r=Wn(t,F);e=Fa(e),t-=F;for(var i=dn(r,e);++n=o)return t;var u=n-Cn(i);if(u<1)return i;var l=s?Yi(s,0,u).join(""):t.slice(0,u);if(a===r)return l+i;if(s&&(u+=l.length-u),Rs(a)){if(t.slice(u).search(a)){var c,f=l;for(a.global||(a=ne(a.source,Hs(zt.exec(a))+"g")),a.lastIndex=0;c=a.exec(f);)var h=c.index;l=l.slice(0,h===r?u:h)}}else if(t.indexOf(Pi(a),u)!=u){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i},pr.unescape=function(t){return(t=Hs(t))&&xt.test(t)?t.replace(wt,In):t},pr.uniqueId=function(t){var e=++fe;return Hs(t)+e},pr.upperCase=xu,pr.upperFirst=ku,pr.each=Ho,pr.eachRight=Wo,pr.first=yo,Bu(pr,(Yu={},Zr(pr,function(t,e){ce.call(pr.prototype,e)||(Yu[e]=t)}),Yu),{chain:!1}),pr.VERSION="4.17.11",He(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){pr[t].placeholder=pr}),He(["drop","take"],function(t,e){mr.prototype[t]=function(n){n=n===r?1:Hn(zs(n),0);var i=this.__filtered__&&!e?new mr(this):this.clone();return i.__filtered__?i.__takeCount__=Wn(n,i.__takeCount__):i.__views__.push({size:Wn(n,F),type:t+(i.__dir__<0?"Right":"")}),i},mr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),He(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==C||3==n;mr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Fa(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),He(["head","last"],function(t,e){var n="take"+(e?"Right":"");mr.prototype[t]=function(){return this[n](1).value()[0]}}),He(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");mr.prototype[t]=function(){return this.__filtered__?new mr(this):this[n](1)}}),mr.prototype.compact=function(){return this.filter(Mu)},mr.prototype.find=function(t){return this.filter(t).head()},mr.prototype.findLast=function(t){return this.reverse().find(t)},mr.prototype.invokeMap=ki(function(t,e){return"function"==typeof t?new mr(this):this.map(function(n){return ri(n,t,e)})}),mr.prototype.reject=function(t){return this.filter(us(Fa(t)))},mr.prototype.slice=function(t,e){t=zs(t);var n=this;return n.__filtered__&&(t>0||e<0)?new mr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=zs(e))<0?n.dropRight(-e):n.take(e-t)),n)},mr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},mr.prototype.toArray=function(){return this.take(F)},Zr(mr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=pr[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(pr.prototype[e]=function(){var e=this.__wrapped__,s=i?[1]:arguments,u=e instanceof mr,l=s[0],c=u||ms(e),f=function(t){var e=a.apply(pr,Qe([t],s));return i&&h?e[0]:e};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var h=this.__chain__,p=!!this.__actions__.length,d=o&&!h,v=u&&!p;if(!o&&c){e=v?e:new mr(this);var g=t.apply(e,s);return g.__actions__.push({func:Uo,args:[f],thisArg:r}),new gr(g,h)}return d&&v?t.apply(this,s):(g=this.thru(f),d?i?g.value()[0]:g.value():g)})}),He(["pop","push","shift","sort","splice","unshift"],function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);pr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(ms(i)?i:[],t)}return this[n](function(n){return e.apply(ms(n)?n:[],t)})}}),Zr(mr.prototype,function(t,e){var n=pr[e];if(n){var r=n.name+"";(ir[r]||(ir[r]=[])).push({name:e,func:n})}}),ir[pa(r,g).name]=[{name:"wrapper",func:r}],mr.prototype.clone=function(){var t=new mr(this.__wrapped__);return t.__actions__=na(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=na(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=na(this.__views__),t},mr.prototype.reverse=function(){if(this.__filtered__){var t=new mr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},mr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=ms(t),r=e<0,i=n?t.length:0,a=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},pr.prototype.plant=function(t){for(var e,n=this;n instanceof vr;){var i=fo(n);i.__index__=0,i.__values__=r,e?a.__wrapped__=i:e=i;var a=i;n=n.__wrapped__}return a.__wrapped__=t,e},pr.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof mr){var e=t;return this.__actions__.length&&(e=new mr(this)),(e=e.reverse()).__actions__.push({func:Uo,args:[To],thisArg:r}),new gr(e,this.__chain__)}return this.thru(To)},pr.prototype.toJSON=pr.prototype.valueOf=pr.prototype.value=function(){return zi(this.__wrapped__,this.__actions__)},pr.prototype.first=pr.prototype.head,fn&&(pr.prototype[fn]=function(){return this}),pr}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ie._=Rn,define(function(){return Rn})):Le?((Le.exports=Rn)._=Rn,Re._=Rn):Ie._=Rn}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],76:[function(t,e,n){(function(n){t("path");var r=t("fs");function i(){this.types=Object.create(null),this.extensions=Object.create(null)}i.prototype.define=function(t){for(var e in t){for(var r=t[e],i=0;i=0;--s)if(h[s]=f,f*=l[s],p=Math.max(p,o.scratchMemory(l[s])),e.shape[s]!==n.shape[s])throw new Error("Shape mismatch, real and imaginary arrays must have same size");var d,v=4*f+p;d="array"===e.dtype||"float64"===e.dtype||"custom"===e.dtype?a.mallocDouble(v):a.mallocFloat(v);var g,m,_,y,w=i(d,l.slice(0),h,0),b=i(d,l.slice(0),h.slice(0),f),x=i(d,l.slice(0),h.slice(0),2*f),k=i(d,l.slice(0),h.slice(0),3*f),E=4*f;for(r.assign(w,e),r.assign(b,n),s=c-1;s>=0&&(o(t,f/l[s],l[s],d,w.offset,b.offset,E),0!==s);--s){for(m=1,_=x.stride,y=k.stride,u=s-1;u=0;--u)y[u]=_[u]=m,m*=l[u];r.assign(x,w),r.assign(k,b),g=w,w=x,x=g,g=b,b=k,k=g}r.assign(e,w),r.assign(n,b),a.free(d)}},{"./lib/fft-matrix.js":79,ndarray:84,"ndarray-ops":81,"typedarray-pool":144}],79:[function(t,e,n){var r=t("bit-twiddle");function i(t,e,n,i,a,o){var s,u,l,c,f,h,p,d,v,g,m,_,y,w,b,x,k,E,S,j,T,A,C,M;for(t|=0,e|=0,a|=0,o|=0,s=n|=0,u=r.log2(s),E=0;E>1,f=0,l=0;l>=1;f+=h}for(m=-1,_=0,g=1,d=0;d>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];n[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),n[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),n[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),n[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var u={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in u){var e=u[t];n[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),n[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var l={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in l){var e=l[t];n[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),n[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),n[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),n[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),n.norm1=r({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),n.sup=r({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),n.inf=r({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),n.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),n.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),n.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),n.equals=r({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":16}],82:[function(t,e,n){"use strict";var r=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var n=[],a=t,o=1;Array.isArray(a);)n.push(a.length),o*=a.length,a=a[0];return 0===n.length?r():(e||(e=r(new Float64Array(o),n)),i(e,t),e)}},{"./doConvert.js":83,ndarray:84}],83:[function(t,e,n){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":16}],84:[function(t,e,n){var r=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,n=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+n+"_set("+u.join(",")+",v){"),i?a.push("return this.data.set("+c+",v)}"):a.push("return this.data["+c+"]=v}"),a.push("proto.get=function "+n+"_get("+u.join(",")+"){"),i?a.push("return this.data.get("+c+")}"):a.push("return this.data["+c+"]}"),a.push("proto.index=function "+n+"_index(",u.join(),"){return "+c+"}"),a.push("proto.hi=function "+n+"_hi("+u.join(",")+"){return new "+n+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});a.push("proto.lo=function "+n+"_lo("+u.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var v=0;v=0){d=i"+v+"|0;b+=c"+v+"*d;a"+v+"-=d}");a.push("return new "+n+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),a.push("proto.step=function "+n+"_step("+u.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(v=0;v=0){c=(c+this.stride["+v+"]*i"+v+")|0}else{a.push(this.shape["+v+"]);b.push(this.stride["+v+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+n+"(data,shape,stride,offset){return new "+n+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(l[t],s)}var l={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,n,r){if(void 0===t)return(0,l.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===n){n=new Array(o);for(var s=o-1,c=1;s>=0;--s)n[s]=c,c*=e[s]}if(void 0===r)for(r=0,s=0;s>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}},{}],86:[function(t,e,n){(function(n,r){"use strict";var i=t("util"),a=t("stream"),o=e.exports=function(){a.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(o,a),o.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),n.nextTick(function(){this._process(),this._paused&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},o.prototype.write=function(t,e){return this.writable?(r.isBuffer(t)||(t=new r(t,e||this._encoding)),this._buffers.push(t),this._buffered+=t.length,this._process(),this._reads&&0==this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1)},o.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0==this._buffers.length?this._end():(this._buffers.push(null),this._process()))},o.prototype.destroySoon=o.prototype.end,o.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},o.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},o.prototype._process=function(){for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess){this._reads.shift(),(a=this._buffers[0]).length>t.length?(this._buffered-=t.length,this._buffers[0]=a.slice(t.length),t.func.call(this,a.slice(0,t.length))):(this._buffered-=a.length,this._buffers.shift(),t.func.call(this,a))}else{if(!(this._buffered>=t.length))break;this._reads.shift();for(var e=0,n=0,i=new r(t.length);e0&&this._buffers.splice(0,n),this._buffered-=t.length,t.func.call(this,i)}}this._buffers&&this._buffers.length>0&&null==this._buffers[0]&&this._end()}}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,buffer:5,stream:139,util:150}],87:[function(t,e,n){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLOR_PALETTE:1,COLOR_COLOR:2,COLOR_ALPHA:4}},{}],88:[function(t,e,n){"use strict";var r=t("util"),i=t("stream"),a=e.exports=function(){i.call(this),this._crc=-1,this.writable=!0};r.inherits(a,i),a.prototype.write=function(t){for(var e=0;e>>8;return!0},a.prototype.end=function(t){t&&this.write(t),this.emit("crc",this.crc32())},a.prototype.crc32=function(){return-1^this._crc},a.crc32=function(t){for(var e=-1,n=0;n>>8;return-1^e};for(var o=[],s=0;s<256;s++){for(var u=s,l=0;l<8;l++)1&u?u=3988292384^u>>>1:u>>>=1;o[s]=u}},{stream:139,util:150}],89:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=(t("zlib"),t("./chunkstream")),a=e.exports=function(t,e,n,r,a){i.call(this),this._width=t,this._height=e,this._Bpp=n,this._data=r,this._options=a,this._line=0,"filterType"in a&&-1!=a.filterType?"number"==typeof a.filterType&&(a.filterType=[a.filterType]):a.filterType=[0,1,2,3,4],this._filters={0:this._filterNone.bind(this),1:this._filterSub.bind(this),2:this._filterUp.bind(this),3:this._filterAvg.bind(this),4:this._filterPaeth.bind(this)},this.read(this._width*n+1,this._reverseFilterLine.bind(this))};r.inherits(a,i);var o={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};a.prototype._reverseFilterLine=function(t){var e=this._data,n=this._width<<2,r=this._line*n,i=t[0];if(0==i)for(var a=0;a0?e[u+c-4]:0;e[u+c]=255!=f?t[l+f]+h:255}else if(2==i)for(a=0;a0?e[u-n+c]:0;e[u+c]=255!=f?t[l+f]+p:255}else if(3==i)for(a=0;a0?e[u+c-4]:0,p=this._line>0?e[u-n+c]:0;var d=Math.floor((h+p)/2);e[u+c]=255!=f?t[l+f]+d:255}else if(4==i)for(a=0;a0?e[u+c-4]:0,p=this._line>0?e[u-n+c]:0;var v=a>0&&this._line>0?e[u-n+c-4]:0;d=s(h,p,v);e[u+c]=255!=f?t[l+f]+d:255}this._line++,this._line=4?t[e*r+o-4]:0,u=t[e*r+o]-s;n?n[e*i+1+o]=u:a+=Math.abs(u)}return a},a.prototype._filterUp=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=2);for(var o=0;o0?t[(e-1)*r+o]:0,u=t[e*r+o]-s;n?n[e*i+1+o]=u:a+=Math.abs(u)}return a},a.prototype._filterAvg=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=3);for(var o=0;o=4?t[e*r+o-4]:0,u=e>0?t[(e-1)*r+o]:0,l=t[e*r+o]-(s+u>>1);n?n[e*i+1+o]=l:a+=Math.abs(l)}return a},a.prototype._filterPaeth=function(t,e,n){var r=this._width<<2,i=r+1,a=0;n&&(n[e*i]=4);for(var o=0;o=4?t[e*r+o-4]:0,l=e>0?t[(e-1)*r+o]:0,c=o>=4&&e>0?t[(e-1)*r+o-4]:0,f=t[e*r+o]-s(u,l,c);n?n[e*i+1+o]=f:a+=Math.abs(f)}return a};var s=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),a=Math.abs(r-e),o=Math.abs(r-n);return i<=a&&i<=o?t:a<=o?e:n}}).call(this,t("buffer").Buffer)},{"./chunkstream":86,buffer:5,util:150,zlib:46}],90:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("stream"),a=t("zlib"),o=t("./filter"),s=t("./crc"),u=t("./constants"),l=e.exports=function(t){i.call(this),this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=t.deflateLevel||9,t.deflateStrategy=t.deflateStrategy||3,this.readable=!0};r.inherits(l,i),l.prototype.pack=function(t,e,r){this.emit("data",new n(u.PNG_SIGNATURE)),this.emit("data",this._packIHDR(e,r));t=new o(e,r,4,t,this._options).filter();var i=a.createDeflate({chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy});i.on("error",this.emit.bind(this,"error")),i.on("data",function(t){this.emit("data",this._packIDAT(t))}.bind(this)),i.on("end",function(){this.emit("data",this._packIEND()),this.emit("end")}.bind(this)),i.end(t)},l.prototype._packChunk=function(t,e){var r=e?e.length:0,i=new n(r+12);return i.writeUInt32BE(r,0),i.writeUInt32BE(t,4),e&&e.copy(i,8),i.writeInt32BE(s.crc32(i.slice(4,i.length-4)),i.length-4),i},l.prototype._packIHDR=function(t,e){var r=new n(13);return r.writeUInt32BE(t,0),r.writeUInt32BE(e,4),r[8]=8,r[9]=6,r[10]=0,r[11]=0,r[12]=0,this._packChunk(u.TYPE_IHDR,r)},l.prototype._packIDAT=function(t){return this._packChunk(u.TYPE_IDAT,t)},l.prototype._packIEND=function(){return this._packChunk(u.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./constants":87,"./crc":88,"./filter":89,buffer:5,stream:139,util:150,zlib:46}],91:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("zlib"),a=t("./crc"),o=t("./chunkstream"),s=t("./constants"),u=t("./filter"),l=e.exports=function(t){o.call(this),this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._inflate=null,this._filter=null,this._crc=null,this._palette=[],this._colorType=0,this._chunks={},this._chunks[s.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[s.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[s.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[s.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[s.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[s.TYPE_gAMA]=this._handleGAMA.bind(this),this.writable=!0,this.on("error",this._handleError.bind(this)),this._handleSignature()};r.inherits(l,o),l.prototype._handleError=function(){this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy()},l.prototype._handleSignature=function(){this.read(s.PNG_SIGNATURE.length,this._parseSignature.bind(this))},l.prototype._parseSignature=function(t){for(var e=s.PNG_SIGNATURE,n=0;nthis._palette.length)return void this.emit("error",new Error("More transparent colors than palette size"));for(var e=0;e0?this._handleIDAT(t):this._handleChunkEnd()},l.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},l.prototype._parseIEND=function(t){this._crc.write(t),this._inflate.end(),this._hasIEND=!0,this._handleChunkEnd()};var c={0:1,2:3,3:1,4:2,6:4};l.prototype._reverseFiltered=function(t,e,n){if(3==this._colorType)for(var r=e<<2,i=0;i0&&this.height>0?new r(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new o(t||{}),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(u,a),u.prototype.pack=function(){return e.nextTick(function(){this._packer.pack(this.data,this.width,this.height)}.bind(this)),this},u.prototype.parse=function(t,e){if(e){var n,r=null;this.once("parsed",n=function(t){this.removeListener("error",r),this.data=t,e(null,this)}.bind(this)),this.once("error",r=function(t){this.removeListener("parsed",n),e(t,null)}.bind(this))}return this.end(t),this},u.prototype.write=function(t){return this._parser.write(t),!0},u.prototype.end=function(t){this._parser.end(t)},u.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.data=t.data,delete t.data,this.emit("metadata",t)},u.prototype._gamma=function(t){this.gamma=t},u.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},u.prototype.bitblt=function(t,e,n,r,i,a,o){if(e>this.width||n>this.height||e+r>this.width||n+i>this.height)throw new Error("bitblt reading outside image");if(a>t.width||o>t.height||a+r>t.width||o+i>t.height)throw new Error("bitblt writing outside image");for(var s=0;s>=u,c-=u,g!==a){if(g===o)break;for(var m=ga;)y=d[y]>>8,++_;var w=y;if(h+_+(m!==g?1:0)>r)return void console.log("Warning, gif stream longer than expected.");n[h++]=w;var b=h+=_;for(m!==g&&(n[h++]=w),y=m;_--;)y=d[y],n[--b]=255&y,y>>=8;null!==v&&s<4096&&(d[s++]=v<<8|w,s>=l+1&&u<12&&(++u,l=l<<1|1)),v=g}else s=o+1,l=(1<<(u=i+1))-1,v=null}return h!==r&&console.log("Warning, gif stream shorter than expected."),n}try{n.GifWriter=function(t,e,n,r){var i=0,a=void 0===(r=void 0===r?{}:r).loop?null:r.loop,o=void 0===r.palette?null:r.palette;if(e<=0||n<=0||e>65535||n>65535)throw new Error("Width/Height invalid.");function s(t){var e=t.length;if(e<2||e>256||e&e-1)throw new Error("Invalid code/color length, must be power of 2 and 2 .. 256.");return e}t[i++]=71,t[i++]=73,t[i++]=70,t[i++]=56,t[i++]=57,t[i++]=97;var u=0,l=0;if(null!==o){for(var c=s(o);c>>=1;)++u;if(c=1<=c)throw new Error("Background index out of range.");if(0===l)throw new Error("Background index explicitly passed as 0.")}}if(t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&n,t[i++]=n>>8&255,t[i++]=(null!==o?128:0)|u,t[i++]=l,t[i++]=0,null!==o)for(var f=0,h=o.length;f>16&255,t[i++]=p>>8&255,t[i++]=255&p}if(null!==a){if(a<0||a>65535)throw new Error("Loop count invalid.");t[i++]=33,t[i++]=255,t[i++]=11,t[i++]=78,t[i++]=69,t[i++]=84,t[i++]=83,t[i++]=67,t[i++]=65,t[i++]=80,t[i++]=69,t[i++]=50,t[i++]=46,t[i++]=48,t[i++]=3,t[i++]=1,t[i++]=255&a,t[i++]=a>>8&255,t[i++]=0}var d=!1;this.addFrame=function(e,n,r,a,u,l){if(!0===d&&(--i,d=!1),l=void 0===l?{}:l,e<0||n<0||e>65535||n>65535)throw new Error("x/y invalid.");if(r<=0||a<=0||r>65535||a>65535)throw new Error("Width/Height invalid.");if(u.length>=1;)++p;h=1<3)throw new Error("Disposal out of range.");var m=!1,_=0;if(void 0!==l.transparent&&null!==l.transparent&&(m=!0,(_=l.transparent)<0||_>=h))throw new Error("Transparent color index.");if((0!==g||m||0!==v)&&(t[i++]=33,t[i++]=249,t[i++]=4,t[i++]=g<<2|(!0===m?1:0),t[i++]=255&v,t[i++]=v>>8&255,t[i++]=_,t[i++]=0),t[i++]=44,t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&n,t[i++]=n>>8&255,t[i++]=255&r,t[i++]=r>>8&255,t[i++]=255&a,t[i++]=a>>8&255,t[i++]=!0===c?128|p-1:0,!0===c)for(var y=0,w=f.length;y>16&255,t[i++]=b>>8&255,t[i++]=255&b}return i=function(t,e,n,r){t[e++]=n;var i=e++,a=1<=n;)t[e++]=255&f,f>>=8,c-=8,e===i+256&&(t[i]=255,i=e++)}function p(t){f|=t<=8;)t[e++]=255&f,f>>=8,c-=8,e===i+256&&(t[i]=255,i=e++);4096===u?(p(a),u=s+1,l=n+1,v={}):(u>=1<>7,s=1<<1+(7&a);t[e++],t[e++];var u=null,l=null;o&&(u=e,l=s,e+=3*s);var c=!0,f=[],h=0,p=null,d=0,v=null;for(this.width=n,this.height=i;c&&e=0))throw Error("Invalid block size");if(0===A)break;e+=A}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error("Invalid graphics extension block.");var g=t[e++];h=t[e++]|t[e++]<<8,p=t[e++],0==(1&g)&&(p=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((A=t[e++])>=0))throw Error("Invalid block size");if(0===A)break;e+=A}break;default:throw new Error("Unknown graphic control label: 0x"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,_=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++]|t[e++]<<8,b=t[e++],x=b>>6&1,k=1<<1+(7&b),E=u,S=l,j=!1;b>>7&&(j=!0,E=e,S=k,e+=3*k);var T=e;for(e++;;){var A;if(!((A=t[e++])>=0))throw Error("Invalid block size");if(0===A)break;e+=A}f.push({x:m,y:_,width:y,height:w,has_local_palette:j,palette_offset:E,palette_size:S,data_offset:T,data_length:e-T,transparent_index:p,interlaced:!!x,delay:h,disposal:d});break;case 59:c=!1;break;default:throw new Error("Unknown gif block: 0x"+t[e-1].toString(16))}this.numFrames=function(){return f.length},this.loopCount=function(){return v},this.frameInfo=function(t){if(t<0||t>=f.length)throw new Error("Frame index out of range.");return f[t]},this.decodeAndBlitFrameBGRA=function(e,i){var a=this.frameInfo(e),o=a.width*a.height,s=new Uint8Array(o);r(t,a.data_offset,s,o);var u=a.palette_offset,l=a.transparent_index;null===l&&(l=256);var c=a.width,f=n-c,h=c,p=4*(a.y*n+a.x),d=4*((a.y+a.height)*n+a.x),v=p,g=4*f;!0===a.interlaced&&(g+=4*n*7);for(var m=8,_=0,y=s.length;_=d&&(g=4*f+4*n*(m-1),v=p+(c+f)*(m<<1),m>>=1)),w===l)v+=4;else{var b=t[u+3*w],x=t[u+3*w+1],k=t[u+3*w+2];i[v++]=k,i[v++]=x,i[v++]=b,i[v++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,i){var a=this.frameInfo(e),o=a.width*a.height,s=new Uint8Array(o);r(t,a.data_offset,s,o);var u=a.palette_offset,l=a.transparent_index;null===l&&(l=256);var c=a.width,f=n-c,h=c,p=4*(a.y*n+a.x),d=4*((a.y+a.height)*n+a.x),v=p,g=4*f;!0===a.interlaced&&(g+=4*n*7);for(var m=8,_=0,y=s.length;_=d&&(g=4*f+4*n*(m-1),v=p+(c+f)*(m<<1),m>>=1)),w===l)v+=4;else{var b=t[u+3*w],x=t[u+3*w+1],k=t[u+3*w+2];i[v++]=b,i[v++]=x,i[v++]=k,i[v++]=255}--h}}}}catch(t){}},{}],94:[function(t,e,n){(function(n){var r=t("charm");function i(t){if(!(t=t||{}).total)throw new Error("You MUST specify the total number of operations that will be processed.");this.total=t.total,this.current=0,this.max_burden=t.maxBurden||.5,this.show_burden=t.showBurden||!1,this.started=!1,this.size=50,this.inner_time=0,this.outer_time=0,this.elapsed=0,this.time_start=0,this.time_end=0,this.time_left=0,this.time_burden=0,this.skip_steps=0,this.skipped=0,this.aborted=!1,this.charm=r(),this.charm.pipe(n.stdout),this.charm.write("\n\n\n")}function a(t,e,n){for(n=n||" ";t.length3&&(u[0]=u[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,o)),(u[1]||"").length=this.total&&this.finished(),this.time_end=(new Date).getTime(),this.inner_time=this.time_end-this.time_start)},i.prototype.updateTimes=function(){this.elapsed=this.time_start-this.started,this.time_end>0&&(this.outer_time=this.time_start-this.time_end),this.inner_time>0&&this.outer_time>0&&(this.time_burden=this.inner_time/(this.inner_time+this.outer_time)*100,this.time_left=this.elapsed/this.current*(this.total-this.current),this.time_left<0&&(this.time_left=0)),this.time_burden>this.max_burden&&this.skip_steps0&&this.current=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(n=o+"/"+n,i="/"===o.charAt(0))}return n=e(r(n.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+n||"."},n.normalize=function(t){var a=n.isAbsolute(t),o="/"===i(t,-1);return(t=e(r(t.split("/"),function(t){return!!t}),!a).join("/"))||a||(t="."),t&&o&&(t+="/"),(a?"/":"")+t},n.isAbsolute=function(t){return"/"===t.charAt(0)},n.join=function(){var t=Array.prototype.slice.call(arguments,0);return n.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},n.relative=function(t,e){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=n.resolve(t).substr(1),e=n.resolve(e).substr(1);for(var i=r(t.split("/")),a=r(e.split("/")),o=Math.min(i.length,a.length),s=o,u=0;u=1;--a)if(47===(e=t.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},n.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){n=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},n.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,i=!0,a=0,o=t.length-1;o>=0;--o){var s=t.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===e?e=o:1!==a&&(a=1):-1!==e&&(a=-1);else if(!i){n=o+1;break}}return-1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)};var i="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,t("_process"))},{_process:117}],96:[function(t,e,n){(function(e){"use strict";var r=t("./interlace"),i={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};function a(t,e,n,r,a,o){for(var s=t.width,u=t.height,l=t.index,c=0;c>4,n.push(f,c);break;case 2:u=3&h,l=h>>2&3,c=h>>4&3,f=h>>6&3,n.push(f,c,l,u);break;case 1:i=1&h,a=h>>1&1,o=h>>2&1,s=h>>3&1,u=h>>4&1,l=h>>5&1,c=h>>6&1,f=h>>7&1,n.push(f,c,l,u,s,o,a,i)}}return{get:function(t){for(;n.length0&&(this._paused=!1,this.emit("drain"))}.bind(this))},o.prototype.write=function(t,e){return this.writable?(n=r.isBuffer(t)?t:new r(t,e||this._encoding),this._buffers.push(n),this._buffered+=n.length,this._process(),this._reads&&0===this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1);var n},o.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0===this._buffers.length?this._end():(this._buffers.push(null),this._process()))},o.prototype.destroySoon=o.prototype.end,o.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},o.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},o.prototype._processReadAllowingLess=function(t){this._reads.shift();var e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))},o.prototype._processRead=function(t){this._reads.shift();for(var e=0,n=0,i=new r(t.length);e0&&this._buffers.splice(0,n),this._buffered-=t.length,t.func.call(this,i)},o.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else{if(!(this._buffered>=t.length))break;this._processRead(t)}}this._buffers&&this._buffers.length>0&&null===this._buffers[0]&&this._end()}catch(t){this.emit("error",t)}}}).call(this,t("_process"),t("buffer").Buffer)},{_process:117,buffer:5,stream:139,util:150}],99:[function(t,e,n){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}},{}],100:[function(t,e,n){"use strict";var r=[];!function(){for(var t=0;t<256;t++){for(var e=t,n=0;n<8;n++)1&e?e=3988292384^e>>>1:e>>>=1;r[t]=e}}();var i=e.exports=function(){this._crc=-1};i.prototype.write=function(t){for(var e=0;e>>8;return!0},i.prototype.crc32=function(){return-1^this._crc},i.crc32=function(t){for(var e=-1,n=0;n>>8;return-1^e}},{}],101:[function(t,e,n){(function(n){"use strict";var r=t("./paeth-predictor");var i={0:function(t,e,n,r,i){t.copy(r,i,e,e+n)},1:function(t,e,n,r,i,a){for(var o=0;o=a?t[e+o-a]:0,u=t[e+o]-s;r[i+o]=u}},2:function(t,e,n,r,i){for(var a=0;a0?t[e+a-n]:0,s=t[e+a]-o;r[i+a]=s}},3:function(t,e,n,r,i,a){for(var o=0;o=a?t[e+o-a]:0,u=e>0?t[e+o-n]:0,l=t[e+o]-(s+u>>1);r[i+o]=l}},4:function(t,e,n,i,a,o){for(var s=0;s=o?t[e+s-o]:0,l=e>0?t[e+s-n]:0,c=e>0&&s>=o?t[e+s-(n+o)]:0,f=t[e+s]-r(u,l,c);i[a+s]=f}}},a={0:function(t,e,n){for(var r=0,i=e+n,a=e;a=r?t[e+a-r]:0,s=t[e+a]-o;i+=Math.abs(s)}return i},2:function(t,e,n){for(var r=0,i=e+n,a=e;a0?t[a-n]:0,s=t[a]-o;r+=Math.abs(s)}return r},3:function(t,e,n,r){for(var i=0,a=0;a=r?t[e+a-r]:0,s=e>0?t[e+a-n]:0,u=t[e+a]-(o+s>>1);i+=Math.abs(u)}return i},4:function(t,e,n,i){for(var a=0,o=0;o=i?t[e+o-i]:0,u=e>0?t[e+o-n]:0,l=e>0&&o>=i?t[e+o-(n+i)]:0,c=t[e+o]-r(s,u,l);a+=Math.abs(c)}return a}};e.exports=function(t,e,r,o,s){var u;if("filterType"in o&&-1!==o.filterType){if("number"!=typeof o.filterType)throw new Error("unrecognised filter types");u=[o.filterType]}else u=[0,1,2,3,4];for(var l=e*s,c=0,f=0,h=new n((l+1)*r),p=u[0],d=0;d1)for(var v=1/0,g=0;gi?e[a-r]:0;e[a]=o+s}},o.prototype._unFilterType2=function(t,e,n){for(var r=this._lastLine,i=0;ii?e[o-r]:0,c=Math.floor((l+u)/2);e[o]=s+c}},o.prototype._unFilterType4=function(t,e,n){for(var r=this._xComparison,a=r-1,o=this._lastLine,s=0;sa?e[s-r]:0,f=s>a&&o?o[s-r]:0,h=i(c,l,f);e[s]=u+h}},o.prototype._reverseFilterLine=function(t){var e,r=t[0],i=this._images[this._imageIndex],a=i.byteWidth;if(0===r)e=t.slice(1,a+1);else switch(e=new n(a),r){case 1:this._unFilterType1(t,e,a);break;case 2:this._unFilterType2(t,e,a);break;case 3:this._unFilterType3(t,e,a);break;case 4:this._unFilterType4(t,e,a);break;default:throw new Error("Unrecognised filter type - "+r)}this.write(e),i.lineIndex++,i.lineIndex>=i.height?(this._lastLine=null,this._imageIndex++,i=this._images[this._imageIndex]):this._lastLine=e,i?this.read(i.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}).call(this,t("buffer").Buffer)},{"./interlace":106,"./paeth-predictor":110,buffer:5}],105:[function(t,e,n){(function(t){"use strict";e.exports=function(e,n){var r=n.depth,i=n.width,a=n.height,o=n.colorType,s=n.transColor,u=n.palette,l=e;return 3===o?function(t,e,n,r,i){for(var a=0,o=0;o0&&f>0&&n.push({width:c,height:f,index:u})}return n},n.getInterlaceIterator=function(t){return function(e,n,i){var a=e%r[i].x.length,o=(e-a)/r[i].x.length*8+r[i].x[a],s=n%r[i].y.length;return 4*o+((n-s)/r[i].y.length*8+r[i].y[s])*t*4}}},{}],107:[function(t,e,n){(function(n){"use strict";var r=t("util"),i=t("stream"),a=t("./constants"),o=t("./packer"),s=e.exports=function(t){i.call(this);var e=t||{};this._packer=new o(e),this._deflate=this._packer.createDeflate(),this.readable=!0};r.inherits(s,i),s.prototype.pack=function(t,e,r,i){this.emit("data",new n(a.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,r)),i&&this.emit("data",this._packer.packGAMA(i));var o=this._packer.filterData(t,e,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(t){this.emit("data",this._packer.packIDAT(t))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(o)}}).call(this,t("buffer").Buffer)},{"./constants":99,"./packer":109,buffer:5,stream:139,util:150}],108:[function(t,e,n){(function(n){"use strict";var r=!0,i=t("zlib");i.deflateSync||(r=!1);var a=t("./constants"),o=t("./packer");e.exports=function(t,e){if(!r)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var s=new o(e||{}),u=[];u.push(new n(a.PNG_SIGNATURE)),u.push(s.packIHDR(t.width,t.height)),t.gamma&&u.push(s.packGAMA(t.gamma));var l=s.filterData(t.data,t.width,t.height),c=i.deflateSync(l,s.getDeflateOptions());if(l=null,!c||!c.length)throw new Error("bad png - invalid compressed data response");return u.push(s.packIDAT(c)),u.push(s.packIEND()),n.concat(u)}}).call(this,t("buffer").Buffer)},{"./constants":99,"./packer":109,buffer:5,zlib:46}],109:[function(t,e,n){(function(n){"use strict";var r=t("./constants"),i=t("./crc"),a=t("./bitpacker"),o=t("./filter-pack"),s=t("zlib"),u=e.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=null!=t.deflateLevel?t.deflateLevel:9,t.deflateStrategy=null!=t.deflateStrategy?t.deflateStrategy:3,t.inputHasAlpha=null==t.inputHasAlpha||t.inputHasAlpha,t.deflateFactory=t.deflateFactory||s.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType="number"==typeof t.colorType?t.colorType:r.COLORTYPE_COLOR_ALPHA,t.colorType!==r.COLORTYPE_COLOR&&t.colorType!==r.COLORTYPE_COLOR_ALPHA)throw new Error("option color type:"+t.colorType+" is not supported at present");if(8!==t.bitDepth)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};u.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},u.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},u.prototype.filterData=function(t,e,n){var i=a(t,e,n,this._options),s=r.COLORTYPE_TO_BPP_MAP[this._options.colorType];return o(i,e,n,this._options,s)},u.prototype._packChunk=function(t,e){var r=e?e.length:0,a=new n(r+12);return a.writeUInt32BE(r,0),a.writeUInt32BE(t,4),e&&e.copy(a,8),a.writeInt32BE(i.crc32(a.slice(4,a.length-4)),a.length-4),a},u.prototype.packGAMA=function(t){var e=new n(4);return e.writeUInt32BE(Math.floor(t*r.GAMMA_DIVISION),0),this._packChunk(r.TYPE_gAMA,e)},u.prototype.packIHDR=function(t,e){var i=new n(13);return i.writeUInt32BE(t,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(r.TYPE_IHDR,i)},u.prototype.packIDAT=function(t){return this._packChunk(r.TYPE_IDAT,t)},u.prototype.packIEND=function(){return this._packChunk(r.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./bitpacker":97,"./constants":99,"./crc":100,"./filter-pack":101,buffer:5,zlib:46}],110:[function(t,e,n){"use strict";e.exports=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),a=Math.abs(r-e),o=Math.abs(r-n);return i<=a&&i<=o?t:a<=o?e:n}},{}],111:[function(t,e,n){"use strict";var r=t("util"),i=t("zlib"),a=t("./chunkstream"),o=t("./filter-parse-async"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser"),c=e.exports=function(t){a.call(this),this._parser=new s(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};r.inherits(c,a),c.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this.errord=!0},c.prototype._inflateData=function(t){this._inflate||(this._inflate=i.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter)),this._inflate.write(t)},c.prototype._handleMetaData=function(t){this.emit("metadata",t),this._bitmapInfo=Object.create(t),this._filter=new o(this._bitmapInfo)},c.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t},c.prototype._handlePalette=function(t){this._bitmapInfo.palette=t},c.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"),this.destroySoon())},c.prototype._complete=function(t){if(!this.errord){try{var e=u.dataToBitMap(t,this._bitmapInfo),n=l(e,this._bitmapInfo);e=null}catch(t){return void this._handleError(t)}this.emit("parsed",n)}}},{"./bitmapper":96,"./chunkstream":98,"./filter-parse-async":102,"./format-normaliser":105,"./parser":113,util:150,zlib:46}],112:[function(t,e,n){(function(n){"use strict";var r=!0,i=t("zlib");i.deflateSync||(r=!1);var a=t("./sync-reader"),o=t("./filter-parse-sync"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser");e.exports=function(t,e){if(!r)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var c,f,h;var p=[];var d=new a(t);if(new s(e,{read:d.read.bind(d),error:function(t){c=t},metadata:function(t){f=t},gamma:function(t){h=t},palette:function(t){f.palette=t},transColor:function(t){f.transColor=t},inflateData:function(t){p.push(t)}}).start(),d.process(),c)throw c;var v=n.concat(p);p.length=0;var g=i.inflateSync(v);if(v=null,!g||!g.length)throw new Error("bad png - invalid inflate data response");var m=o.process(g,f);v=null;var _=u.dataToBitMap(m,f);m=null;var y=l(_,f);return f.data=y,f.gamma=h||0,f}}).call(this,t("buffer").Buffer)},{"./bitmapper":96,"./filter-parse-sync":103,"./format-normaliser":105,"./parser":113,"./sync-reader":116,buffer:5,zlib:46}],113:[function(t,e,n){(function(n){"use strict";var r=t("./constants"),i=t("./crc"),a=e.exports=function(t,e){this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[r.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[r.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[r.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[r.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[r.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[r.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.inflateData=e.inflateData,this.finished=e.finished};a.prototype.start=function(){this.read(r.PNG_SIGNATURE.length,this._parseSignature.bind(this))},a.prototype._parseSignature=function(t){for(var e=r.PNG_SIGNATURE,n=0;nthis._palette.length)return void this.error(new Error("More transparent colors than palette size"));for(var e=0;e0?this._handleIDAT(n):this._handleChunkEnd()},a.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},a.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}).call(this,t("buffer").Buffer)},{"./constants":99,"./crc":100,buffer:5}],114:[function(t,e,n){"use strict";var r=t("./parser-sync"),i=t("./packer-sync");n.read=function(t,e){return r(t,e||{})},n.write=function(t){return i(t)}},{"./packer-sync":108,"./parser-sync":112}],115:[function(t,e,n){(function(e,r){"use strict";var i=t("util"),a=t("stream"),o=t("./parser-async"),s=t("./packer-async"),u=t("./png-sync"),l=n.PNG=function(t){a.call(this),t=t||{},this.width=t.width||0,this.height=t.height||0,this.data=this.width>0&&this.height>0?new r(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new o(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(l,a),l.sync=u,l.prototype.pack=function(){return this.data&&this.data.length?(e.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this):(this.emit("error","No data provided"),this)},l.prototype.parse=function(t,e){var n,r;e&&(n=function(t){this.removeListener("error",r),this.data=t,e(null,this)}.bind(this),r=function(t){this.removeListener("parsed",n),e(t,null)}.bind(this),this.once("parsed",n),this.once("error",r));return this.end(t),this},l.prototype.write=function(t){return this._parser.write(t),!0},l.prototype.end=function(t){this._parser.end(t)},l.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)},l.prototype._gamma=function(t){this.gamma=t},l.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},l.bitblt=function(t,e,n,r,i,a,o,s){if(n>t.width||r>t.height||n+i>t.width||r+a>t.height)throw new Error("bitblt reading outside image");if(o>e.width||s>e.height||o+i>e.width||s+a>e.height)throw new Error("bitblt writing outside image");for(var u=0;u0&&this._buffer.length;){var t=this._reads[0];if(!this._buffer.length||!(this._buffer.length>=t.length||t.allowLess))break;this._reads.shift();var e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}return this._reads.length>0?new Error("There are some read requests waitng on finished stream"):this._buffer.length>0?new Error("unrecognised content at end of stream"):void 0}},{}],117:[function(t,e,n){var r,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(r===setTimeout)return setTimeout(t,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(t){r=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var l,c=[],f=!1,h=-1;function p(){f&&l&&(f=!1,l.length?c=l.concat(c):h=-1,c.length&&d())}function d(){if(!f){var t=u(p);f=!0;for(var e=c.length;e;){for(l=c,c=[];++h1)for(var n=1;n0?("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),r?o.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):b(t,o,e,!0):o.ended?t.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?b(t,o,e,!1):j(t,o)):b(t,o,e,!1))):r||(o.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=x?t=x:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function E(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(p("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(S,t):S(t))}function S(t){p("emit readable"),t.emit("readable"),M(t)}function j(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(T,t,e))}function T(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;ta.length?a.length:t;if(o===a.length?i+=a:i+=a.slice(0,t),0===(t-=o)){o===a.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=a.slice(o));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=l.allocUnsafe(t),r=e.head,i=1;r.data.copy(n),t-=r.data.length;for(;r=r.next;){var a=r.data,o=t>a.length?a.length:t;if(a.copy(n,n.length-t,0,o),0===(t-=o)){o===a.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=a.slice(o));break}++i}return e.length-=i,n}(t,e);return r}(t,e.buffer,e.decoder),n);var n}function R(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(L,e,t))}function L(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function B(t,e){for(var n=0,r=t.length;n=e.highWaterMark||e.ended))return p("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?R(this):E(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&R(this),null;var r,i=e.needReadable;return p("need readable",i),(0===e.length||e.length-t0?I(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&R(this)),null!==r&&this.emit("data",r),r},y.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(t,e){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=t;break;case 1:a.pipes=[a.pipes,t];break;default:a.pipes.push(t)}a.pipesCount+=1,p("pipe count=%d opts=%j",a.pipesCount,e);var u=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:y;function l(e,n){p("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),t.removeListener("close",m),t.removeListener("finish",_),t.removeListener("drain",f),t.removeListener("error",g),t.removeListener("unpipe",l),r.removeListener("end",c),r.removeListener("end",y),r.removeListener("data",v),h=!0,!a.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function c(){p("onend"),t.end()}a.endEmitted?i.nextTick(u):r.once("end",u),t.on("unpipe",l);var f=function(t){return function(){var e=t._readableState;p("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,M(t))}}(r);t.on("drain",f);var h=!1;var d=!1;function v(e){p("ondata"),d=!1,!1!==t.write(e)||d||((1===a.pipesCount&&a.pipes===t||a.pipesCount>1&&-1!==B(a.pipes,t))&&!h&&(p("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,d=!0),r.pause())}function g(e){p("onerror",e),y(),t.removeListener("error",g),0===s(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",_),y()}function _(){p("onfinish"),t.removeListener("close",m),y()}function y(){p("unpipe"),r.unpipe(t)}return r.on("data",v),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?o(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",g),t.once("close",m),t.once("finish",_),t.emit("pipe",r),a.flowing||(p("pipe resume"),r.resume()),t},y.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a-1?i:a.nextTick;_.WritableState=m;var l=t("core-util-is");l.inherits=t("inherits");var c={deprecate:t("util-deprecate")},f=t("./internal/streams/stream"),h=t("safe-buffer").Buffer,p=r.Uint8Array||function(){};var d,v=t("./internal/streams/destroy");function g(){}function m(e,n){s=s||t("./_stream_duplex"),e=e||{};var r=n instanceof s;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var f=!1===e.decodeStrings;this.decodeStrings=!f,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(a.nextTick(i,r),a.nextTick(E,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),E(t,e))}(t,n,r,e,i);else{var o=x(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||b(t,n),r?u(w,t,n,o,i):w(t,n,o,i)}}(n,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function _(e){if(s=s||t("./_stream_duplex"),!(d.call(_,this)||this instanceof s))return new _(e);this._writableState=new m(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),f.call(this)}function y(t,e,n,r,i,a,o){e.writelen=r,e.writecb=o,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function w(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),E(t,e)}function b(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,y(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,f=n.callback;if(y(t,e,!1,e.objectMode?1:l.length,l,c,f),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function x(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final(function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),E(t,e)})}function E(t,e){var n=x(e);return n&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,a.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}l.inherits(_,f),m.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(m.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(_,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===_&&(t&&t._writableState instanceof m)}})):d=function(t){return t instanceof this},_.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},_.prototype.write=function(t,e,n){var r,i=this._writableState,o=!1,s=!i.objectMode&&(r=t,h.isBuffer(r)||r instanceof p);return s&&!h.isBuffer(t)&&(t=function(t){return h.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),a.nextTick(e,n)}(this,n):(s||function(t,e,n,r){var i=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),a.nextTick(r,o),i=!1),i}(this,i,t,n))&&(i.pendingcb++,o=function(t,e,n,r,i,a){if(!n){var o=function(t,e,n){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=h.from(e,n));return e}(e,r,i);r!==o&&(n=!0,i="buffer",r=o)}var s=e.objectMode?1:r.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(_.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),_.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},_.prototype._writev=null,_.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!==t&&void 0!==t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,E(t,e),n&&(e.finished?a.nextTick(n):t.once("finish",n));e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(_.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),_.prototype.destroy=v.destroy,_.prototype._undestroy=v.undestroy,_.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{"./_stream_duplex":119,"./internal/streams/destroy":125,"./internal/streams/stream":126,_process:117,"core-util-is":15,inherits:70,"process-nextick-args":128,"safe-buffer":134,timers:142,"util-deprecate":148}],124:[function(t,e,n){"use strict";var r=t("safe-buffer").Buffer,i=t("util");e.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i,a=r.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,n=a,i=s,e.copy(n,i),s+=o.data.length,o=o.next;return a},t}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},{"safe-buffer":134,util:4}],125:[function(t,e,n){"use strict";var r=t("process-nextick-args");function i(t,e){t.emit("error",e)}e.exports={destroy:function(t,e){var n=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{"process-nextick-args":128}],126:[function(t,e,n){e.exports=t("events").EventEmitter},{events:48}],127:[function(t,e,n){var r={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},{}],128:[function(t,e,n){(function(t){"use strict";!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(a=new Array(s-1),o=0;o>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(t.lastNeed=i-1),i;if(--r=0)return i>0&&(t.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":134}],130:[function(t,e,n){e.exports=t("./readable").PassThrough},{"./readable":131}],131:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":119,"./lib/_stream_passthrough.js":120,"./lib/_stream_readable.js":121,"./lib/_stream_transform.js":122,"./lib/_stream_writable.js":123}],132:[function(t,e,n){e.exports=t("./readable").Transform},{"./readable":131}],133:[function(t,e,n){e.exports=t("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":123}],134:[function(t,e,n){var r=t("buffer"),i=r.Buffer;function a(t,e){for(var n in t)e[n]=t[n]}function o(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,n),n.Buffer=o),a(i,o),o.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},o.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},{buffer:5}],135:[function(t,e,n){arguments[4][67][0].apply(n,arguments)},{"./lib/decoder":136,"./lib/encoder":137,dup:67}],136:[function(t,e,n){(function(t){var n=function(){"use strict";var t=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),e=4017,n=799,r=3406,i=2276,a=1567,o=3784,s=5793,u=2896;function l(){}function c(t,e){for(var n,r,i=0,a=[],o=16;o>0&&!t[o-1];)o--;a.push({children:[],index:0});var s,u=a[0];for(n=0;n0;)u=a.pop();for(u.index++,a.push(u);a.length<=n;)a.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}n+10)return p>>--d&1;if(255==(p=e[n++])){var t=e[n++];if(t)throw"unexpected marker: "+(p<<8|t).toString(16)}return d=7,p>>>7}function g(t){for(var e,n=t;null!==(e=v());){if("number"==typeof(n=n[e]))return n;if("object"!=typeof n)throw"invalid huffman sequence"}return null}function m(t){for(var e=0;t>0;){var n=v();if(null===n)return;e=e<<1|n,t--}return e}function _(t){var e=m(t);return e>=1<0)y--;else for(var r=o,i=s;r<=i;){var a=g(e.huffmanTableAC),u=15&a,c=a>>4;if(0!==u)n[t[r+=c]]=_(u)*(1<>4,0===f)a<15?(y=m(a)+(1<>4;if(0!==s)n[t[a+=u]]=_(s),a++;else{if(u<15)break;a+=16}}};var I,R,L,B,F=0;for(R=1==M?i[0].blocksPerLine*i[0].blocksPerColumn:c*r.mcusPerColumn,a||(a=R);F=65488&&I<=65495))break;n+=2}return n-h}function h(t,l){var c,f,h=[],p=l.blocksPerLine,d=l.blocksPerColumn,v=p<<3,g=new Int32Array(64),m=new Uint8Array(64);function _(t,c,f){var h,p,d,v,g,m,_,y,w,b,x=l.quantizationTable,k=f;for(b=0;b<64;b++)k[b]=t[b]*x[b];for(b=0;b<8;++b){var E=8*b;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(h=s*k[0+E]+128>>8,p=s*k[4+E]+128>>8,d=k[2+E],v=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,m=k[3+E]<<4,_=k[5+E]<<4,w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+128>>8,d=d*a-v*o+128>>8,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+E]=h+y,k[7+E]=h-y,k[1+E]=p+_,k[6+E]=p-_,k[2+E]=d+m,k[5+E]=d-m,k[3+E]=v+g,k[4+E]=v-g):(w=s*k[0+E]+512>>10,k[0+E]=w,k[1+E]=w,k[2+E]=w,k[3+E]=w,k[4+E]=w,k[5+E]=w,k[6+E]=w,k[7+E]=w)}for(b=0;b<8;++b){var S=b;0!=k[8+S]||0!=k[16+S]||0!=k[24+S]||0!=k[32+S]||0!=k[40+S]||0!=k[48+S]||0!=k[56+S]?(h=s*k[0+S]+2048>>12,p=s*k[32+S]+2048>>12,d=k[16+S],v=k[48+S],g=u*(k[8+S]-k[56+S])+2048>>12,y=u*(k[8+S]+k[56+S])+2048>>12,m=k[24+S],_=k[40+S],w=h-p+1>>1,h=h+p+1>>1,p=w,w=d*o+v*a+2048>>12,d=d*a-v*o+2048>>12,v=w,w=g-_+1>>1,g=g+_+1>>1,_=w,w=y+m+1>>1,m=y-m+1>>1,y=w,w=h-v+1>>1,h=h+v+1>>1,v=w,w=p-d+1>>1,p=p+d+1>>1,d=w,w=g*i+y*r+2048>>12,g=g*r-y*i+2048>>12,y=w,w=m*n+_*e+2048>>12,m=m*e-_*n+2048>>12,_=w,k[0+S]=h+y,k[56+S]=h-y,k[8+S]=p+_,k[48+S]=p-_,k[16+S]=d+m,k[40+S]=d-m,k[24+S]=v+g,k[32+S]=v-g):(w=s*f[b+0]+8192>>14,k[0+S]=w,k[8+S]=w,k[16+S]=w,k[24+S]=w,k[32+S]=w,k[40+S]=w,k[48+S]=w,k[56+S]=w)}for(b=0;b<64;++b){var j=128+(k[b]+8>>4);c[b]=j<0?0:j>255?255:j}}for(var y=0;y255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var n=0;e.length;function r(){var t=e[n]<<8|e[n+1];return n+=2,t}function i(){var t=r(),i=e.subarray(n,n+t-2);return n+=i.length,i}function a(t){var e,n,r=0,i=0;for(n in t.components)t.components.hasOwnProperty(n)&&(r<(e=t.components[n]).h&&(r=e.h),i>4==0)for(_=0;_<64;_++){x[t[_]]=e[n++]}else{if(b>>4!=1)throw"DQT: invalid table spec";for(_=0;_<64;_++){x[t[_]]=r()}}p[15&b]=x}break;case 65472:case 65473:case 65474:r(),(o={}).extended=65473===m,o.progressive=65474===m,o.precision=e[n++],o.scanLines=r(),o.samplesPerLine=r(),o.components={},o.componentsOrder=[];var k,E=e[n++];for(U=0;U>4,j=15&e[n+1],T=e[n+2];o.componentsOrder.push(k),o.components[k]={h:S,v:j,quantizationTable:p[T]},n+=3}a(o),d.push(o);break;case 65476:var A=r();for(U=2;U>4==0?g:v)[15&C]=c(M,R)}break;case 65501:r(),s=r();break;case 65498:r();var L=e[n++],B=[];for(U=0;U>4],z.huffmanTableAC=v[15&F],B.push(z)}var P=e[n++],O=e[n++],D=e[n++],N=f(e,n,o,B,s,P,O,D>>4,15&D);n+=N;break;default:if(255==e[n-3]&&e[n-2]>=192&&e[n-2]<=254){n-=3;break}throw"unknown JPEG marker "+m.toString(16)}m=r()}if(1!=d.length)throw"only single frame JPEGs supported";this.width=o.samplesPerLine,this.height=o.scanLines,this.jfif=u,this.adobe=l,this.components=[];for(var U=0;U=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var r=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,r),r-=this.charReceived);var i;r=(e+=t.toString(this.encoding,0,r)).length-1;if((i=e.charCodeAt(r))>=55296&&i<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),t.copy(this.charBuffer,0,0,a),e.substring(0,r)}return e},a.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var n=t[t.length-e];if(1==e&&n>>5==6){this.charLength=2;break}if(e<=2&&n>>4==14){this.charLength=3;break}if(e<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=e},a.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;e+=r.slice(0,n).toString(i)}return e}},{buffer:5}],141:[function(t,e,n){(function(n){var r=t("stream");function i(t,e,i){t=t||function(t){this.queue(t)},e=e||function(){this.queue(null)};var a=!1,o=!1,s=[],u=!1,l=new r;function c(){for(;s.length&&!l.paused;){var t=s.shift();if(null===t)return l.emit("end");l.emit("data",t)}}return l.readable=l.writable=!0,l.paused=!1,l.autoDestroy=!(i&&!1===i.autoDestroy),l.write=function(e){return t.call(this,e),!l.paused},l.queue=l.push=function(t){return u?l:(null===t&&(u=!0),s.push(t),c(),l)},l.on("end",function(){l.readable=!1,!l.writable&&l.autoDestroy&&n.nextTick(function(){l.destroy()})}),l.end=function(t){if(!a)return a=!0,arguments.length&&l.write(t),l.writable=!1,e.call(l),!l.readable&&l.autoDestroy&&l.destroy(),l},l.destroy=function(){if(!o)return o=!0,a=!0,s.length=0,l.writable=l.readable=!1,l.emit("close"),l},l.pause=function(){if(!l.paused)return l.paused=!0,l},l.resume=function(){return l.paused&&(l.paused=!1,l.emit("resume")),c(),l.paused||l.emit("drain"),l},l}e.exports=i,i.through=i}).call(this,t("_process"))},{_process:117,stream:139}],142:[function(t,e,n){(function(e,r){var i=t("process/browser.js").nextTick,a=Function.prototype.apply,o=Array.prototype.slice,s={},u=0;function l(t,e){this._id=t,this._clearFn=e}n.setTimeout=function(){return new l(a.call(setTimeout,window,arguments),clearTimeout)},n.setInterval=function(){return new l(a.call(setInterval,window,arguments),clearInterval)},n.clearTimeout=n.clearInterval=function(t){t.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(window,this._id)},n.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},n.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},n._unrefActive=n.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=u++,r=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,i(function(){s[e]&&(r?t.apply(null,r):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof r?r:function(t){delete s[t]}}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":117,timers:142}],143:[function(t,e,n){n.isatty=function(){return!1},n.ReadStream=function(){throw new Error("tty.ReadStream is not implemented")},n.WriteStream=function(){throw new Error("tty.WriteStream is not implemented")}},{}],144:[function(t,e,n){(function(e,r){"use strict";var i=t("bit-twiddle"),a=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var u=s.DATA,l=s.BUFFER;function c(t){if(t){var e=t.length||t.byteLength,n=i.log2(e);u[n].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),n=u[e];return n.length>0?n.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function v(t){return new Int8Array(f(t),0,t)}function g(t){return new Int16Array(f(2*t),0,t)}function m(t){return new Int32Array(f(4*t),0,t)}function _(t){return new Float32Array(f(4*t),0,t)}function y(t){return new Float64Array(f(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function b(t){return new DataView(f(t),0,t)}function x(t){t=i.nextPow2(t);var e=i.log2(t),n=l[e];return n.length>0?n.pop():new r(t)}n.free=function(t){if(r.isBuffer(t))l[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,n=0|i.log2(e);u[n].push(t)}},n.freeUint8=n.freeUint16=n.freeUint32=n.freeInt8=n.freeInt16=n.freeInt32=n.freeFloat32=n.freeFloat=n.freeFloat64=n.freeDouble=n.freeUint8Clamped=n.freeDataView=function(t){c(t.buffer)},n.freeArrayBuffer=c,n.freeBuffer=function(t){l[i.log2(t.length)].push(t)},n.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return v(t);case"int16":return g(t);case"int32":return m(t);case"float":case"float32":return _(t);case"double":case"float64":return y(t);case"uint8_clamped":return w(t);case"buffer":return x(t);case"data":case"dataview":return b(t);default:return null}return null},n.mallocArrayBuffer=f,n.mallocUint8=h,n.mallocUint16=p,n.mallocUint32=d,n.mallocInt8=v,n.mallocInt16=g,n.mallocInt32=m,n.mallocFloat32=n.mallocFloat=_,n.mallocFloat64=n.mallocDouble=y,n.mallocUint8Clamped=w,n.mallocDataView=b,n.mallocBuffer=x,n.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,u[t].length=0,l[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":2,buffer:5,dup:21}],145:[function(t,e,n){(function(){var t=this,r=t._,i={},a=Array.prototype,o=Object.prototype,s=Function.prototype,u=a.push,l=a.slice,c=a.concat,f=o.toString,h=o.hasOwnProperty,p=a.forEach,d=a.map,v=a.reduce,g=a.reduceRight,m=a.filter,_=a.every,y=a.some,w=a.indexOf,b=a.lastIndexOf,x=Array.isArray,k=Object.keys,E=s.bind,S=function(t){return t instanceof S?t:this instanceof S?void(this._wrapped=t):new S(t)};void 0!==n?(void 0!==e&&e.exports&&(n=e.exports=S),n._=S):t._=S,S.VERSION="1.4.4";var j=S.each=S.forEach=function(t,e,n){if(null!=t)if(p&&t.forEach===p)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,a=t.length;r2;if(null==t&&(t=[]),v&&t.reduce===v)return r&&(e=S.bind(e,r)),i?t.reduce(e,n):t.reduce(e);if(j(t,function(t,a,o){i?n=e.call(r,n,t,a,o):(n=t,i=!0)}),!i)throw new TypeError(T);return n},S.reduceRight=S.foldr=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),g&&t.reduceRight===g)return r&&(e=S.bind(e,r)),i?t.reduceRight(e,n):t.reduceRight(e);var a=t.length;if(a!==+a){var o=S.keys(t);a=o.length}if(j(t,function(s,u,l){u=o?o[--a]:--a,i?n=e.call(r,n,t[u],u,l):(n=t[u],i=!0)}),!i)throw new TypeError(T);return n},S.find=S.detect=function(t,e,n){var r;return A(t,function(t,i,a){if(e.call(n,t,i,a))return r=t,!0}),r},S.filter=S.select=function(t,e,n){var r=[];return null==t?r:m&&t.filter===m?t.filter(e,n):(j(t,function(t,i,a){e.call(n,t,i,a)&&(r[r.length]=t)}),r)},S.reject=function(t,e,n){return S.filter(t,function(t,r,i){return!e.call(n,t,r,i)},n)},S.every=S.all=function(t,e,n){e||(e=S.identity);var r=!0;return null==t?r:_&&t.every===_?t.every(e,n):(j(t,function(t,a,o){if(!(r=r&&e.call(n,t,a,o)))return i}),!!r)};var A=S.some=S.any=function(t,e,n){e||(e=S.identity);var r=!1;return null==t?r:y&&t.some===y?t.some(e,n):(j(t,function(t,a,o){if(r||(r=e.call(n,t,a,o)))return i}),!!r)};S.contains=S.include=function(t,e){return null!=t&&(w&&t.indexOf===w?-1!=t.indexOf(e):A(t,function(t){return t===e}))},S.invoke=function(t,e){var n=l.call(arguments,2),r=S.isFunction(e);return S.map(t,function(t){return(r?e:t[e]).apply(t,n)})},S.pluck=function(t,e){return S.map(t,function(t){return t[e]})},S.where=function(t,e,n){return S.isEmpty(e)?n?null:[]:S[n?"find":"filter"](t,function(t){for(var n in e)if(e[n]!==t[n])return!1;return!0})},S.findWhere=function(t,e){return S.where(t,e,!0)},S.max=function(t,e,n){if(!e&&S.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);if(!e&&S.isEmpty(t))return-1/0;var r={computed:-1/0,value:-1/0};return j(t,function(t,i,a){var o=e?e.call(n,t,i,a):t;o>=r.computed&&(r={value:t,computed:o})}),r.value},S.min=function(t,e,n){if(!e&&S.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);if(!e&&S.isEmpty(t))return 1/0;var r={computed:1/0,value:1/0};return j(t,function(t,i,a){var o=e?e.call(n,t,i,a):t;or||void 0===n)return 1;if(n>>1;n.call(r,t[s])=0})})},S.difference=function(t){var e=c.apply(a,l.call(arguments,1));return S.filter(t,function(t){return!S.contains(e,t)})},S.zip=function(){for(var t=l.call(arguments),e=S.max(S.pluck(t,"length")),n=new Array(e),r=0;r=0;n--)e=[t[n].apply(this,e)];return e[0]}},S.after=function(t,e){return t<=0?e():function(){if(--t<1)return e.apply(this,arguments)}},S.keys=k||function(t){if(t!==Object(t))throw new TypeError("Invalid object");var e=[];for(var n in t)S.has(t,n)&&(e[e.length]=n);return e},S.values=function(t){var e=[];for(var n in t)S.has(t,n)&&e.push(t[n]);return e},S.pairs=function(t){var e=[];for(var n in t)S.has(t,n)&&e.push([n,t[n]]);return e},S.invert=function(t){var e={};for(var n in t)S.has(t,n)&&(e[t[n]]=n);return e},S.functions=S.methods=function(t){var e=[];for(var n in t)S.isFunction(t[n])&&e.push(n);return e.sort()},S.extend=function(t){return j(l.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t},S.pick=function(t){var e={},n=c.apply(a,l.call(arguments,1));return j(n,function(n){n in t&&(e[n]=t[n])}),e},S.omit=function(t){var e={},n=c.apply(a,l.call(arguments,1));for(var r in t)S.contains(n,r)||(e[r]=t[r]);return e},S.defaults=function(t){return j(l.call(arguments,1),function(e){if(e)for(var n in e)null==t[n]&&(t[n]=e[n])}),t},S.clone=function(t){return S.isObject(t)?S.isArray(t)?t.slice():S.extend({},t):t},S.tap=function(t,e){return e(t),t};var R=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof S&&(t=t._wrapped),e instanceof S&&(e=e._wrapped);var i=f.call(t);if(i!=f.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var a=n.length;a--;)if(n[a]==t)return r[a]==e;n.push(t),r.push(e);var o=0,s=!0;if("[object Array]"==i){if(s=(o=t.length)==e.length)for(;o--&&(s=R(t[o],e[o],n,r)););}else{var u=t.constructor,l=e.constructor;if(u!==l&&!(S.isFunction(u)&&u instanceof u&&S.isFunction(l)&&l instanceof l))return!1;for(var c in t)if(S.has(t,c)&&(o++,!(s=S.has(e,c)&&R(t[c],e[c],n,r))))break;if(s){for(c in e)if(S.has(e,c)&&!o--)break;s=!o}}return n.pop(),r.pop(),s};S.isEqual=function(t,e){return R(t,e,[],[])},S.isEmpty=function(t){if(null==t)return!0;if(S.isArray(t)||S.isString(t))return 0===t.length;for(var e in t)if(S.has(t,e))return!1;return!0},S.isElement=function(t){return!(!t||1!==t.nodeType)},S.isArray=x||function(t){return"[object Array]"==f.call(t)},S.isObject=function(t){return t===Object(t)},j(["Arguments","Function","String","Number","Date","RegExp"],function(t){S["is"+t]=function(e){return f.call(e)=="[object "+t+"]"}}),S.isArguments(arguments)||(S.isArguments=function(t){return!(!t||!S.has(t,"callee"))}),"function"!=typeof/./&&(S.isFunction=function(t){return"function"==typeof t}),S.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},S.isNaN=function(t){return S.isNumber(t)&&t!=+t},S.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"==f.call(t)},S.isNull=function(t){return null===t},S.isUndefined=function(t){return void 0===t},S.has=function(t,e){return h.call(t,e)},S.noConflict=function(){return t._=r,this},S.identity=function(t){return t},S.times=function(t,e,n){for(var r=Array(t),i=0;i":">",'"':""","'":"'","/":"/"}};L.unescape=S.invert(L.escape);var B={escape:new RegExp("["+S.keys(L.escape).join("")+"]","g"),unescape:new RegExp("("+S.keys(L.unescape).join("|")+")","g")};S.each(["escape","unescape"],function(t){S[t]=function(e){return null==e?"":(""+e).replace(B[t],function(e){return L[t][e]})}}),S.result=function(t,e){if(null==t)return null;var n=t[e];return S.isFunction(n)?n.call(t):n},S.mixin=function(t){j(S.functions(t),function(e){var n=S[e]=t[e];S.prototype[e]=function(){var t=[this._wrapped];return u.apply(t,arguments),N.call(this,n.apply(S,t))}})};var F=0;S.uniqueId=function(t){var e=++F+"";return t?t+e:e},S.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var P=/(.)^/,O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\t|\u2028|\u2029/g;S.template=function(t,e,n){var r;n=S.defaults({},n,S.templateSettings);var i=new RegExp([(n.escape||P).source,(n.interpolate||P).source,(n.evaluate||P).source].join("|")+"|$","g"),a=0,o="__p+='";t.replace(i,function(e,n,r,i,s){return o+=t.slice(a,s).replace(D,function(t){return"\\"+O[t]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(o+="';\n"+i+"\n__p+='"),a=s+e.length,e}),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(n.variable||"obj","_",o)}catch(t){throw t.source=o,t}if(e)return r(e,S);var s=function(t){return r.call(this,t,S)};return s.source="function("+(n.variable||"obj")+"){\n"+o+"}",s},S.chain=function(t){return S(t).chain()};var N=function(t){return this._chain?S(t).chain():t};S.mixin(S),j(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=a[t];S.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],N.call(this,n)}}),j(["concat","join","slice"],function(t){var e=a[t];S.prototype[t]=function(){return N.call(this,e.apply(this._wrapped,arguments))}}),S.extend(S.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}],146:[function(t,e,n){"use strict";e.exports=function(t,e,n){return 0===t.length?t:e?(n||t.sort(e),function(t,e){for(var n=1,r=t.length,i=t[0],a=t[0],o=1;o=o?u+1:o}r.mkdir(e+"sequencer"+o,function(){var a=e+"sequencer"+o+"/";for(var s in n.images){var u=n.images[s].steps;if(i){var l=u.slice(-1)[0].output.src,c=u.slice(-1)[0].output.format,f=t("data-uri-to-buffer")(l);r.writeFile(a+s+"_"+(u.length-1)+"."+c,f,function(){})}else for(var h in u){l=u[h].output.src,c=u[h].output.format,f=t("data-uri-to-buffer")(l);r.writeFile(a+s+"_"+h+"."+c,f,function(){})}}})},r.readdir(c,function(t,e){var n=[];if(void 0===e||0==e.length)return f(n),[];for(var i=0;i0&&(thisStep=c[t].steps[e],thisStep.UI.onRemove(thisStep.options.step),c[t].steps.splice(e,1))}function v(){var e=[],n=this;for(var r in arguments)e.push(a(arguments[r]));var i=l.call(this,e,"l");f.push({method:"loadImages",json_q:a(i)});var o=this.copy(i.loadedimages),s={name:"ImageSequencer Wrapper",sequencer:this,addSteps:this.addSteps,removeSteps:this.removeSteps,insertSteps:this.insertSteps,run:this.run,UI:this.UI,setUI:this.setUI,images:o};!function e(r){if(r!=o.length){var a=o[r];t("./ui/LoadImage")(n,a,i.images[a],function(){e(++r)})}else i.callback.call(s)}(0)}function g(t){var e={};if("load-image"==t)return{};if(0==arguments.length){for(var n in this.modules)e[n]=s[n][1];for(var r in this.sequences)e[r]={name:r,steps:u[r]}}else e=s[t]?s[t][1]:{inputs:u[t].options};return e}function m(t){let e=g(t.options.name).inputs||{},n={};for(let r in e)t.options[r]&&t.options[r]!=e[r].default&&(n[r]=t.options[r],n[r]=encodeURIComponent(n[r]));var r=Object.keys(n).map(t=>t+":"+n[t]).join("|");return`${t.options.name}{${r}}`}function _(t){let e;return(e=t.includes(",")?t.split(","):[t]).map(y)}function y(t){var e;if(e=t.includes("{")?t.includes("(")&&t.indexOf("(")=e.images[u].steps.length?{options:{name:void 0}}:e.images[u].steps.slice(f+t)[0]},e.images[u].steps[f].getIndex=function(){return f},r)r.hasOwnProperty(p)&&(e.images[u].steps[f][p]=r[p]);e.images[u].steps[f].UI.onDraw(e.images[u].steps[f].options.step);var d=t("./RunToolkit")(e.copy(h));e.images[u].steps[f].draw(d,function(){e.images[u].steps[f].options.step.output=e.images[u].steps[f].output.src,e.images[u].steps[f].UI.onComplete(e.images[u].steps[f].options.step),n(a,++s)},o)}}(s,a)}(n=function(t){for(var n in t)0==t[n]&&1==e.images[n].steps.length?delete t[n]:0==t[n]&&t[n]++;for(var n in t)for(var r=e.images[n].steps[t[n]-1];void 0===r||void 0===r.output;)r=e.images[n].steps[--t[n]-1];return t}(n))}},{"./RunToolkit":159,"./util/getStep.js":247}],159:[function(t,e,n){const r=t("get-pixels"),i=t("./modules/_nomodule/PixelManipulation"),a=t("lodash"),o=t("data-uri-to-buffer"),s=t("save-pixels");e.exports=function(t){return t.getPixels=r,t.pixelManipulation=i,t.lodash=a,t.dataUriToBuffer=o,t.savePixels=s,t}},{"./modules/_nomodule/PixelManipulation":242,"data-uri-to-buffer":20,"get-pixels":30,lodash:75,"save-pixels":138}],160:[function(t,e,n){e.exports={sample:[{name:"invert",options:{}},{name:"channel",options:{channel:"red"}},{name:"blur",options:{blur:"5"}}]}},{}],161:[function(t,e,n){e.exports=function(e,n){return e.blur=e.blur||2,e.step.metadata=e.step.metadata||{},{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[t,e,n,r]},extraManipulation:function(t){for(var n=[0,0,0,0],r=0;rAverages (r, g, b, a): "+n.join(", ")+"

"),t},format:n.format,image:e.image,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242}],162:[function(t,e,n){e.exports=[t("./Module"),t("./info.json")]},{"./Module":161,"./info.json":163}],163:[function(t,e,n){e.exports={name:"Average",description:"Average all pixel color",inputs:{}}},{}],164:[function(require,module,exports){module.exports=function Dynamic(options,UI,util){var output;function draw(input,callback,progressObj){progressObj.stop(!0),progressObj.overrideFlag=!0;var step=this;"string"==typeof options.func&&eval("options.func = "+options.func);var getPixels=require("get-pixels");"string"==typeof options.offset&&(options.offset=parseInt(options.offset));var priorStep=this.getStep(options.offset);getPixels(priorStep.output.src,function(t,e){return options.firstImagePixels=e,require("../_nomodule/PixelManipulation.js")(input,{output:function(t,e,n){step.output={src:e,format:n}},changePixel:function(t,e,n,r,i,a){var o=options.firstImagePixels;return options.func(t,e,n,r,o.get(i,a,0),o.get(i,a,1),o.get(i,a,2),o.get(i,a,3))},format:input.format,image:options.image,inBrowser:options.inBrowser,callback:callback})})}return options.func=options.func||"function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }",options.offset=options.offset||-2,{options:options,draw:draw,output:output,UI:UI}}},{"../_nomodule/PixelManipulation.js":242,"get-pixels":30}],165:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":164,"./info.json":166,dup:162}],166:[function(t,e,n){e.exports={name:"Blend",description:"Blend two chosen image steps with the given function. Defaults to using the red channel from image 1 and the green and blue and alpha channels of image 2. Easier to use interfaces coming soon!",inputs:{offset:{type:"integer",desc:"Choose which image to blend the current image with. Two steps back is -2, three steps back is -3 etc.",default:-2},blend:{type:"input",desc:"Function to use to blend the two images.",default:"function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }"}}}},{}],167:[function(t,e,n){e.exports=function(t,e){let n=[[2/159,4/159,5/159,4/159,2/159],[4/159,9/159,12/159,9/159,4/159],[5/159,12/159,15/159,12/159,5/159],[4/159,9/159,12/159,9/159,4/159],[2/159,4/159,5/159,4/159,2/159]],r=t;n=function(t){let e=[];for(let n=t.length-1;n>=0;n--){let r=[];for(let e=t[n].length-1;e>=0;e--)r.push(t[n][e]);e.push(r)}return e}(n);for(let e=0;ev;n=0<=v?++c:--c)r[n]=(e-i)/(a-i)*(u[n]-s[n])+s[n];return r}}e.exports=function(t,e){return e.colormap=e.colormap||i.default,"object"==typeof e.colormap?colormapFunction=r(e.colormap):i.hasOwnProperty(e.colormap)?colormapFunction=i[e.colormap]:colormapFunction=i.default,colormapFunction(t/255)};var i={greyscale:r([[0,[0,0,0],[220,20,60]],[1,[255,255,255],[255,255,255]]]),bluwhtgrngis:r([[0,[6,23,86],[6,25,84]],[.0625,[6,25,84],[6,25,84]],[.125,[6,25,84],[6,25,84]],[.1875,[6,25,84],[6,25,84]],[.25,[6,25,84],[6,25,84]],[.3125,[6,25,84],[9,24,84]],[.3438,[9,24,84],[119,120,162]],[.375,[119,129,162],[249,250,251]],[.406,[249,250,251],[255,255,255]],[.4375,[255,255,255],[255,255,255]],[.5,[255,255,255],[214,205,191]],[.52,[214,205,191],[178,175,96]],[.5625,[178,175,96],[151,176,53]],[.593,[151,176,53],[146,188,12]],[.625,[146,188,12],[96,161,1]],[.6875,[96,161,1],[30,127,3]],[.75,[30,127,3],[0,99,1]],[.8125,[0,99,1],[0,74,1]],[.875,[0,74,1],[0,52,0]],[.9375,[0,52,0],[0,34,0]],[.968,[0,34,0],[68,70,67]]]),brntogrn:r([[0,[110,12,3],[118,6,1]],[.0625,[118,6,1],[141,19,6]],[.125,[141,19,6],[165,35,13]],[.1875,[165,35,13],[177,59,25]],[.2188,[177,59,25],[192,91,36]],[.25,[192,91,36],[214,145,76]],[.3125,[214,145,76],[230,183,134]],[.375,[230,183,134],[243,224,194]],[.4375,[243,224,194],[250,252,229]],[.5,[250,252,229],[217,235,185]],[.5625,[217,235,185],[184,218,143]],[.625,[184,218,143],[141,202,89]],[.6875,[141,202,89],[80,176,61]],[.75,[80,176,61],[0,147,32]],[.8125,[0,147,32],[1,122,22]],[.875,[1,122,22],[0,114,19]],[.9,[0,114,19],[0,105,18]],[.9375,[0,105,18],[7,70,14]]]),blutoredjet:r([[0,[0,0,140],[1,1,186]],[.0625,[1,1,186],[0,1,248]],[.125,[0,1,248],[0,70,254]],[.1875,[0,70,254],[0,130,255]],[.25,[0,130,255],[2,160,255]],[.2813,[2,160,255],[0,187,255]],[.3125,[0,187,255],[6,250,255]],[.375,[8,252,251],[27,254,228]],[.406,[27,254,228],[70,255,187]],[.4375,[70,255,187],[104,254,151]],[.47,[104,254,151],[132,255,19]],[.5,[132,255,19],[195,255,60]],[.5625,[195,255,60],[231,254,25]],[.5976,[231,254,25],[253,246,1]],[.625,[253,246,1],[252,210,1]],[.657,[252,210,1],[255,183,0]],[.6875,[255,183,0],[255,125,2]],[.75,[255,125,2],[255,65,1]],[.8125,[255,65,1],[247,1,1]],[.875,[247,1,1],[200,1,3]],[.9375,[200,1,3],[122,3,2]]]),colors16:r([[0,[0,0,0],[0,0,0]],[.0625,[3,1,172],[3,1,172]],[.125,[3,1,222],[3,1,222]],[.1875,[0,111,255],[0,111,255]],[.25,[3,172,255],[3,172,255]],[.3125,[1,226,255],[1,226,255]],[.375,[2,255,0],[2,255,0]],[.4375,[198,254,0],[190,254,0]],[.5,[252,255,0],[252,255,0]],[.5625,[255,223,3],[255,223,3]],[.625,[255,143,3],[255,143,3]],[.6875,[255,95,3],[255,95,3]],[.75,[242,0,1],[242,0,1]],[.8125,[245,0,170],[245,0,170]],[.875,[223,180,225],[223,180,225]],[.9375,[255,255,255],[255,255,255]]]),default:r([[0,[45,1,121],[25,1,137]],[.125,[25,1,137],[0,6,156]],[.1875,[0,6,156],[7,41,172]],[.25,[7,41,172],[22,84,187]],[.3125,[22,84,187],[25,125,194]],[.375,[25,125,194],[26,177,197]],[.4375,[26,177,197],[23,199,193]],[.47,[23,199,193],[25,200,170]],[.5,[25,200,170],[21,209,27]],[.5625,[21,209,27],[108,215,18]],[.625,[108,215,18],[166,218,19]],[.6875,[166,218,19],[206,221,20]],[.75,[206,221,20],[222,213,19]],[.7813,[222,213,19],[222,191,19]],[.8125,[222,191,19],[227,133,17]],[.875,[227,133,17],[231,83,16]],[.9375,[231,83,16],[220,61,48]]]),fastie:r([[0,[255,255,255],[0,0,0]],[.167,[0,0,0],[255,255,255]],[.33,[2,0,226],[2,0,226]],[.5,[0,0,0],[140,140,255]],[.55,[140,140,255],[0,255,0]],[.63,[0,255,0],[255,255,0]],[.75,[255,255,0],[255,0,0]],[.95,[255,0,0],[255,0,255]]]),stretched:r([[0,[0,0,255],[0,0,255]],[.1,[0,0,255],[38,195,195]],[.5,[0,150,0],[255,255,0]],[.7,[255,255,0],[255,50,50]],[.9,[255,50,50],[255,50,50]]])}},{}],181:[function(t,e,n){e.exports=function(e,n){return{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(n,r,i,a){var o=(n+r+i)/3,s=t("./Colormap")(o,e);return[s[0],s[1],s[2],255]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Colormap":180}],182:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":181,"./info.json":183,dup:162}],183:[function(t,e,n){e.exports={name:"Colormap",description:"Maps brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients.\n\nFor example, 'cooler' colors like blue could represent low values, while 'hot' colors like red could represent high values.",inputs:{colormap:{type:"select",desc:"Name of the Colormap",default:"default",values:["default","greyscale","stretched","fastie","brntogrn","blutoredjet","colors16"]}}}},{}],184:[function(t,e,n){var r=t("lodash");e.exports=function(t,e){let n=r.cloneDeep(t);(e=Number(e))<-100&&(e=-100),e>100&&(e=100),e=(100+e)/100,e*=e;for(let r=0;r255&&(i=255);var a=n.get(r,s,1)/255;a-=.5,a*=e,a+=.5,(a*=255)<0&&(a=0),a>255&&(a=255);var o=n.get(r,s,2)/255;o-=.5,o*=e,o+=.5,(o*=255)<0&&(o=0),o>255&&(o=255),t.set(r,s,0,i),t.set(r,s,1,a),t.set(r,s,2,o)}return t}},{lodash:75}],185:[function(t,e,n){e.exports=function(e,n){return e.contrast=e.contrast||70,{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[t,e,n,r]},extraManipulation:function(n){return n=t("./Contrast")(n,e.contrast)},format:n.format,image:e.image,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Contrast":184}],186:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":185,"./info.json":187,dup:162}],187:[function(t,e,n){e.exports={name:"Contrast",description:"Change the contrast of the image by given value",inputs:{contrast:{type:"Number",desc:"contrast for the new image, typically -100 to 100",default:70}}}},{}],188:[function(t,e,n){var r=t("lodash");e.exports=function(t,e,n){let a=function(t,e){for(e=e.split(" "),i=0;i<9;i++)e[i]=Number(e[i])*t;let n=0,r=[];for(i=0;i<3;i++){let t=[];for(j=0;j<3;j++)t.push(e[n]),n+=1;r.push(t)}return r}(e,n),o=r.cloneDeep(t);a=function(t){let e=[];for(let n=t.length-1;n>=0;n--){let r=[];for(let e=t[n].length-1;e>=0;e--)r.push(t[n][e]);e.push(r)}return e}(a);for(let e=0;eRead more",inputs:{constantFactor:{type:"Float",desc:"a constant factor, multiplies all the kernel values by that factor",default:.1111,placeholder:.1111},kernelValues:{type:"String",desc:"nine space separated numbers representing the kernel values in left to right and top to bottom format.",default:"1 1 1 1 1 1 1 1 1",placeholder:"1 1 1 1 1 1 1 1 1"}}}},{}],192:[function(t,e,n){(function(n){e.exports=function(e,r,i){var a=t("get-pixels"),o=t("save-pixels");r.x=parseInt(r.x)||0,r.y=parseInt(r.y)||0,a(e.src,function(t,a){r.w=parseInt(r.w)||Math.floor(a.shape[0]),r.h=parseInt(r.h)||Math.floor(a.shape[1]);for(var s=r.x,u=r.y,l=r.w,c=r.h,f=a.shape[0],h=new Uint8Array(4*l*c),p=u;pInfragrammar.",inputs:{red:{type:"input",desc:"Expression to return for red channel with R, G, B, and A inputs",default:"r"},green:{type:"input",desc:"Expression to return for green channel with R, G, B, and A inputs",default:"g"},blue:{type:"input",desc:"Expression to return for blue channel with R, G, B, and A inputs",default:"b"},"monochrome (fallback)":{type:"input",desc:"Expression to return with R, G, B, and A inputs; fallback for other channels if none provided",default:"r + g + b"}}}},{}],203:[function(t,e,n){t("lodash");const r=[[-1,0,1],[-2,0,2],[-1,0,1]],i=[[-1,-2,-1],[0,0,0],[1,2,1]];function a(t,e,n,a,o){let s=0;for(let e=0;e<3;e++)for(let n=0;n<3;n++){let i=a+e-1,u=o+n-1;s+=t.get(i,u,0)*r[e][n]}let u=0;for(let e=0;e<3;e++)for(let n=0;n<3;n++){let r=a+e-1,s=o+n-1;u+=t.get(r,s,0)*i[e][n]}return{pixel:[e,e,e,Math.sqrt(Math.pow(s,2)+Math.pow(u,2))],angle:Math.atan2(u,s)}}e.exports=function(t,e,n,r){let i=[],u=[];for(var l=0;lt.map(o));for(let r=1;r=-22.5&&a<=22.5||a<-157.5&&a>=-180?e[r][i]>=e[r][i+1]&&e[r][i]>=e[r][i-1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):a>=22.5&&a<=67.5||a<-112.5&&a>=-157.5?e[r][i]>=e[r+1][i+1]&&e[r][i]>=e[r-1][i-1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):a>=67.5&&a<=112.5||a<-67.5&&a>=-112.5?e[r][r]>=e[r+1][i]&&e[r][i]>=e[r][i]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0):(a>=112.5&&a<=157.5||a<-22.5&&a>=-67.5)&&(e[r][i]>=e[r+1][i-1]&&e[r][i]>=e[r-1][i+1]?t.set(r,i,3,e[r][i]):t.set(r,i,3,0))}}(t,u,i),function(t,e,n,r,i,a){const o=s(r)*e,u=o*n;for(let e=0;eu?r[e][n]>o?i.push(s):a.push(s):t.set(e,n,3,0)}i.forEach(e=>t.set(e[0],e[1],3,255))}(t,e,n,u,[],[]),t};var o=t=>180*t/Math.PI,s=t=>Math.max(...t.map(t=>t.map(t=>t||0)).map(t=>Math.max(...t)))},{lodash:75}],204:[function(t,e,n){e.exports=function(e,n){return e.blur=e.blur||2,e.highThresholdRatio=e.highThresholdRatio||.2,e.lowThresholdRatio=e.lowThresholdRatio||.15,{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,e,n,r){return[(t+e+n)/3,(t+e+n)/3,(t+e+n)/3,r]},extraManipulation:function(n){return n=t("ndarray-gaussian-filter")(n,e.blur),n=t("./EdgeUtils")(n,e.highThresholdRatio,e.lowThresholdRatio,e.inBrowser)},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./EdgeUtils":203,"ndarray-gaussian-filter":80}],205:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":204,"./info.json":206,dup:162}],206:[function(t,e,n){e.exports={name:"Detect Edges",description:"this module detects edges using the Canny method, which first Gaussian blurs the image to reduce noise (amount of blur configurable in settings as `options.blur`), then applies a number of steps to highlight edges, resulting in a greyscale image where the brighter the pixel, the stronger the detected edge. Read more. ",inputs:{blur:{type:"integer",desc:"amount of gaussian blur(Less blur gives more detail, typically 0-5)",default:2},highThresholdRatio:{type:"float",desc:"The high threshold ratio for the image",default:.2},lowThresholdRatio:{type:"float",desc:"The low threshold value for the image",default:.15}}}},{}],207:[function(t,e,n){e.exports=function(e,n){return t("fisheyegl"),{options:e,draw:function(t,n){var r=this;if(e.inBrowser){if(document.querySelector("#image-sequencer-canvas"))var i=document.querySelector("#image-sequencer-canvas");else(i=document.createElement("canvas")).style.display="none",i.setAttribute("id","image-sequencer-canvas"),document.body.append(i);distorter=FisheyeGl({selector:"#image-sequencer-canvas"}),e.a=parseFloat(e.a)||distorter.lens.a,e.b=parseFloat(e.b)||distorter.lens.b,e.Fx=parseFloat(e.Fx)||distorter.lens.Fx,e.Fy=parseFloat(e.Fy)||distorter.lens.Fy,e.scale=parseFloat(e.scale)||distorter.lens.scale,e.x=parseFloat(e.x)||distorter.fov.x,e.y=parseFloat(e.y)||distorter.fov.y,distorter.lens.a=e.a,distorter.lens.b=e.b,distorter.lens.Fx=e.Fx,distorter.lens.Fy=e.Fy,distorter.lens.scale=e.scale,distorter.fov.x=e.x,distorter.fov.y=e.y,distorter.setImage(t.src,function(){r.output={src:i.toDataURL(),format:t.format},n()})}else this.output=t,n()},output:void 0,UI:n}}},{fisheyegl:22}],208:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":207,"./info.json":209,dup:162}],209:[function(t,e,n){e.exports={name:"Fisheye GL",description:"Correct fisheye, or barrel distortion, in images (with WebGL -- adapted from fisheye-correction-webgl by @bluemir).",requires:["webgl"],inputs:{a:{type:"float",desc:"a parameter",default:1,min:1,max:4},b:{type:"float",desc:"b parameter",default:1,min:1,max:4},Fx:{type:"float",desc:"Fx parameter",default:0,min:0,max:4},Fy:{type:"float",desc:"Fy parameter",default:0,min:0,max:4},scale:{type:"float",desc:"Image Scaling",default:1.5,min:0,max:20},x:{type:"float",desc:"FOV x parameter",default:1.5,min:0,max:20},y:{type:"float",desc:"FOV y parameter",default:1.5,min:0,max:20},fragmentSrc:{type:"PATH",desc:"Path to a WebGL fragment shader file",default:"(inbuilt)"},vertexSrc:{type:"PATH",desc:"Path to a WebGL vertex shader file",default:"(inbuilt)"}}}},{}],210:[function(t,e,n){e.exports=function(e,n){return{options:e,draw:function(n,r,i){i.stop(!0),i.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,n,r,i){var a=e.adjustment||.2;return[t=255*Math.pow(t/255,a),n=255*Math.pow(n/255,a),r=255*Math.pow(r/255,a),i]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:r})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242}],211:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":210,"./info.json":212,dup:162}],212:[function(t,e,n){e.exports={name:"Gamma Correction",description:"Apply gamma correction on the image Read more",inputs:{adjustment:{type:"float",desc:"gamma correction (inverse of actual gamma factor) for the new image",default:.2}}}},{}],213:[function(t,e,n){(function(n){e.exports=function(e,r){return{options:e,draw:function(e,r,i){var a=t("get-pixels"),o=t("save-pixels"),s=this;a(e.src,function(t,i){if(t)console.log("Bad Image path");else{for(var a=0,u=0;u

Select or drag in an image to overlay.

';$(t.ui).find(".details").prepend(i),sequencer.setInputStep({dropZoneSelector:"#"+r,fileInputSelector:"#"+r+" .file-input",onLoad:function(e){var n=e.target;t.options.imageUrl=n.result,t.options.url=n.result,sequencer.run(),setUrlHashParameter("steps",sequencer.toString())}}),$(t.ui).find(".btn-save").on("click",function(){var e=$(t.ui).find(".det input").val();t.options.imageUrl=e,sequencer.run()})}}}},{}],221:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":219,"./info.json":222,dup:162}],222:[function(t,e,n){e.exports={name:"Import Image",description:"Import a new image and replace the original with it. Future versions may enable a blend mode. Specify an image by URL or by file selector.",url:"https://github.com/publiclab/image-sequencer/tree/master/MODULES.md",inputs:{url:{type:"string",desc:"URL of image to import",default:"./images/monarch.png"}}}},{}],223:[function(t,e,n){e.exports=function(){return this.expandSteps([{name:"ndvi",options:{}},{name:"colormap",options:{}}]),{isMeta:!0}}},{}],224:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":223,"./info.json":225,dup:162}],225:[function(t,e,n){e.exports={name:"NDVI-Colormap",description:"Sequentially Applies NDVI and Colormap steps",inputs:{},length:2}},{}],226:[function(t,e,n){e.exports=function(e,n){if(e.step.inBrowser)var r=t("./Ui.js")(e.step,n);return e.filter=e.filter||"red",{options:e,draw:function(n,i,a){a.stop(!0),a.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(n,{output:function(t,e,n){o.output={src:e,format:n}},changePixel:function(t,n,r,i){if("red"==e.filter)var a=(r-t)/(1*r+t);"blue"==e.filter&&(a=(t-r)/(1*r+t));var o=255*(a+1)/2;return[o,o,o,i]},format:n.format,image:e.image,inBrowser:e.inBrowser,callback:function(){e.step.inBrowser&&r.setup(),i()}})},output:void 0,UI:n}}},{"../_nomodule/PixelManipulation.js":242,"./Ui.js":227}],227:[function(t,e,n){e.exports=function(t,e){return{setup:function(){var e=$(t.imgElement);e.mousemove(function(t){var n=document.createElement("canvas");n.width=e.width(),n.height=e.height(),n.getContext("2d").drawImage(this,0,0);var r=$(this).offset(),i=t.pageX-r.left,a=t.pageY-r.top,o=n.getContext("2d").getImageData(i,a,1,1).data[0];o=(o=o/127.5-1).toFixed(2),e[0].title="NDVI: "+o})}}}},{}],228:[function(t,e,n){arguments[4][162][0].apply(n,arguments)},{"./Module":226,"./info.json":229,dup:162}],229:[function(t,e,n){e.exports={name:"NDVI",description:"Normalized Difference Vegetation Index, or NDVI, is an image analysis technique used with aerial photography. It's a way to visualize the amounts of infrared and other wavelengths of light reflected from vegetation by comparing ratios of blue and red light absorbed versus green and IR light reflected. NDVI is used to evaluate the health of vegetation in satellite imagery, where it correlates with how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. Read more.

This is designed for use with red-filtered single camera DIY Infragram cameras; change to 'blue' for blue filters",inputs:{filter:{type:"select",desc:"Filter color",default:"red",values:["red","blue"]}}}},{}],230:[function(t,e,n){e.exports=function(e,n,r){return e.x=e.x||0,e.y=e.y||0,{options:e,draw:function(n,r,i){e.offset=e.offset||-2,i.stop(!0),i.overrideFlag=!0;var a=this,o=this.getStep(e.offset).image,s=this.getOutput(e.offset);t("get-pixels")(n.src,function(n,i){return e.secondImagePixels=i,t("../_nomodule/PixelManipulation.js")(s,{output:function(t,e,n){a.output={src:e,format:n}},changePixel:function(t,n,r,i,a,o){var s=e.secondImagePixels;return a>=e.x&&a=e.y&&o
To work with a new or different image, drag one into the drop zone.",ID:e.options.sequencerCounter++,imageName:t,inBrowser:e.options.inBrowser,ui:e.options.ui},o={src:n,steps:[{options:{id:r.ID,name:"load-image",description:"This initial step loads and displays the original image without any modifications.",title:"Load Image",step:r},UI:e.events,draw:function(){return UI.onDraw(options.step),1==arguments.length?(this.output=a(arguments[0]),options.step.output=this.output,UI.onComplete(options.step),!0):2==arguments.length&&(this.output=a(arguments[0]),options.step.output=this.output,arguments[1](),UI.onComplete(options.step),!0)}}]};a(n,function(n){var r=function(t){return{src:t,format:t.split(":")[1].split(";")[0].split("/")[1]}}(n);e.images[t]=o;var a=e.images[t].steps[0];return a.output=r,a.options.step.output=a.output.src,a.UI.onSetup(a.options.step),a.UI.onDraw(a.options.step),a.UI.onComplete(a.options.step),i(),!0})}(n,r)}},{urify:147}],244:[function(t,e,n){e.exports=function(){return function(t){var e=$(t.dropZoneSelector),n=$(t.fileInputSelector),r=t.onLoad;function i(t){if(t.preventDefault(),t.stopPropagation(),t.target&&t.target.files)var e=t.target.files[0];else e=t.dataTransfer.files[0];if(e){var n=new FileReader;n.onload=r,n.readAsDataURL(e)}}new FileReader,n.on("change",i),e[0].addEventListener("drop",i,!1),e.on("dragover",function(t){t.stopPropagation(),t.preventDefault(),t.dataTransfer.dropEffect="copy"},!1),e.on("dragenter",function(t){e.addClass("hover")}),e.on("dragleave",function(t){e.removeClass("hover")})}}},{}],245:[function(t,e,n){e.exports=function(t={}){return t.onSetup=t.onSetup||function(t){0==t.ui||(t.inBrowser?console.log('Added Step "'+t.name+'" to "'+t.imageName+'".'):console.log("%s",'Added Step "'+t.name+'" to "'+t.imageName+'".'))},t.onDraw=t.onDraw||function(t){0==t.ui||(t.inBrowser?console.log('Drawing Step "'+t.name+'" on "'+t.imageName+'".'):console.log("%s",'Drawing Step "'+t.name+'" on "'+t.imageName+'".'))},t.onComplete=t.onComplete||function(t){0==t.ui||(t.inBrowser?console.log('Drawn Step "'+t.name+'" on "'+t.imageName+'".'):console.log("%s",'Drawn Step "'+t.name+'" on "'+t.imageName+'".'))},t.onRemove=t.onRemove||function(t){0==t.ui||(t.inBrowser?console.log('Removing Step "'+t.name+'" of "'+t.imageName+'".'):console.log("%s",'Removing Step "'+t.name+'" of "'+t.imageName+'".'))},t}},{}],246:[function(t,e,n){e.exports=function(t){var e=void 0;return"jpeg"===(e=(e=function(t){return"data:image"===t.substr(0,10)}(t)?t.split(";")[0].split("/").pop():t.split(".").pop()).toLowerCase())&&(e="jpg"),["jpg","jpeg","png","gif","canvas"].includes(e)?e:"jpg"}},{}],247:[function(t,e,n){e.exports={getPreviousStep:function(){return this.getStep(-1)},getNextStep:function(){return this.getStep(1)},getInput:function(t){return t+this.getIndex()===0&&t++,this.getStep(t-1).output},getOutput:function(t){return this.getStep(t).output},getOptions:function(){return this.getStep(0).options},setOptions:function(t){let e=this.getStep(0).options;for(let n in t)e[n]&&(e[n]=t[n])},getFormat:function(){return this.getStep(-1).output.format},getHeight:function(t){let e=new Image;e.onload=function(){t(e.height)},e.src=this.getInput(0).src},getWidth:function(t){let e=new Image;e.onload=function(){t(e.width)},e.src=this.getInput(0).src}}},{}]},{},[154]); \ No newline at end of file diff --git a/examples/demo.css b/examples/demo.css index dfd8ed19..f358c431 100644 --- a/examples/demo.css +++ b/examples/demo.css @@ -175,25 +175,27 @@ h1 { } .btn-circle{ - width: 80px; - height: 80px; + min-width: 80px; + min-height: 80px; text-align: center; + display: flex !important; + flex-direction: column; padding: 6px 0; font-size: 12px; line-height: 1.42; - border-radius: 40px; + border-radius: 10px; margin-left: 5px; margin-right: 5px; } -.radio button{ +.radio{ cursor:pointer; + overflow: hidden; + height: 80px; + width: 80px; + margin-left: 5px; + margin-right: 5px; } -.radio.selected button{ - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; - outline: none; -} + .radio-group { margin-bottom: 20px; } @@ -211,3 +213,19 @@ h1 { text-align:center; display:none; } + +.no-border { + border: 0px; +} + +.i-over { + position: absolute; + left: 15px; + top: 15px; + z-index: 2; + color: white; +} + +.i-small { + left: 25px; +} diff --git a/examples/demo.js b/examples/demo.js index 4a859734..ccf0ecc9 100644 --- a/examples/demo.js +++ b/examples/demo.js @@ -1,4 +1,35 @@ window.onload = function() { + function generatePreview(previewStepName, customValues, path) { + var previewSequencer = ImageSequencer(); + + function insertPreview(src) { + var img = document.createElement('img'); + img.classList.add('img-thumbnail') + img.classList.add('no-border'); + img.src = src; + $(img).css("max-width", "200%"); + $(img).css("transform", "translateX(-20%)"); + var stepDiv = $('#addStep .row').find('div').each(function() { + if($(this).find('div').attr('data-value') === previewStepName) { + $(this).find('div').append(img); + } + }); + } + function loadPreview() { + previewSequencer = previewSequencer.addSteps('resize', {resize:"40%"}); + + if(previewStepName === "crop") { + console.log(customValues); + previewSequencer.addSteps(previewStepName, customValues).run(insertPreview); + } + else { + previewSequencer.addSteps(previewStepName, {[previewStepName]: customValues}).run(insertPreview); + } + } + previewSequencer.loadImage(path, loadPreview); + } + + sequencer = ImageSequencer(); function refreshOptions() { @@ -144,6 +175,7 @@ window.onload = function() { step.output.src = reader.result; sequencer.run({ index: 0 }); step.options.step.imgElement.src = reader.result; + updatePreviews(reader.result); } }); @@ -182,4 +214,32 @@ window.onload = function() { } location.reload(); }); + + function updatePreviews(src) { + $('#addStep img').remove(); + + var previewSequencerSteps = { + "brightness": "20", + "saturation": "5", + "rotate": 90, + "contrast": 90, + "crop": { + "x": 0, + "y": 0, + "w": "(50%)", + "h": "(50%)", + "noUI": true + } + } + + Object.keys(previewSequencerSteps).forEach(function(step, index) { + generatePreview(step, Object.values(previewSequencerSteps)[index], src); + }); + } + + if (getUrlHashParameter('src')) { + updatePreviews(getUrlHashParameter('src')); + } else { + updatePreviews("images/tulips.png"); + } }; diff --git a/examples/index.html b/examples/index.html index c69fa962..5c5c160e 100644 --- a/examples/index.html +++ b/examples/index.html @@ -70,7 +70,9 @@ -
+
+
+

@@ -81,33 +83,33 @@

Select a new module to add to your sequence.

- +
+ +

Brightness

- +
+ +

Contrast

- +
+ +

Saturation

- +
+ +

Rotate

- +
+ +

Crop

@@ -164,7 +166,7 @@
- + diff --git a/examples/lib/defaultHtmlStepUi.js b/examples/lib/defaultHtmlStepUi.js index 2ed0935f..c4b55e97 100644 --- a/examples/lib/defaultHtmlStepUi.js +++ b/examples/lib/defaultHtmlStepUi.js @@ -139,7 +139,7 @@ function DefaultHtmlStepUi(_sequencer, options) { $(step.ui.querySelectorAll(".target")).on('change',toggleSaveButton); $(step.ui.querySelector("div.details")).append( - "

Press save to see changes

" + "

Press apply to see changes

" ); function focusInput(){ @@ -166,9 +166,8 @@ function DefaultHtmlStepUi(_sequencer, options) { $(step.ui.querySelector("div.details .input-form")).on('submit', saveOptions); } - if (step.name != "load-image") - { - step.ui + if (step.name != "load-image"){ + step.ui .querySelector("div.details") .appendChild( parser.parseFromString(tools, "text/html").querySelector("div") @@ -178,7 +177,11 @@ function DefaultHtmlStepUi(_sequencer, options) { },500) } - stepsEl.appendChild(step.ui); + stepsEl.appendChild(step.ui); + } + else { + $("#load-image").append(step.ui); + } var inputs = document.querySelectorAll('input[type="range"]') for(i in inputs) @@ -250,4 +253,4 @@ function DefaultHtmlStepUi(_sequencer, options) { onRemove: onRemove, onDraw: onDraw } -} \ No newline at end of file +} diff --git a/package-lock.json b/package-lock.json index dd5bd6d7..fd8a7ef8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,9 @@ "integrity": "sha1-qarWPV5EJf+KbZpqlKsoehtZXb4=", "dev": true, "requires": { - "once": "^1.3.3", - "tap-parser": "~0.2.0", - "through": "~2.3.4" + "once": "1.4.0", + "tap-parser": "0.2.1", + "through": "2.3.8" } }, "@types/node": { @@ -26,8 +26,8 @@ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "jsonparse": "1.3.1", + "through": "2.3.8" } }, "abbrev": { @@ -42,7 +42,7 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.20", "negotiator": "0.6.1" } }, @@ -56,9 +56,9 @@ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.0.tgz", "integrity": "sha512-ZsysjEh+Y3i14f7YXCAKJy99RXbd56wHKYBzN4FlFtICIZyFpYwK6OwNJhcz8A/FMtxoUZkJofH1v9KIfNgWmw==", "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1", - "xtend": "^4.0.1" + "acorn": "6.0.2", + "acorn-walk": "6.1.0", + "xtend": "4.0.1" }, "dependencies": { "acorn": { @@ -84,10 +84,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "align-text": { @@ -95,9 +95,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -117,7 +117,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.3" } }, "anymatch": { @@ -126,8 +126,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { "kind-of": { @@ -142,19 +142,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -165,7 +165,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" }, "dependencies": { "sprintf-js": { @@ -246,7 +246,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "asn1.js": { @@ -255,15 +255,15 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "assert": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz", - "integrity": "sha1-A5OaYiWCqBLMICMgoLmlbJuBWEk=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "dev": true, "requires": { "util": "0.10.3" @@ -299,7 +299,7 @@ }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, @@ -348,8 +348,8 @@ "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", "dev": true, "requires": { - "follow-redirects": "^1.2.5", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.9", + "is-buffer": "1.1.6" } }, "backo2": { @@ -370,13 +370,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -385,7 +385,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -394,7 +394,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -403,7 +403,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -412,9 +412,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -453,7 +453,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "better-assert": { @@ -499,10 +499,10 @@ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", "dev": true, "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" + "continuable-cache": "0.3.1", + "error": "7.0.2", + "raw-body": "1.1.7", + "safe-json-parse": "1.0.1" }, "dependencies": { "bytes": { @@ -517,16 +517,16 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1", - "string_decoder": "0.10" + "bytes": "1.0.0", + "string_decoder": "0.10.31" } } } }, "bootstrap": { - "version": "3.2.0", - "resolved": "http://registry.npmjs.org/bootstrap/-/bootstrap-3.2.0.tgz", - "integrity": "sha1-oHJufBLnn0oqUE+NHunyhQqD9jc=" + "version": "3.3.7", + "resolved": "http://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", + "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=" }, "brace-expansion": { "version": "1.1.11", @@ -534,7 +534,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -544,16 +544,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.3", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -562,7 +562,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -579,12 +579,12 @@ "integrity": "sha1-DPD/Hs3LdRbI+XO/gutvO/kpzpc=", "dev": true, "requires": { - "headless": "~0.1.3", - "merge": "~1.0.0", + "headless": "0.1.3", + "merge": "1.0.0", "minimist": "0.0.5", - "mkdirp": "~0.3.3", + "mkdirp": "0.3.5", "plist": "0.2.1", - "xtend": "^4.0.0" + "xtend": "4.0.1" }, "dependencies": { "headless": { @@ -600,7 +600,7 @@ }, "mkdirp": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", "dev": true } @@ -612,12 +612,12 @@ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" + "JSONStream": "1.3.5", + "combine-source-map": "0.8.0", + "defined": "1.0.0", + "safe-buffer": "5.1.2", + "through2": "2.0.3", + "umd": "3.0.3" } }, "browser-resolve": { @@ -643,19 +643,19 @@ "integrity": "sha512-NrBAEKWWeTrLbE3XP+gzbBte06/f13UZRXsYaIi+XUJgMi/HMaQAFDZ7OnLF4jrcX9dE0C4+kZNS4BAQde3Qgw==", "dev": true, "requires": { - "browser-launcher": "^1.0.0", - "duplexer": "^0.1.1", - "ecstatic": "^2.0.0", - "electron-stream": "^5.1.1", - "enstore": "^1.0.1", - "html-inject-script": "^1.1.0", - "optimist": "^0.6.1", - "phantomjs-stream": "^1.1.1", - "server-destroy": "^1.0.1", - "source-map-support": "^0.4.0", - "through": "^2.3.8", - "xhr-write-stream": "^0.1.2", - "xtend": "^4.0.1" + "browser-launcher": "1.0.0", + "duplexer": "0.1.1", + "ecstatic": "2.2.1", + "electron-stream": "5.1.2", + "enstore": "1.0.1", + "html-inject-script": "1.1.0", + "optimist": "0.6.1", + "phantomjs-stream": "1.1.1", + "server-destroy": "1.0.1", + "source-map-support": "0.4.18", + "through": "2.3.8", + "xhr-write-stream": "0.1.2", + "xtend": "4.0.1" } }, "browser-sync": { @@ -664,27 +664,27 @@ "integrity": "sha512-VLzpjCA4uXqfzkwqWtMM6hvPm2PNHp2RcmzBXcbi6C9WpkUhhFb8SVAr4CFrCsFxDg+oY6HalOjn8F+egyvhag==", "dev": true, "requires": { - "browser-sync-client": "^2.26.2", - "browser-sync-ui": "^2.26.2", + "browser-sync-client": "2.26.2", + "browser-sync-ui": "2.26.2", "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^2.0.4", + "bs-snippet-injector": "2.0.1", + "chokidar": "2.0.4", "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^3", - "etag": "^1.8.1", - "fresh": "^0.5.2", + "connect-history-api-fallback": "1.5.0", + "dev-ip": "1.0.1", + "easy-extender": "2.3.4", + "eazy-logger": "3.0.2", + "etag": "1.8.1", + "fresh": "0.5.2", "fs-extra": "3.0.1", "http-proxy": "1.15.2", - "immutable": "^3", + "immutable": "3.8.2", "localtunnel": "1.9.1", "micromatch": "2.3.11", "opn": "5.3.0", "portscanner": "2.1.1", "qs": "6.2.3", - "raw-body": "^2.3.2", + "raw-body": "2.3.3", "resp-modifier": "6.0.2", "rx": "4.1.0", "send": "0.16.2", @@ -712,8 +712,8 @@ "requires": { "etag": "1.8.1", "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "mitt": "1.1.3", + "rxjs": "5.5.12" } }, "browser-sync-ui": { @@ -723,118 +723,105 @@ "dev": true, "requires": { "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", + "connect-history-api-fallback": "1.5.0", + "immutable": "3.8.2", "server-destroy": "1.0.1", - "socket.io-client": "^2.0.4", - "stream-throttle": "^0.1.3" + "socket.io-client": "2.1.1", + "stream-throttle": "0.1.3" } }, "browserify": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-13.0.0.tgz", - "integrity": "sha1-jyI7sk/07kM15r6pZx3ilOQ7pqM=", + "version": "16.2.3", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.3.tgz", + "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "assert": "~1.3.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.1.2", - "buffer": "^4.1.0", - "concat-stream": "~1.5.1", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", - "duplexer2": "~0.1.2", - "events": "~1.1.0", - "glob": "^5.0.15", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "~0.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "isarray": "0.0.1", - "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.2", - "os-browserify": "~0.1.1", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.4.3", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~0.10.0", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "~0.0.1", - "xtend": "^4.0.0" + "JSONStream": "1.3.5", + "assert": "1.4.1", + "browser-pack": "6.1.0", + "browser-resolve": "1.11.3", + "browserify-zlib": "0.2.0", + "buffer": "5.0.8", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "defined": "1.0.0", + "deps-sort": "2.0.0", + "domain-browser": "1.2.0", + "duplexer2": "0.1.4", + "events": "2.1.0", + "glob": "7.1.3", + "has": "1.0.3", + "htmlescape": "1.1.1", + "https-browserify": "1.0.0", + "inherits": "2.0.3", + "insert-module-globals": "7.2.0", + "labeled-stream-splicer": "2.0.1", + "mkdirp": "0.5.1", + "module-deps": "6.2.0", + "os-browserify": "0.3.0", + "parents": "1.0.1", + "path-browserify": "0.0.1", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "read-only-stream": "2.0.0", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "shasum": "1.0.2", + "shell-quote": "1.6.1", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.2.0", + "subarg": "1.0.0", + "syntax-error": "1.4.0", + "through2": "2.0.3", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.1", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "1.1.0", + "xtend": "4.0.1" }, "dependencies": { - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "pako": "1.0.7" } }, - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - } + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "pako": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", + "dev": true + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" } } } @@ -845,12 +832,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-cache-api": { @@ -859,9 +846,9 @@ "integrity": "sha1-liR+hT8Gj9bg1FzHPwuyzZd47wI=", "dev": true, "requires": { - "async": "^1.5.2", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "async": "1.5.2", + "through2": "2.0.3", + "xtend": "4.0.1" } }, "browserify-cipher": { @@ -870,9 +857,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -881,10 +868,10 @@ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-incremental": { @@ -893,10 +880,10 @@ "integrity": "sha1-BxPLdYckemMqnwjPG9FpuHi2Koo=", "dev": true, "requires": { - "JSONStream": "^0.10.0", - "browserify-cache-api": "^3.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "JSONStream": "0.10.0", + "browserify-cache-api": "3.0.1", + "through2": "2.0.3", + "xtend": "4.0.1" }, "dependencies": { "JSONStream": { @@ -906,7 +893,7 @@ "dev": true, "requires": { "jsonparse": "0.0.5", - "through": ">=2.2.7 <3" + "through": "2.3.8" } }, "jsonparse": { @@ -923,8 +910,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -933,13 +920,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" } }, "browserify-zlib": { @@ -948,7 +935,7 @@ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", "dev": true, "requires": { - "pako": "~0.2.0" + "pako": "0.2.9" } }, "bs-recipes": { @@ -968,8 +955,8 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "1.3.0", + "ieee754": "1.1.12" } }, "buffer-equal": { @@ -1018,15 +1005,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cached-path-relative": { @@ -1053,8 +1040,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "caseless": { @@ -1067,8 +1054,8 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -1076,9 +1063,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "charm": { @@ -1092,19 +1079,19 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.0" } }, "cipher-base": { @@ -1113,8 +1100,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "class-utils": { @@ -1123,10 +1110,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -1135,7 +1122,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -1145,7 +1132,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -1159,9 +1146,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone": { @@ -1192,8 +1179,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -1205,9 +1192,9 @@ } }, "color-diff": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/color-diff/-/color-diff-0.1.7.tgz", - "integrity": "sha1-bbeM2UgqjkWdQIIer0tQMoPcuOI=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/color-diff/-/color-diff-1.1.0.tgz", + "integrity": "sha1-mDrn+TZnnpTjZd/kShaqFTva6I4=", "dev": true }, "color-name": { @@ -1227,15 +1214,15 @@ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" + "convert-source-map": "1.1.3", + "inline-source-map": "0.6.2", + "lodash.memoize": "3.0.4", + "source-map": "0.5.7" }, "dependencies": { "convert-source-map": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", "dev": true } @@ -1246,7 +1233,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1283,10 +1270,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "connect": { @@ -1297,7 +1284,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" }, "dependencies": { @@ -1324,7 +1311,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "constants-browserify": { @@ -1338,18 +1325,18 @@ "resolved": "https://registry.npmjs.org/contentstream/-/contentstream-1.0.0.tgz", "integrity": "sha1-C9z6RtowRkqGzo+n7OVlQQ3G+aU=", "requires": { - "readable-stream": "~1.0.33-1" + "readable-stream": "1.0.34" }, "dependencies": { "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } } } @@ -1365,7 +1352,7 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", "requires": { - "safe-buffer": "~5.1.1" + "safe-buffer": "5.1.2" } }, "cookie": { @@ -1391,8 +1378,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.1" } }, "create-hash": { @@ -1401,11 +1388,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { @@ -1414,12 +1401,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "crypto-browserify": { @@ -1428,17 +1415,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "crypto-random-string": { @@ -1453,7 +1440,7 @@ "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", "dev": true, "requires": { - "through": "X.X.X" + "through": "2.3.8" } }, "currently-unhandled": { @@ -1462,7 +1449,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "cwise": { @@ -1470,10 +1457,10 @@ "resolved": "https://registry.npmjs.org/cwise/-/cwise-1.0.10.tgz", "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", "requires": { - "cwise-compiler": "^1.1.1", - "cwise-parser": "^1.0.0", - "static-module": "^1.0.0", - "uglify-js": "^2.6.0" + "cwise-compiler": "1.1.3", + "cwise-parser": "1.0.3", + "static-module": "1.5.0", + "uglify-js": "2.8.29" }, "dependencies": { "camelcase": { @@ -1486,8 +1473,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -1496,9 +1483,9 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, "window-size": { @@ -1516,9 +1503,9 @@ "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1529,7 +1516,7 @@ "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", "requires": { - "uniq": "^1.0.0" + "uniq": "1.0.1" } }, "cwise-parser": { @@ -1537,8 +1524,8 @@ "resolved": "https://registry.npmjs.org/cwise-parser/-/cwise-parser-1.0.3.tgz", "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", "requires": { - "esprima": "^1.0.3", - "uniq": "^1.0.0" + "esprima": "1.2.5", + "uniq": "1.0.1" } }, "d": { @@ -1546,7 +1533,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.46" } }, "dashdash": { @@ -1554,7 +1541,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "data-uri-to-buffer": { @@ -1562,7 +1549,7 @@ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.0.tgz", "integrity": "sha512-YbKCNLPPP4inc0E5If4OaalBc7gpaM2MRv77Pv2VThVComLKfbGYtJcdDCViDyp1Wd4SebhHLz94vp91zbK6bw==", "requires": { - "@types/node": "^8.0.7" + "@types/node": "8.10.36" } }, "date-now": { @@ -1577,8 +1564,8 @@ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", "dev": true, "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" + "get-stdin": "4.0.1", + "meow": "3.7.0" } }, "debug": { @@ -1623,7 +1610,7 @@ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "requires": { - "clone": "^1.0.2" + "clone": "1.0.4" } }, "define-properties": { @@ -1632,7 +1619,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "object-keys": "1.0.12" } }, "define-property": { @@ -1641,8 +1628,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -1651,7 +1638,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -1660,7 +1647,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -1669,9 +1656,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -1705,10 +1692,10 @@ "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "shasum": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" + "JSONStream": "1.3.5", + "shasum": "1.0.2", + "subarg": "1.0.0", + "through2": "2.0.3" } }, "des.js": { @@ -1717,8 +1704,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "destroy": { @@ -1734,13 +1721,14 @@ "dev": true }, "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz", + "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==", "dev": true, "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" + "acorn-node": "1.6.0", + "defined": "1.0.0", + "minimist": "1.2.0" } }, "dev-ip": { @@ -1755,8 +1743,8 @@ "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, "requires": { - "asap": "^2.0.0", - "wrappy": "1" + "asap": "2.0.6", + "wrappy": "1.0.2" } }, "diffie-hellman": { @@ -1765,15 +1753,15 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "downloadjs": { @@ -1797,7 +1785,7 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "requires": { - "readable-stream": "^2.0.2" + "readable-stream": "2.3.6" } }, "easy-extender": { @@ -1806,7 +1794,7 @@ "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "eazy-logger": { @@ -1815,7 +1803,7 @@ "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", "dev": true, "requires": { - "tfunk": "^3.0.1" + "tfunk": "3.1.0" } }, "ecc-jsbn": { @@ -1823,8 +1811,8 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ecstatic": { @@ -1833,10 +1821,10 @@ "integrity": "sha512-ztE4WqheoWLh3wv+HQwy7dACnvNY620coWpa+XqY6R2cVWgaAT2lUISU1Uf7JpdLLJCURktJOaA9av2AOzsyYQ==", "dev": true, "requires": { - "he": "^1.1.1", - "mime": "^1.2.11", - "minimist": "^1.1.0", - "url-join": "^2.0.2" + "he": "1.2.0", + "mime": "1.6.0", + "minimist": "1.2.0", + "url-join": "2.0.5" } }, "ee-first": { @@ -1851,9 +1839,9 @@ "integrity": "sha512-1f9zJehcTTGjrkb06o6ds+gsRq6SYhZJyxOk6zIWjRH8hVy03y/RzUDELzNas71f5vcvXmfGVvyjeEsadDI8tg==", "dev": true, "requires": { - "@types/node": "^8.0.24", - "electron-download": "^3.0.1", - "extract-zip": "^1.0.3" + "@types/node": "8.10.36", + "electron-download": "3.3.0", + "extract-zip": "1.6.7" } }, "electron-download": { @@ -1862,15 +1850,15 @@ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", "dev": true, "requires": { - "debug": "^2.2.0", - "fs-extra": "^0.30.0", - "home-path": "^1.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.0", - "path-exists": "^2.1.0", - "rc": "^1.1.2", - "semver": "^5.3.0", - "sumchecker": "^1.2.0" + "debug": "2.6.9", + "fs-extra": "0.30.0", + "home-path": "1.0.6", + "minimist": "1.2.0", + "nugget": "2.0.1", + "path-exists": "2.1.0", + "rc": "1.2.8", + "semver": "5.6.0", + "sumchecker": "1.3.1" }, "dependencies": { "debug": { @@ -1888,20 +1876,20 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" } }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } } } @@ -1912,11 +1900,11 @@ "integrity": "sha512-r21cChsfIVdVKPp76xNk7Gs+Rjib2EyJEWKlQntvTm5+XYtX8GtXNFY1Wa9ZkYBiWby5W143zRWbDbzWqAiZkA==", "dev": true, "requires": { - "debug": "^2.6.1", - "ecstatic": "^3.0.0", - "electron": "^1.8.4", - "json-stringify-safe": "^5.0.1", - "stream-read": "^1.1.2", + "debug": "2.6.9", + "ecstatic": "3.3.0", + "electron": "1.8.8", + "json-stringify-safe": "5.0.1", + "stream-read": "1.1.2", "tempy": "0.1.0" }, "dependencies": { @@ -1935,10 +1923,10 @@ "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==", "dev": true, "requires": { - "he": "^1.1.1", - "mime": "^1.6.0", - "minimist": "^1.1.0", - "url-join": "^2.0.5" + "he": "1.2.0", + "mime": "1.6.0", + "minimist": "1.2.0", + "url-join": "2.0.5" } } } @@ -1949,13 +1937,13 @@ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "encodeurl": { @@ -1970,12 +1958,12 @@ "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.5", "base64id": "1.0.0", "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "ws": "3.3.3" } }, "engine.io-client": { @@ -1986,14 +1974,14 @@ "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", + "ws": "3.3.3", + "xmlhttprequest-ssl": "1.5.5", "yeast": "0.1.2" } }, @@ -2004,10 +1992,10 @@ "dev": true, "requires": { "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", + "arraybuffer.slice": "0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.4", - "has-binary2": "~1.0.2" + "has-binary2": "1.0.3" } }, "enstore": { @@ -2025,8 +2013,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" + "string-template": "0.2.1", + "xtend": "4.0.1" } }, "error-ex": { @@ -2035,7 +2023,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -2044,11 +2032,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -2057,9 +2045,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" } }, "es5-ext": { @@ -2067,9 +2055,9 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -2077,9 +2065,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -2087,12 +2075,12 @@ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-promise": { @@ -2106,11 +2094,11 @@ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -2118,8 +2106,8 @@ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.46" } }, "escape-html": { @@ -2138,10 +2126,10 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", "requires": { - "esprima": "~1.1.1", - "estraverse": "~1.5.0", - "esutils": "~1.0.0", - "source-map": "~0.1.33" + "esprima": "1.1.1", + "estraverse": "1.5.1", + "esutils": "1.0.0", + "source-map": "0.1.43" }, "dependencies": { "esprima": { @@ -2155,7 +2143,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "optional": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -2191,8 +2179,8 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.46" } }, "eventemitter2": { @@ -2208,9 +2196,9 @@ "dev": true }, "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", "dev": true }, "evp_bytestokey": { @@ -2219,8 +2207,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" } }, "exit": { @@ -2235,13 +2223,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -2259,7 +2247,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2268,7 +2256,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2279,7 +2267,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -2288,11 +2276,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.3", + "repeat-string": "1.6.1" } }, "is-number": { @@ -2301,7 +2289,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isarray": { @@ -2327,7 +2315,7 @@ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "homedir-polyfill": "1.0.1" } }, "extend": { @@ -2341,8 +2329,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -2351,7 +2339,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -2362,14 +2350,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2378,7 +2366,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -2387,7 +2375,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -2396,7 +2384,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2405,7 +2393,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2414,9 +2402,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -2460,10 +2448,10 @@ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "requires": { - "acorn": "^5.0.0", - "foreach": "^2.0.5", + "acorn": "5.7.3", + "foreach": "2.0.5", "isarray": "0.0.1", - "object-keys": "^1.0.6" + "object-keys": "1.0.12" } }, "fast-deep-equal": { @@ -2487,7 +2475,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "fd-slicer": { @@ -2496,7 +2484,7 @@ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, "requires": { - "pend": "~1.2.0" + "pend": "1.2.0" } }, "figures": { @@ -2505,8 +2493,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -2521,10 +2509,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -2533,7 +2521,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2545,12 +2533,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -2570,8 +2558,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "findup-sync": { @@ -2580,7 +2568,7 @@ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", "dev": true, "requires": { - "glob": "~5.0.0" + "glob": "5.0.15" } }, "fisheyegl": { @@ -2594,13 +2582,13 @@ "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", "dev": true, "requires": { - "debug": "=3.1.0" + "debug": "3.1.0" } }, "font-awesome": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.5.0.tgz", - "integrity": "sha1-Hp18z31jvb5XAA4Y1RiMslV+cPg=" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" }, "for-each": { "version": "0.3.3", @@ -2608,7 +2596,7 @@ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { - "is-callable": "^1.1.3" + "is-callable": "1.1.4" } }, "for-in": { @@ -2623,7 +2611,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -2641,17 +2629,17 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.20" }, "dependencies": { "combined-stream": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } } } @@ -2662,7 +2650,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fresh": { @@ -2676,8 +2664,8 @@ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "from2-string": { @@ -2685,7 +2673,7 @@ "resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz", "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=", "requires": { - "from2": "^2.0.3" + "from2": "2.3.0" } }, "fs-extra": { @@ -2694,9 +2682,9 @@ "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "3.0.1", + "universalify": "0.1.2" } }, "fs.realpath": { @@ -2712,8 +2700,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.11.1", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -2725,8 +2713,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -2740,23 +2727,21 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -2769,20 +2754,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -2823,7 +2805,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -2838,14 +2820,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -2854,12 +2836,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -2874,7 +2856,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -2883,7 +2865,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -2892,15 +2874,14 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -2912,9 +2893,8 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -2927,25 +2907,22 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -2954,14 +2931,13 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -2978,9 +2954,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -2989,16 +2965,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -3007,8 +2983,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -3023,8 +2999,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -3033,17 +3009,16 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3055,9 +3030,8 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -3078,8 +3052,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -3100,10 +3074,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -3120,13 +3094,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -3135,14 +3109,13 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3178,11 +3151,10 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -3191,16 +3163,15 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -3215,13 +3186,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -3236,20 +3207,18 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -3264,7 +3233,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "^1.0.0" + "globule": "1.2.1" } }, "get-assigned-identifiers": { @@ -3284,16 +3253,16 @@ "integrity": "sha512-6ar+8yPxRd1pskEcl2GSEu1La0+xYRjjnkby6AYiRDDwZ0tJbPQmHnSeH9fGLskT8kvR0OukVgtZLcsENF9YKQ==", "requires": { "data-uri-to-buffer": "0.0.3", - "jpeg-js": "^0.3.2", - "mime-types": "^2.0.1", - "ndarray": "^1.0.13", - "ndarray-pack": "^1.1.1", + "jpeg-js": "0.3.4", + "mime-types": "2.1.20", + "ndarray": "1.0.18", + "ndarray-pack": "1.2.1", "node-bitmap": "0.0.1", - "omggif": "^1.0.5", - "parse-data-uri": "^0.2.0", - "pngjs": "^3.3.3", - "request": "^2.44.0", - "through": "^2.3.4" + "omggif": "1.0.9", + "parse-data-uri": "0.2.0", + "pngjs": "3.3.3", + "request": "2.88.0", + "through": "2.3.8" }, "dependencies": { "data-uri-to-buffer": { @@ -3326,7 +3295,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "gif-encoder": { @@ -3334,18 +3303,18 @@ "resolved": "http://registry.npmjs.org/gif-encoder/-/gif-encoder-0.4.3.tgz", "integrity": "sha1-iitP6MqJWkjjoLbLs0CgpqNXGJk=", "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" }, "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } } } @@ -3356,11 +3325,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -3369,8 +3338,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -3379,7 +3348,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3394,7 +3363,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3405,8 +3374,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -3415,7 +3384,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -3426,9 +3395,9 @@ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" } }, "global-prefix": { @@ -3437,11 +3406,11 @@ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" } }, "globule": { @@ -3450,9 +3419,9 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" + "glob": "7.1.3", + "lodash": "4.17.11", + "minimatch": "3.0.4" }, "dependencies": { "glob": { @@ -3461,12 +3430,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -3483,23 +3452,23 @@ "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", "dev": true, "requires": { - "coffeescript": "~1.10.0", - "dateformat": "~1.0.12", - "eventemitter2": "~0.4.13", - "exit": "~0.1.1", - "findup-sync": "~0.3.0", - "glob": "~7.0.0", - "grunt-cli": "~1.2.0", - "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~2.0.0", - "grunt-legacy-util": "~1.1.1", - "iconv-lite": "~0.4.13", - "js-yaml": "~3.5.2", - "minimatch": "~3.0.2", - "mkdirp": "~0.5.1", - "nopt": "~3.0.6", - "path-is-absolute": "~1.0.0", - "rimraf": "~2.6.2" + "coffeescript": "1.10.0", + "dateformat": "1.0.12", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.3.0", + "glob": "7.0.6", + "grunt-cli": "1.2.0", + "grunt-known-options": "1.1.1", + "grunt-legacy-log": "2.0.0", + "grunt-legacy-util": "1.1.1", + "iconv-lite": "0.4.24", + "js-yaml": "3.5.5", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" }, "dependencies": { "glob": { @@ -3508,12 +3477,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "grunt-cli": { @@ -3522,10 +3491,10 @@ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { - "findup-sync": "~0.3.0", - "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" + "findup-sync": "0.3.0", + "grunt-known-options": "1.1.1", + "nopt": "3.0.6", + "resolve": "1.1.7" } }, "resolve": { @@ -3542,7 +3511,7 @@ "integrity": "sha1-oOnB/RzLXEVMJexRcBE///BqR3I=", "dev": true, "requires": { - "browser-sync": "^2.6.4" + "browser-sync": "2.26.3" } }, "grunt-browserify": { @@ -3551,13 +3520,13 @@ "integrity": "sha1-R/2M+LrFj+LeaDr9xX9/OoDKeS0=", "dev": true, "requires": { - "async": "^2.5.0", - "browserify": "^16.0.0", - "browserify-incremental": "^3.1.1", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "resolve": "^1.1.6", - "watchify": "^3.6.1" + "async": "2.6.1", + "browserify": "16.2.3", + "browserify-incremental": "3.1.1", + "glob": "7.1.3", + "lodash": "4.17.11", + "resolve": "1.8.1", + "watchify": "3.11.0" }, "dependencies": { "assert": { @@ -3592,7 +3561,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "browserify": { @@ -3601,54 +3570,54 @@ "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.2.0", - "buffer": "^5.0.2", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "labeled-stream-splicer": "^2.0.0", - "mkdirp": "^0.5.0", - "module-deps": "^6.0.0", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", + "JSONStream": "1.3.5", + "assert": "1.4.1", + "browser-pack": "6.1.0", + "browser-resolve": "1.11.3", + "browserify-zlib": "0.2.0", + "buffer": "5.0.8", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "defined": "1.0.0", + "deps-sort": "2.0.0", + "domain-browser": "1.2.0", + "duplexer2": "0.1.4", + "events": "2.1.0", + "glob": "7.1.3", + "has": "1.0.3", + "htmlescape": "1.1.1", + "https-browserify": "1.0.0", + "inherits": "2.0.3", + "insert-module-globals": "7.2.0", + "labeled-stream-splicer": "2.0.1", + "mkdirp": "0.5.1", + "module-deps": "6.1.0", + "os-browserify": "0.3.0", + "parents": "1.0.1", + "path-browserify": "0.0.1", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "read-only-stream": "2.0.0", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "shasum": "1.0.2", + "shell-quote": "1.6.1", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "subarg": "1.0.0", + "syntax-error": "1.4.0", + "through2": "2.0.3", + "timers-browserify": "1.4.2", "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "1.1.0", + "xtend": "4.0.1" } }, "browserify-zlib": { @@ -3657,7 +3626,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "detective": { @@ -3666,9 +3635,9 @@ "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==", "dev": true, "requires": { - "acorn-node": "^1.3.0", - "defined": "^1.0.0", - "minimist": "^1.1.1" + "acorn-node": "1.6.0", + "defined": "1.0.0", + "minimist": "1.2.0" } }, "domain-browser": { @@ -3689,12 +3658,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "https-browserify": { @@ -3709,21 +3678,21 @@ "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.0.2", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "JSONStream": "1.3.5", + "browser-resolve": "1.11.3", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "defined": "1.0.0", + "detective": "5.1.0", + "duplexer2": "0.1.4", + "inherits": "2.0.3", + "parents": "1.0.1", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "stream-combiner2": "1.1.1", + "subarg": "1.0.0", + "through2": "2.0.3", + "xtend": "4.0.1" } }, "os-browserify": { @@ -3744,7 +3713,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "vm-browserify": { @@ -3761,8 +3730,8 @@ "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", "dev": true, "requires": { - "chalk": "^1.0.0", - "source-map": "^0.5.3" + "chalk": "1.1.3", + "source-map": "0.5.7" }, "dependencies": { "ansi-styles": { @@ -3777,11 +3746,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -3798,10 +3767,10 @@ "integrity": "sha1-wV97Ef1BMgPU4MkTf10/r1Wo34A=", "dev": true, "requires": { - "chalk": "^1.0.0", - "maxmin": "^1.1.0", - "uglify-es": "~3.3.0", - "uri-path": "^1.0.0" + "chalk": "1.1.3", + "maxmin": "1.1.0", + "uglify-es": "3.3.9", + "uri-path": "1.0.0" }, "dependencies": { "ansi-styles": { @@ -3812,15 +3781,15 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -3837,10 +3806,10 @@ "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", "dev": true, "requires": { - "async": "^2.6.0", - "gaze": "^1.1.0", - "lodash": "^4.17.10", - "tiny-lr": "^1.1.1" + "async": "2.6.1", + "gaze": "1.1.3", + "lodash": "4.17.11", + "tiny-lr": "1.1.1" }, "dependencies": { "async": { @@ -3849,7 +3818,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } } } @@ -3866,10 +3835,10 @@ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", "dev": true, "requires": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.5" + "colors": "1.1.2", + "grunt-legacy-log-utils": "2.0.1", + "hooker": "0.2.3", + "lodash": "4.17.11" } }, "grunt-legacy-log-utils": { @@ -3878,8 +3847,8 @@ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", "dev": true, "requires": { - "chalk": "~2.4.1", - "lodash": "~4.17.10" + "chalk": "2.4.1", + "lodash": "4.17.11" } }, "grunt-legacy-util": { @@ -3888,13 +3857,13 @@ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", "dev": true, "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.10", - "underscore.string": "~3.3.4", - "which": "~1.3.0" + "async": "1.5.2", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "4.17.11", + "underscore.string": "3.3.5", + "which": "1.3.1" } }, "gzip-size": { @@ -3903,8 +3872,8 @@ "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", "dev": true, "requires": { - "browserify-zlib": "^0.1.4", - "concat-stream": "^1.4.1" + "browserify-zlib": "0.1.4", + "concat-stream": "1.6.2" } }, "har-schema": { @@ -3917,8 +3886,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -3926,7 +3895,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -3935,7 +3904,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-binary2": { @@ -3978,9 +3947,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -3989,8 +3958,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -3999,7 +3968,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4010,8 +3979,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { @@ -4020,8 +3989,8 @@ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "he": { @@ -4036,9 +4005,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "home-path": { @@ -4053,7 +4022,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "parse-passwd": "1.0.0" } }, "hooker": { @@ -4074,7 +4043,7 @@ "integrity": "sha1-GnwQoPy9MJ6Fv1PZpe0kt0xeMnU=", "dev": true, "requires": { - "trumpet": "^1.7.1" + "trumpet": "1.7.2" } }, "html-select": { @@ -4083,14 +4052,14 @@ "integrity": "sha1-Rq1tcS5zLPMcZznV0BEKX6vxdYU=", "dev": true, "requires": { - "cssauron": "^1.1.0", - "duplexer2": "~0.0.2", - "inherits": "^2.0.1", - "minimist": "~0.0.8", - "readable-stream": "^1.0.27-1", - "split": "~0.3.0", - "stream-splicer": "^1.2.0", - "through2": "^1.0.0" + "cssauron": "1.4.0", + "duplexer2": "0.0.2", + "inherits": "2.0.3", + "minimist": "0.0.10", + "readable-stream": "1.1.14", + "split": "0.3.3", + "stream-splicer": "1.3.2", + "through2": "1.1.1" }, "dependencies": { "duplexer2": { @@ -4099,7 +4068,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" } }, "minimist": { @@ -4110,14 +4079,14 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "split": { @@ -4126,7 +4095,7 @@ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2" + "through": "2.3.8" } }, "stream-splicer": { @@ -4136,11 +4105,11 @@ "dev": true, "requires": { "indexof": "0.0.1", - "inherits": "^2.0.1", - "isarray": "~0.0.1", - "readable-stream": "^1.1.13-1", - "readable-wrap": "^1.0.0", - "through2": "^1.0.0" + "inherits": "2.0.3", + "isarray": "0.0.1", + "readable-stream": "1.1.14", + "readable-wrap": "1.0.0", + "through2": "1.1.1" } }, "through2": { @@ -4149,8 +4118,8 @@ "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", "dev": true, "requires": { - "readable-stream": ">=1.1.13-1 <1.2.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "readable-stream": "1.1.14", + "xtend": "4.0.1" } } } @@ -4161,10 +4130,10 @@ "integrity": "sha1-flupnstR75Buyaf83ubKMmfHiX4=", "dev": true, "requires": { - "inherits": "~2.0.1", - "minimist": "~0.0.8", - "readable-stream": "~1.0.27-1", - "through2": "~0.4.1" + "inherits": "2.0.3", + "minimist": "0.0.10", + "readable-stream": "1.0.34", + "through2": "0.4.2" }, "dependencies": { "minimist": { @@ -4181,14 +4150,14 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "through2": { @@ -4197,8 +4166,8 @@ "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "dev": true, "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" + "readable-stream": "1.0.34", + "xtend": "2.1.2" } }, "xtend": { @@ -4207,7 +4176,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "~0.4.0" + "object-keys": "0.4.0" } } } @@ -4224,10 +4193,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" }, "dependencies": { "statuses": { @@ -4250,8 +4219,8 @@ "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", "dev": true, "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" + "eventemitter3": "1.2.0", + "requires-port": "1.0.0" } }, "http-signature": { @@ -4259,15 +4228,15 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.15.1" } }, "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, "iconv-lite": { @@ -4276,7 +4245,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ieee754": { @@ -4285,13 +4254,12 @@ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" }, "image-filter-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/image-filter-core/-/image-filter-core-1.0.0.tgz", - "integrity": "sha1-eoFHeymcyRDbZ/98LAAModpEqk8=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-filter-core/-/image-filter-core-2.0.2.tgz", + "integrity": "sha1-G5lMm540R2Uw3pyoRQ6F+HqBvRA=", "dev": true, "requires": { - "es6-promise": "^4.0.5", - "webworkify": "^1.2.1" + "es6-promise": "4.2.5" } }, "image-filter-threshold": { @@ -4300,7 +4268,7 @@ "integrity": "sha1-RxTd2a+tUHyygjmzRiNuLCpvu0w=", "dev": true, "requires": { - "image-filter-core": "^2.0.0" + "image-filter-core": "2.0.2" }, "dependencies": { "image-filter-core": { @@ -4309,7 +4277,7 @@ "integrity": "sha1-G5lMm540R2Uw3pyoRQ6F+HqBvRA=", "dev": true, "requires": { - "es6-promise": "^4.0.5" + "es6-promise": "4.2.5" } } } @@ -4324,7 +4292,7 @@ "resolved": "https://registry.npmjs.org/imagejs/-/imagejs-0.0.9.tgz", "integrity": "sha1-JoBkWQD211+/D2e7wAY+aIiufr4=", "requires": { - "bluebird": "*", + "bluebird": "3.5.2", "jpeg-js": "0.1.1", "node-png": "0.4.3", "underscore": "1.4.4" @@ -4339,7 +4307,7 @@ }, "imgareaselect": { "version": "git://github.com/jywarren/imgareaselect.git#db8ae869ca0fcb289252678cebd17d6f40711f61", - "from": "git://github.com/jywarren/imgareaselect.git#db8ae869ca0fcb289252678cebd17d6f40711f61" + "from": "git://github.com/jywarren/imgareaselect.git#v1.0.0-rc.2" }, "immutable": { "version": "3.8.2", @@ -4353,7 +4321,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "indexof": { @@ -4368,8 +4336,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4389,7 +4357,7 @@ "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", "dev": true, "requires": { - "source-map": "~0.5.3" + "source-map": "0.5.7" } }, "insert-module-globals": { @@ -4398,16 +4366,16 @@ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" + "JSONStream": "1.3.5", + "acorn-node": "1.6.0", + "combine-source-map": "0.8.0", + "concat-stream": "1.6.2", + "is-buffer": "1.1.6", + "path-is-absolute": "1.0.1", + "process": "0.11.10", + "through2": "2.0.3", + "undeclared-identifiers": "1.1.2", + "xtend": "4.0.1" } }, "invert-kv": { @@ -4427,7 +4395,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -4442,7 +4410,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.12.0" } }, "is-buffer": { @@ -4456,7 +4424,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -4471,7 +4439,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -4486,9 +4454,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -4511,7 +4479,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -4532,7 +4500,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -4541,7 +4509,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -4550,7 +4518,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-number": { @@ -4559,7 +4527,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-number-like": { @@ -4568,7 +4536,7 @@ "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", "dev": true, "requires": { - "lodash.isfinite": "^3.3.2" + "lodash.isfinite": "3.3.2" } }, "is-plain-object": { @@ -4577,7 +4545,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -4598,7 +4566,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-symbol": { @@ -4607,7 +4575,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "1.0.0" } }, "is-typedarray": { @@ -4671,8 +4639,8 @@ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", "dev": true, "requires": { - "argparse": "^1.0.2", - "esprima": "^2.6.0" + "argparse": "1.0.10", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4704,7 +4672,7 @@ "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", "dev": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -4718,7 +4686,7 @@ "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -4754,7 +4722,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -4763,7 +4731,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "labeled-stream-splicer": { @@ -4772,9 +4740,9 @@ "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==", "dev": true, "requires": { - "inherits": "^2.0.1", - "isarray": "^2.0.4", - "stream-splicer": "^2.0.0" + "inherits": "2.0.3", + "isarray": "2.0.4", + "stream-splicer": "2.0.0" }, "dependencies": { "isarray": { @@ -4796,7 +4764,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -4804,8 +4772,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "limiter": { @@ -4826,11 +4794,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "localtunnel": { @@ -4866,19 +4834,19 @@ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" } } } @@ -4911,7 +4879,7 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "requires": { - "chalk": "^2.0.1" + "chalk": "2.4.1" } }, "longest": { @@ -4920,16 +4888,16 @@ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" }, "looks-same": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/looks-same/-/looks-same-3.3.0.tgz", - "integrity": "sha512-EfiQf32HIiNCDoyG8SXgeg1AW/T8G1q0xo8JyKp0TbgjDbNPF+cUi1xmTSYi2+73JwV+lsEuGgsh1ZZSpV9aYA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/looks-same/-/looks-same-4.1.0.tgz", + "integrity": "sha512-9dvYQrWpMhQzyyR25xRtFMq6TSXhduTcKKvYtlMf9IHzb+r/fvF+MQG6+hChC4MrLVlA+MRTOt6fhvUkbZ9IpA==", "dev": true, "requires": { - "color-diff": "^0.1.5", - "concat-stream": "^1.5.0", - "lodash": "^4.17.3", - "parse-color": "^1.0.0", - "pngjs": "^3.0.1" + "color-diff": "1.1.0", + "concat-stream": "1.6.2", + "lodash": "4.17.11", + "parse-color": "1.0.0", + "pngjs": "3.3.3" } }, "loud-rejection": { @@ -4938,8 +4906,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "magic-string": { @@ -4947,7 +4915,7 @@ "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "requires": { - "vlq": "^0.2.2" + "vlq": "0.2.3" } }, "map-cache": { @@ -4968,7 +4936,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "matchdep": { @@ -4977,9 +4945,9 @@ "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", "dev": true, "requires": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", + "findup-sync": "2.0.0", + "micromatch": "3.1.10", + "resolve": "1.8.1", "stack-trace": "0.0.10" }, "dependencies": { @@ -4989,10 +4957,10 @@ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "dev": true, "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "detect-file": "1.0.0", + "is-glob": "3.1.0", + "micromatch": "3.1.10", + "resolve-dir": "1.0.1" } }, "is-glob": { @@ -5001,7 +4969,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } }, "kind-of": { @@ -5016,19 +4984,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -5045,10 +5013,10 @@ "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", "dev": true, "requires": { - "chalk": "^1.0.0", - "figures": "^1.0.1", - "gzip-size": "^1.0.0", - "pretty-bytes": "^1.0.0" + "chalk": "1.1.3", + "figures": "1.7.0", + "gzip-size": "1.0.0", + "pretty-bytes": "1.0.4" }, "dependencies": { "ansi-styles": { @@ -5059,15 +5027,15 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -5084,9 +5052,9 @@ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "hash-base": "3.0.4", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "meow": { @@ -5095,16 +5063,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" } }, "merge": { @@ -5118,7 +5086,7 @@ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -5127,19 +5095,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" }, "dependencies": { "arr-diff": { @@ -5148,7 +5116,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -5163,9 +5131,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" } }, "expand-brackets": { @@ -5174,7 +5142,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -5183,7 +5151,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -5198,7 +5166,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5209,8 +5177,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime": { @@ -5228,7 +5196,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", "requires": { - "mime-db": "~1.36.0" + "mime-db": "1.36.0" } }, "mimic-fn": { @@ -5254,7 +5222,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -5274,8 +5242,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -5284,7 +5252,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5307,61 +5275,26 @@ } }, "module-deps": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", - "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.0.tgz", + "integrity": "sha512-hKPmO06so6bL/ZvqVNVqdTVO8UAYsi3tQWlCa+z9KuWhoN4KDQtb5hcqQQv58qYiDE21wIvnttZEPiDgEbpwbA==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.0", - "defined": "^1.0.0", - "detective": "^4.0.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.3", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "JSONStream": "1.3.5", + "browser-resolve": "1.11.3", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "defined": "1.0.0", + "detective": "5.1.0", + "duplexer2": "0.1.4", + "inherits": "2.0.3", + "parents": "1.0.1", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "stream-combiner2": "1.1.1", + "subarg": "1.0.0", + "through2": "2.0.3", + "xtend": "4.0.1" } }, "monotonic-timestamp": { @@ -5389,17 +5322,17 @@ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -5415,8 +5348,8 @@ "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.18.tgz", "integrity": "sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M=", "requires": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" + "iota-array": "1.0.0", + "is-buffer": "1.1.6" } }, "ndarray-fft": { @@ -5424,11 +5357,11 @@ "resolved": "https://registry.npmjs.org/ndarray-fft/-/ndarray-fft-1.0.3.tgz", "integrity": "sha1-3Fu6GOOrgsmXrbrrt455+CyToio=", "requires": { - "bit-twiddle": "^1.0.2", - "cwise": "^1.0.4", - "ndarray": "^1.0.15", - "ndarray-ops": "^1.2.2", - "typedarray-pool": "^1.0.0" + "bit-twiddle": "1.0.2", + "cwise": "1.0.10", + "ndarray": "1.0.18", + "ndarray-ops": "1.2.2", + "typedarray-pool": "1.1.0" } }, "ndarray-gaussian-filter": { @@ -5436,13 +5369,13 @@ "resolved": "https://registry.npmjs.org/ndarray-gaussian-filter/-/ndarray-gaussian-filter-1.0.0.tgz", "integrity": "sha1-tSHY+AQK9w5OXCRKPH8Gy7NYAk4=", "requires": { - "cwise": "^1.0.7", - "dup": "^1.0.0", - "ndarray": "^1.0.18", - "ndarray-fft": "^1.0.0", - "ndarray-ops": "^1.2.2", - "next-pow-2": "^1.0.0", - "typedarray-pool": "^1.1.0" + "cwise": "1.0.10", + "dup": "1.0.0", + "ndarray": "1.0.18", + "ndarray-fft": "1.0.3", + "ndarray-ops": "1.2.2", + "next-pow-2": "1.0.0", + "typedarray-pool": "1.1.0" } }, "ndarray-ops": { @@ -5450,7 +5383,7 @@ "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", "requires": { - "cwise-compiler": "^1.0.0" + "cwise-compiler": "1.1.3" } }, "ndarray-pack": { @@ -5458,8 +5391,8 @@ "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", "requires": { - "cwise-compiler": "^1.1.2", - "ndarray": "^1.0.13" + "cwise-compiler": "1.1.3", + "ndarray": "1.0.18" } }, "negotiator": { @@ -5494,7 +5427,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.1.1" } }, "normalize-package-data": { @@ -5503,10 +5436,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.6.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -5515,7 +5448,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "nugget": { @@ -5524,12 +5457,12 @@ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", "dev": true, "requires": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", + "debug": "2.6.9", + "minimist": "1.2.0", + "pretty-bytes": "1.0.4", + "progress-stream": "1.2.0", + "request": "2.88.0", + "single-line-log": "1.1.2", "throttleit": "0.0.2" }, "dependencies": { @@ -5573,9 +5506,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -5584,7 +5517,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -5612,7 +5545,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -5621,8 +5554,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -5631,7 +5564,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "omggif": { @@ -5654,7 +5587,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -5662,7 +5595,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "openurl": { @@ -5677,7 +5610,7 @@ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "1.1.0" } }, "optimist": { @@ -5686,8 +5619,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.10", + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { @@ -5703,12 +5636,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -5723,12 +5656,12 @@ "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz", "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==", "requires": { - "chalk": "^2.3.1", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.1.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^4.0.0", - "wcwidth": "^1.0.1" + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "log-symbols": "2.2.0", + "strip-ansi": "4.0.0", + "wcwidth": "1.0.1" }, "dependencies": { "ansi-regex": { @@ -5753,9 +5686,9 @@ "dev": true }, "os-browserify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", - "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "os-locale": { @@ -5764,7 +5697,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "outpipe": { @@ -5773,7 +5706,7 @@ "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=", "dev": true, "requires": { - "shell-quote": "^1.4.2" + "shell-quote": "1.6.1" } }, "pace": { @@ -5781,7 +5714,7 @@ "resolved": "https://registry.npmjs.org/pace/-/pace-0.0.4.tgz", "integrity": "sha1-1mQF1fW8EtJUQabibIeNvGnnenc=", "requires": { - "charm": "~0.1.0" + "charm": "0.1.2" } }, "pako": { @@ -5796,7 +5729,7 @@ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", "dev": true, "requires": { - "path-platform": "~0.11.15" + "path-platform": "0.11.15" } }, "parse-asn1": { @@ -5805,11 +5738,11 @@ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17" } }, "parse-color": { @@ -5818,7 +5751,7 @@ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", "dev": true, "requires": { - "color-convert": "~0.5.0" + "color-convert": "0.5.3" }, "dependencies": { "color-convert": { @@ -5850,10 +5783,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -5868,7 +5801,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5879,7 +5812,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -5900,7 +5833,7 @@ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "better-assert": "~1.0.0" + "better-assert": "1.0.2" } }, "parseuri": { @@ -5909,7 +5842,7 @@ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "better-assert": "~1.0.0" + "better-assert": "1.0.2" } }, "parseurl": { @@ -5942,7 +5875,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -5968,9 +5901,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pbkdf2": { @@ -5979,11 +5912,11 @@ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "pend": { @@ -6003,7 +5936,7 @@ "integrity": "sha1-VlD0ICjAnoRrxGO4K/TK/EOjuis=", "dev": true, "requires": { - "stream-read": "^1.1.2" + "stream-read": "1.1.2" } }, "pify": { @@ -6024,7 +5957,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "plist": { @@ -6033,7 +5966,7 @@ "integrity": "sha1-86PeB4hddz5m2KlngvG+wozystA=", "dev": true, "requires": { - "sax": "0.1.x" + "sax": "0.1.5" } }, "plur": { @@ -6059,7 +5992,7 @@ "dev": true, "requires": { "async": "1.5.2", - "is-number-like": "^1.0.3" + "is-number-like": "1.0.8" } }, "posix-character-classes": { @@ -6085,8 +6018,8 @@ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", "dev": true, "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" + "get-stdin": "4.0.1", + "meow": "3.7.0" } }, "pretty-ms": { @@ -6095,9 +6028,9 @@ "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=", "dev": true, "requires": { - "is-finite": "^1.0.1", - "parse-ms": "^1.0.0", - "plur": "^1.0.0" + "is-finite": "1.0.2", + "parse-ms": "1.0.1", + "plur": "1.0.0" } }, "process": { @@ -6118,8 +6051,8 @@ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", "dev": true, "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" + "speedometer": "0.1.4", + "through2": "0.2.3" }, "dependencies": { "object-keys": { @@ -6130,14 +6063,14 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "through2": { @@ -6146,8 +6079,8 @@ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", "dev": true, "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" + "readable-stream": "1.1.14", + "xtend": "2.1.2" } }, "xtend": { @@ -6156,7 +6089,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "~0.4.0" + "object-keys": "0.4.0" } } } @@ -6172,12 +6105,12 @@ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "punycode": { @@ -6208,7 +6141,7 @@ "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", "requires": { "minimist": "0.0.8", - "through2": "~0.4.1" + "through2": "0.4.2" }, "dependencies": { "minimist": { @@ -6223,13 +6156,13 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "through2": { @@ -6237,8 +6170,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" + "readable-stream": "1.0.34", + "xtend": "2.1.2" } }, "xtend": { @@ -6246,7 +6179,7 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "requires": { - "object-keys": "~0.4.0" + "object-keys": "0.4.0" } } } @@ -6257,9 +6190,9 @@ "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -6282,7 +6215,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -6291,8 +6224,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "range-parser": { @@ -6319,7 +6252,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -6330,10 +6263,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "re-emitter": { @@ -6348,7 +6281,7 @@ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "readable-stream": "^2.0.2" + "readable-stream": "2.3.6" } }, "read-pkg": { @@ -6357,9 +6290,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -6368,22 +6301,22 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" }, "dependencies": { "isarray": { @@ -6401,7 +6334,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -6412,19 +6345,19 @@ "integrity": "sha1-O1ohHGMeEjA6VJkcgGwX564ga/8=", "dev": true, "requires": { - "readable-stream": "^1.1.13-1" + "readable-stream": "1.1.14" }, "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } } } @@ -6435,9 +6368,9 @@ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "graceful-fs": "4.1.11", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" }, "dependencies": { "kind-of": { @@ -6452,19 +6385,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -6480,8 +6413,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "regex-cache": { @@ -6490,7 +6423,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -6499,8 +6432,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "remove-trailing-separator": { @@ -6526,7 +6459,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -6534,26 +6467,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.1.0", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.20", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { @@ -6579,7 +6512,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "resolve-dir": { @@ -6588,8 +6521,8 @@ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" } }, "resolve-url": { @@ -6604,8 +6537,8 @@ "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", "dev": true, "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" + "debug": "2.6.9", + "minimatch": "3.0.4" }, "dependencies": { "debug": { @@ -6624,8 +6557,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "resumer": { @@ -6634,7 +6567,7 @@ "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", "dev": true, "requires": { - "through": "~2.3.4" + "through": "2.3.8" } }, "ret": { @@ -6648,7 +6581,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -6657,7 +6590,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.3" }, "dependencies": { "glob": { @@ -6666,12 +6599,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -6682,8 +6615,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "rx": { @@ -6718,7 +6651,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -6731,13 +6664,13 @@ "resolved": "https://registry.npmjs.org/save-pixels/-/save-pixels-2.3.4.tgz", "integrity": "sha1-SdNJwGuNfAEn2/DaJLRKylr7Wf4=", "requires": { - "contentstream": "^1.0.0", - "gif-encoder": "~0.4.1", + "contentstream": "1.0.0", + "gif-encoder": "0.4.3", "jpeg-js": "0.0.4", - "ndarray": "^1.0.18", - "ndarray-ops": "^1.2.2", - "pngjs-nozlib": "^1.0.0", - "through": "^2.3.4" + "ndarray": "1.0.18", + "ndarray-ops": "1.2.2", + "pngjs-nozlib": "1.0.0", + "through": "2.3.8" }, "dependencies": { "jpeg-js": { @@ -6758,12 +6691,12 @@ "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.0.5.tgz", "integrity": "sha512-+U5H0417mnTEstCD5VwOYO7V4vYuSqwqjFap40ythe67bhMFL5C3UgPwyBv7KDJsqUBIKafOD57xMlh1rN7eaw==", "requires": { - "array-from": "^2.1.1", - "es6-map": "^0.1.5", - "es6-set": "^0.1.5", - "es6-symbol": "^3.1.1", - "estree-is-function": "^1.0.0", - "get-assigned-identifiers": "^1.1.0" + "array-from": "2.1.1", + "es6-map": "0.1.5", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "estree-is-function": "1.0.0", + "get-assigned-identifiers": "1.2.0" } }, "semver": { @@ -6779,18 +6712,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "debug": { @@ -6822,13 +6755,13 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.5", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.20", + "parseurl": "1.3.2" }, "dependencies": { "debug": { @@ -6848,9 +6781,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -6872,10 +6805,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -6884,7 +6817,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6901,8 +6834,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "shallow-copy": { @@ -6916,8 +6849,8 @@ "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", "dev": true, "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" + "json-stable-stringify": "0.0.1", + "sha.js": "2.4.11" } }, "shell-quote": { @@ -6926,10 +6859,10 @@ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dev": true, "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "signal-exit": { @@ -6949,7 +6882,7 @@ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", "dev": true, "requires": { - "string-width": "^1.0.1" + "string-width": "1.0.2" } }, "snapdragon": { @@ -6958,14 +6891,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "debug": { @@ -6983,7 +6916,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -6992,7 +6925,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7003,9 +6936,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -7014,7 +6947,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -7023,7 +6956,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -7032,7 +6965,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -7041,9 +6974,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -7060,7 +6993,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "socket.io": { @@ -7069,12 +7002,12 @@ "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", "dev": true, "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", + "debug": "3.1.0", + "engine.io": "3.2.0", + "has-binary2": "1.0.3", + "socket.io-adapter": "1.1.1", "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" + "socket.io-parser": "3.2.0" } }, "socket.io-adapter": { @@ -7093,15 +7026,15 @@ "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", + "debug": "3.1.0", + "engine.io-client": "3.2.1", + "has-binary2": "1.0.3", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", + "socket.io-parser": "3.2.0", "to-array": "0.1.4" } }, @@ -7112,7 +7045,7 @@ "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "~3.1.0", + "debug": "3.1.0", "isarray": "2.0.1" }, "dependencies": { @@ -7135,11 +7068,11 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.2", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -7148,7 +7081,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "source-map-url": { @@ -7163,8 +7096,8 @@ "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.1" } }, "spdx-exceptions": { @@ -7179,8 +7112,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.1" } }, "spdx-license-ids": { @@ -7201,7 +7134,7 @@ "integrity": "sha1-xDlc5oOrzSVLwo/h2rtuXCfc/64=", "dev": true, "requires": { - "through": "2" + "through": "2.3.8" } }, "split-string": { @@ -7210,7 +7143,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -7224,15 +7157,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz", "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-trace": { @@ -7246,7 +7179,7 @@ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", "requires": { - "escodegen": "~0.0.24" + "escodegen": "0.0.28" }, "dependencies": { "escodegen": { @@ -7254,9 +7187,9 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", "requires": { - "esprima": "~1.0.2", - "estraverse": "~1.3.0", - "source-map": ">= 0.1.2" + "esprima": "1.0.4", + "estraverse": "1.3.2", + "source-map": "0.5.7" } }, "esprima": { @@ -7277,8 +7210,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -7287,7 +7220,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -7297,17 +7230,17 @@ "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", "requires": { - "concat-stream": "~1.6.0", - "duplexer2": "~0.0.2", - "escodegen": "~1.3.2", - "falafel": "^2.1.0", - "has": "^1.0.0", - "object-inspect": "~0.4.0", - "quote-stream": "~0.0.0", - "readable-stream": "~1.0.27-1", - "shallow-copy": "~0.0.1", - "static-eval": "~0.2.0", - "through2": "~0.4.1" + "concat-stream": "1.6.2", + "duplexer2": "0.0.2", + "escodegen": "1.3.3", + "falafel": "2.1.0", + "has": "1.0.3", + "object-inspect": "0.4.0", + "quote-stream": "0.0.0", + "readable-stream": "1.0.34", + "shallow-copy": "0.0.1", + "static-eval": "0.2.4", + "through2": "0.4.2" }, "dependencies": { "duplexer2": { @@ -7315,18 +7248,18 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" }, "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } } } @@ -7343,13 +7276,13 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "through2": { @@ -7357,8 +7290,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "requires": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" + "readable-stream": "1.0.34", + "xtend": "2.1.2" } }, "xtend": { @@ -7366,7 +7299,7 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "requires": { - "object-keys": "~0.4.0" + "object-keys": "0.4.0" } } } @@ -7383,8 +7316,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "stream-combiner2": { @@ -7393,8 +7326,8 @@ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" + "duplexer2": "0.1.4", + "readable-stream": "2.3.6" } }, "stream-http": { @@ -7403,11 +7336,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "stream-read": { @@ -7416,7 +7349,7 @@ "integrity": "sha1-MTcRDXqoC6VOS4KcTNM8oQa5Vk0=", "dev": true, "requires": { - "dezalgo": "^1.0.1" + "dezalgo": "1.0.3" } }, "stream-splicer": { @@ -7425,8 +7358,8 @@ "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "stream-throttle": { @@ -7435,8 +7368,8 @@ "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", "dev": true, "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" + "commander": "2.19.0", + "limiter": "1.1.3" } }, "string-template": { @@ -7451,9 +7384,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.trim": { @@ -7462,9 +7395,9 @@ "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.0", - "function-bind": "^1.0.2" + "define-properties": "1.1.3", + "es-abstract": "1.12.0", + "function-bind": "1.1.1" } }, "string_decoder": { @@ -7474,11 +7407,11 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -7487,7 +7420,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-indent": { @@ -7496,7 +7429,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -7511,7 +7444,7 @@ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", "dev": true, "requires": { - "minimist": "^1.1.0" + "minimist": "1.2.0" } }, "sumchecker": { @@ -7520,8 +7453,8 @@ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", "dev": true, "requires": { - "debug": "^2.2.0", - "es6-promise": "^4.0.5" + "debug": "2.6.9", + "es6-promise": "4.2.5" }, "dependencies": { "debug": { @@ -7540,7 +7473,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "symbol-observable": { @@ -7555,7 +7488,7 @@ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, "requires": { - "acorn-node": "^1.2.0" + "acorn-node": "1.6.0" } }, "tap-out": { @@ -7582,13 +7515,13 @@ "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", "dev": true, "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -7597,7 +7530,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -7608,7 +7541,7 @@ "integrity": "sha1-jh6CPyEU7iHQMuLzHk+2QqKW9Qs=", "dev": true, "requires": { - "split": "~0.1.2" + "split": "0.1.2" }, "dependencies": { "split": { @@ -7617,7 +7550,7 @@ "integrity": "sha1-8HEHRMRT1VH8cUPq2YPaYBTjNsw=", "dev": true, "requires": { - "through": "1" + "through": "1.1.2" } }, "through": { @@ -7634,14 +7567,14 @@ "integrity": "sha512-zMDVJiE5I6Y4XGjlueGXJIX2YIkbDN44broZlnypT38Hj/czfOXrszHNNJBF/DXR8n+x6gbfSx68x04kIEHdrw==", "dev": true, "requires": { - "chalk": "^1.0.0", - "duplexer": "^0.1.1", - "figures": "^1.4.0", - "lodash": "^4.17.10", - "pretty-ms": "^2.1.0", - "repeat-string": "^1.5.2", - "tap-out": "^2.1.0", - "through2": "^2.0.0" + "chalk": "1.1.3", + "duplexer": "0.1.1", + "figures": "1.7.0", + "lodash": "4.17.11", + "pretty-ms": "2.1.0", + "repeat-string": "1.6.1", + "tap-out": "2.1.0", + "through2": "2.0.3" }, "dependencies": { "ansi-styles": { @@ -7652,15 +7585,15 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -7677,19 +7610,19 @@ "integrity": "sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw==", "dev": true, "requires": { - "deep-equal": "~1.0.1", - "defined": "~1.0.0", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.2", - "has": "~1.0.3", - "inherits": "~2.0.3", - "minimist": "~1.2.0", - "object-inspect": "~1.6.0", - "resolve": "~1.7.1", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.1.2", - "through": "~2.3.8" + "deep-equal": "1.0.1", + "defined": "1.0.0", + "for-each": "0.3.3", + "function-bind": "1.1.1", + "glob": "7.1.3", + "has": "1.0.3", + "inherits": "2.0.3", + "minimist": "1.2.0", + "object-inspect": "1.6.0", + "resolve": "1.7.1", + "resumer": "0.0.0", + "string.prototype.trim": "1.1.2", + "through": "2.3.8" }, "dependencies": { "glob": { @@ -7698,12 +7631,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "resolve": { @@ -7712,7 +7645,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } } } @@ -7724,9 +7657,9 @@ "dev": true, "requires": { "@juliangruber/tap-finished": "0.0.2", - "browser-run": "^4.1.1", - "optimist": "~0.6.1", - "through": "~2.3.4", + "browser-run": "4.1.3", + "optimist": "0.6.1", + "through": "2.3.8", "throughout": "0.0.0" } }, @@ -7742,9 +7675,9 @@ "integrity": "sha1-hSdBPNBxAINPzJy7gkK+lboOH+4=", "dev": true, "requires": { - "pify": "^2.3.0", - "temp-dir": "^1.0.0", - "unique-string": "^1.0.0" + "pify": "2.3.0", + "temp-dir": "1.0.0", + "unique-string": "1.0.0" } }, "tfunk": { @@ -7753,8 +7686,8 @@ "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", "dev": true, "requires": { - "chalk": "^1.1.1", - "object-path": "^0.9.0" + "chalk": "1.1.3", + "object-path": "0.9.2" }, "dependencies": { "ansi-styles": { @@ -7769,11 +7702,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -7800,8 +7733,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "throughout": { @@ -7810,8 +7743,8 @@ "integrity": "sha1-2pNVJyMaeUTapg061HoyQprxqME=", "dev": true, "requires": { - "duplexer": "~0.0.2", - "through": "~2.3.4" + "duplexer": "0.0.4", + "through": "2.3.8" }, "dependencies": { "duplexer": { @@ -7828,7 +7761,7 @@ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "dev": true, "requires": { - "process": "~0.11.0" + "process": "0.11.10" } }, "tiny-lr": { @@ -7837,12 +7770,12 @@ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" + "body": "5.1.0", + "debug": "3.1.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.3.0", + "object-assign": "4.1.1", + "qs": "6.5.2" } }, "to-array": { @@ -7863,7 +7796,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -7872,10 +7805,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -7884,8 +7817,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -7893,8 +7826,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.29", + "punycode": "1.4.1" } }, "trim": { @@ -7915,12 +7848,12 @@ "integrity": "sha1-sCxp5GXRcfVeRJJL+bW90gl0yDA=", "dev": true, "requires": { - "duplexer2": "~0.0.2", - "html-select": "^2.3.5", - "html-tokenize": "^1.1.1", - "inherits": "^2.0.0", - "readable-stream": "^1.0.27-1", - "through2": "^1.0.0" + "duplexer2": "0.0.2", + "html-select": "2.3.24", + "html-tokenize": "1.2.5", + "inherits": "2.0.3", + "readable-stream": "1.1.14", + "through2": "1.1.1" }, "dependencies": { "duplexer2": { @@ -7929,19 +7862,19 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" } }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "through2": { @@ -7950,8 +7883,8 @@ "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", "dev": true, "requires": { - "readable-stream": ">=1.1.13-1 <1.2.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "readable-stream": "1.1.14", + "xtend": "4.0.1" } } } @@ -7967,7 +7900,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -7980,7 +7913,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "typedarray": { @@ -7993,8 +7926,8 @@ "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.1.0.tgz", "integrity": "sha1-0RT0hIAUifU+yrXoCIqiMET0mNk=", "requires": { - "bit-twiddle": "^1.0.0", - "dup": "^1.0.0" + "bit-twiddle": "1.0.2", + "dup": "1.0.0" } }, "ua-parser-js": { @@ -8009,8 +7942,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -8051,10 +7984,10 @@ "integrity": "sha512-13EaeocO4edF/3JKime9rD7oB6QI8llAGhgn5fKOPyfkJbRb6NFv9pYV6dFEmpa4uRjKeBqLZP8GpuzqHlKDMQ==", "dev": true, "requires": { - "acorn-node": "^1.3.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" + "acorn-node": "1.6.0", + "get-assigned-identifiers": "1.2.0", + "simple-concat": "1.0.0", + "xtend": "4.0.1" } }, "underscore": { @@ -8068,8 +8001,8 @@ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", "dev": true, "requires": { - "sprintf-js": "^1.0.3", - "util-deprecate": "^1.0.2" + "sprintf-js": "1.1.1", + "util-deprecate": "1.0.2" } }, "union-value": { @@ -8078,10 +8011,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -8090,7 +8023,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -8099,10 +8032,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -8118,7 +8051,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "universalify": { @@ -8139,8 +8072,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -8149,9 +8082,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -8196,12 +8129,12 @@ "resolved": "https://registry.npmjs.org/urify/-/urify-2.1.1.tgz", "integrity": "sha512-4ybbjC35yivSWm0xgIj0duAJUElBRssLxst6QSGL1HapW3zYlsXHcjslBVGwrWd89ItTon5jmiL88UPtubjp1A==", "requires": { - "from2-string": "^1.1.0", - "mime": "^1.3.4", - "quote-stream": "^1.0.2", - "readable-stream": "^2.0.5", - "resolve": "^1.1.7", - "static-module": "^3.0.0" + "from2-string": "1.1.0", + "mime": "1.6.0", + "quote-stream": "1.0.2", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "static-module": "3.0.0" }, "dependencies": { "escodegen": { @@ -8209,11 +8142,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" } }, "esprima": { @@ -8242,8 +8175,8 @@ "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", "requires": { "buffer-equal": "0.0.1", - "minimist": "^1.1.3", - "through2": "^2.0.0" + "minimist": "1.2.0", + "through2": "2.0.3" } }, "source-map": { @@ -8257,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz", "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==", "requires": { - "escodegen": "^1.8.1" + "escodegen": "1.9.1" } }, "static-module": { @@ -8265,20 +8198,20 @@ "resolved": "https://registry.npmjs.org/static-module/-/static-module-3.0.0.tgz", "integrity": "sha512-SM757x+T52ye+QNDo80F53rNpir/ZyyFL0NjPXHRXb1hT1eC2Tzq+LV5P2X12UzHJH5SfD248I5/jzUoSey89Q==", "requires": { - "acorn-node": "^1.3.0", - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", + "acorn-node": "1.6.0", + "concat-stream": "1.6.2", + "convert-source-map": "1.6.0", + "duplexer2": "0.1.4", + "escodegen": "1.9.1", + "has": "1.0.3", + "magic-string": "0.22.5", "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "readable-stream": "~2.3.3", - "scope-analyzer": "^2.0.1", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.0", - "through2": "~2.0.3" + "object-inspect": "1.4.1", + "readable-stream": "2.3.6", + "scope-analyzer": "2.0.5", + "shallow-copy": "0.0.1", + "static-eval": "2.0.0", + "through2": "2.0.3" } } } @@ -8350,8 +8283,8 @@ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.2", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -8359,9 +8292,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vlq": { @@ -8370,13 +8303,10 @@ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true }, "watchify": { "version": "3.11.0", @@ -8384,13 +8314,13 @@ "integrity": "sha512-7jWG0c3cKKm2hKScnSAMUEUjRJKXUShwMPk0ASVhICycQhwND3IMAdhJYmc1mxxKzBUJTSF5HZizfrKrS6BzkA==", "dev": true, "requires": { - "anymatch": "^1.3.0", - "browserify": "^16.1.0", - "chokidar": "^1.0.0", - "defined": "^1.0.0", - "outpipe": "^1.1.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "anymatch": "1.3.2", + "browserify": "16.2.3", + "chokidar": "1.7.0", + "defined": "1.0.0", + "outpipe": "1.1.1", + "through2": "2.0.3", + "xtend": "4.0.1" }, "dependencies": { "anymatch": { @@ -8399,8 +8329,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "assert": { @@ -8435,54 +8365,54 @@ "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.2.0", - "buffer": "^5.0.2", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "labeled-stream-splicer": "^2.0.0", - "mkdirp": "^0.5.0", - "module-deps": "^6.0.0", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", + "JSONStream": "1.3.5", + "assert": "1.4.1", + "browser-pack": "6.1.0", + "browser-resolve": "1.11.3", + "browserify-zlib": "0.2.0", + "buffer": "5.0.8", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "defined": "1.0.0", + "deps-sort": "2.0.0", + "domain-browser": "1.2.0", + "duplexer2": "0.1.4", + "events": "2.1.0", + "glob": "7.1.3", + "has": "1.0.3", + "htmlescape": "1.1.1", + "https-browserify": "1.0.0", + "inherits": "2.0.3", + "insert-module-globals": "7.2.0", + "labeled-stream-splicer": "2.0.1", + "mkdirp": "0.5.1", + "module-deps": "6.1.0", + "os-browserify": "0.3.0", + "parents": "1.0.1", + "path-browserify": "0.0.1", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "read-only-stream": "2.0.0", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "shasum": "1.0.2", + "shell-quote": "1.6.1", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "subarg": "1.0.0", + "syntax-error": "1.4.0", + "through2": "2.0.3", + "timers-browserify": "1.4.2", "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "1.1.0", + "xtend": "4.0.1" } }, "browserify-zlib": { @@ -8491,7 +8421,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "chokidar": { @@ -8500,15 +8430,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1" } }, "detective": { @@ -8517,9 +8447,9 @@ "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==", "dev": true, "requires": { - "acorn-node": "^1.3.0", - "defined": "^1.0.0", - "minimist": "^1.1.1" + "acorn-node": "1.6.0", + "defined": "1.0.0", + "minimist": "1.2.0" } }, "domain-browser": { @@ -8540,12 +8470,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-parent": { @@ -8554,7 +8484,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "https-browserify": { @@ -8575,7 +8505,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "module-deps": { @@ -8584,21 +8514,21 @@ "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", "dev": true, "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.0.2", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "JSONStream": "1.3.5", + "browser-resolve": "1.11.3", + "cached-path-relative": "1.0.1", + "concat-stream": "1.6.2", + "defined": "1.0.0", + "detective": "5.1.0", + "duplexer2": "0.1.4", + "inherits": "2.0.3", + "parents": "1.0.1", + "readable-stream": "2.3.6", + "resolve": "1.8.1", + "stream-combiner2": "1.1.1", + "subarg": "1.0.0", + "through2": "2.0.3", + "xtend": "4.0.1" } }, "os-browserify": { @@ -8619,7 +8549,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "vm-browserify": { @@ -8635,7 +8565,7 @@ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "requires": { - "defaults": "^1.0.3" + "defaults": "1.0.3" } }, "websocket-driver": { @@ -8644,8 +8574,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { @@ -8654,19 +8584,13 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, - "webworkify": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz", - "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==", - "dev": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -8693,8 +8617,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -8709,9 +8633,9 @@ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } }, "xhr-write-stream": { @@ -8720,8 +8644,8 @@ "integrity": "sha1-41eEjg0Dm0Ef3Vs7+BvkfuXOJqo=", "dev": true, "requires": { - "concat-stream": "~0.1.0", - "ordered-emitter": "~0.1.0" + "concat-stream": "0.1.1", + "ordered-emitter": "0.1.1" }, "dependencies": { "concat-stream": { @@ -8755,20 +8679,20 @@ "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.1.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "window-size": "0.2.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" }, "dependencies": { "camelcase": { @@ -8785,7 +8709,7 @@ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" }, "dependencies": { "camelcase": { @@ -8802,7 +8726,7 @@ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "fd-slicer": "1.0.1" } }, "yeast": { diff --git a/package.json b/package.json index ec51d2d7..3be02c86 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,13 @@ "url": "https://github.com/publiclab/image-sequencer/issues" }, "dependencies": { - "bootstrap": "~3.2.0", + "bootstrap": "~3.3.7", "buffer": "~5.0.2", "commander": "^2.11.0", "data-uri-to-buffer": "^2.0.0", "downloadjs": "^1.4.7", "fisheyegl": "^0.1.2", - "font-awesome": "~4.5.0", + "font-awesome": "~4.7.0", "get-pixels": "~3.3.0", "image-sequencer-invert": "^1.0.0", "imagejs": "0.0.9", @@ -45,16 +45,16 @@ "urify": "^2.1.1" }, "devDependencies": { - "browserify": "13.0.0", + "browserify": "16.2.3", "grunt": "^1.0.3", "grunt-browser-sync": "^2.2.0", "grunt-browserify": "^5.0.0", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-uglify-es": "^3.3.0", "grunt-contrib-watch": "^1.1.0", - "image-filter-core": "~1.0.0", + "image-filter-core": "~2.0.2", "image-filter-threshold": "~2.0.1", - "looks-same": "^3.2.1", + "looks-same": "^4.1.0", "matchdep": "^2.0.0", "tap-spec": "^5.0.0", "tape": ">=4.7.0", diff --git a/src/modules/Crop/Module.js b/src/modules/Crop/Module.js index c14545d5..a3853dea 100644 --- a/src/modules/Crop/Module.js +++ b/src/modules/Crop/Module.js @@ -17,7 +17,7 @@ module.exports = function CropModule(options, UI) { // we should get UI to return the image thumbnail so we can attach our own UI extensions // add our custom in-module html ui: - if (options.step.inBrowser) var ui = require('./Ui.js')(options.step, UI); + if (options.step.inBrowser && !options.noUI) var ui = require('./Ui.js')(options.step, UI); var output, setupComplete = false; @@ -49,7 +49,7 @@ module.exports = function CropModule(options, UI) { // start custom UI setup (draggable UI) // only once we have an input image - if (setupComplete === false && options.step.inBrowser) { + if (setupComplete === false && options.step.inBrowser && !options.noUI) { setupComplete = true; ui.setup(); } diff --git a/yarn.lock b/yarn.lock index 4aa4d5cd..57a4fbb7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -59,7 +59,7 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.0.tgz#c957f4a1460da46af4a0388ce28b4c99355b0cbc" integrity sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg== -acorn@^5.0.0, acorn@^5.2.1: +acorn@^5.0.0: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== @@ -251,13 +251,6 @@ assert@^1.4.0: dependencies: util "0.10.3" -assert@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.3.0.tgz#03939a622582a812cc202320a0b9a56c9b815849" - integrity sha1-A5OaYiWCqBLMICMgoLmlbJuBWEk= - dependencies: - util "0.10.3" - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -410,10 +403,10 @@ body@^5.1.0: raw-body "~1.1.0" safe-json-parse "~1.0.1" -bootstrap@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-3.2.0.tgz#a0726e7c12e79f4a2a504f8d1ee9f2850a83f637" - integrity sha1-oHJufBLnn0oqUE+NHunyhQqD9jc= +bootstrap@~3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-3.3.7.tgz#5a389394549f23330875a3b150656574f8a9eb71" + integrity sha1-WjiTlFSfIzMIdaOxUGVldPip63E= brace-expansion@^1.1.7: version "1.1.11" @@ -632,7 +625,7 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@^0.1.4, browserify-zlib@~0.1.2: +browserify-zlib@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= @@ -646,60 +639,7 @@ browserify-zlib@~0.2.0: dependencies: pako "~1.0.5" -browserify@13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-13.0.0.tgz#8f223bb24ff4ee4335e6bea9671de294e43ba6a3" - integrity sha1-jyI7sk/07kM15r6pZx3ilOQ7pqM= - dependencies: - JSONStream "^1.0.3" - assert "~1.3.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.1.2" - buffer "^4.1.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^5.0.15" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "~0.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - isarray "0.0.1" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.2" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.4.3" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~0.10.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - -browserify@^16.0.0, browserify@^16.1.0: +browserify@16.2.3, browserify@^16.0.0, browserify@^16.1.0: version "16.2.3" resolved "https://registry.yarnpkg.com/browserify/-/browserify-16.2.3.tgz#7ee6e654ba4f92bce6ab3599c3485b1cc7a0ad0b" integrity sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ== @@ -783,15 +723,6 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^4.1.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.0.2: version "5.2.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" @@ -1043,10 +974,10 @@ color-convert@~0.5.0: resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" integrity sha1-vbbGnOZg+t/+CwAHzER+G59ygr0= -color-diff@^0.1.5: - version "0.1.7" - resolved "https://registry.yarnpkg.com/color-diff/-/color-diff-0.1.7.tgz#6db78cd9482a8e459d40821eaf4b503283dcb8e2" - integrity sha1-bbeM2UgqjkWdQIIer0tQMoPcuOI= +color-diff@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/color-diff/-/color-diff-1.1.0.tgz#983ae7f936679e94e365dfe44a16aa153bdae88e" + integrity sha1-mDrn+TZnnpTjZd/kShaqFTva6I4= color-name@1.1.3: version "1.1.3" @@ -1112,7 +1043,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.6.2, concat-stream@^1.4.1, concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@^1.6.1, concat-stream@~1.6.0: +concat-stream@1.6.2, concat-stream@^1.4.1, concat-stream@^1.6.0, concat-stream@^1.6.1, concat-stream@^1.6.2, concat-stream@~1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -1127,15 +1058,6 @@ concat-stream@~0.1.0: resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-0.1.1.tgz#d7f4e278b90cfc4f0f3ef77fe4c03b40eb3f7900" integrity sha1-1/TieLkM/E8PPvd/5MA7QOs/eQA= -concat-stream@~1.5.0, concat-stream@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY= - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - connect-history-api-fallback@^1: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" @@ -1473,14 +1395,6 @@ detect-libc@^1.0.2: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -detective@^4.0.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" - integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== - dependencies: - acorn "^5.2.1" - defined "^1.0.0" - detective@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/detective/-/detective-5.1.0.tgz#7a20d89236d7b331ccea65832e7123b5551bb7cb" @@ -1517,11 +1431,6 @@ domain-browser@^1.2.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domain-browser@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" - integrity sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw= - downloadjs@^1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/downloadjs/-/downloadjs-1.4.7.tgz#f69f96f940e0d0553dac291139865a3cd0101e3c" @@ -1931,11 +1840,6 @@ events@^2.0.0: resolved "https://registry.yarnpkg.com/events/-/events-2.1.0.tgz#2a9a1e18e6106e0e812aa9ebd4a819b3c29c0ba5" integrity sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg== -events@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -2167,10 +2071,10 @@ follow-redirects@^1.2.5: dependencies: debug "=3.1.0" -font-awesome@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.5.0.tgz#1e9d7ccf7d63bdbe57000e18d5188cb2557e70f8" - integrity sha1-Hp18z31jvb5XAA4Y1RiMslV+cPg= +font-awesome@~4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" + integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM= for-each@~0.3.3: version "0.3.3" @@ -2382,17 +2286,6 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^5.0.15, glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^7.0.5, glob@^7.1.0, glob@^7.1.2, glob@~7.1.1, glob@~7.1.2: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -2405,6 +2298,17 @@ glob@^7.0.5, glob@^7.1.0, glob@^7.1.2, glob@~7.1.1, glob@~7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" +glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@~7.0.0: version "7.0.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" @@ -2791,11 +2695,6 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-browserify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - integrity sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI= - iconv-lite@0.4.23: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" @@ -2822,21 +2721,13 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -image-filter-core@^2.0.0: +image-filter-core@^2.0.0, image-filter-core@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/image-filter-core/-/image-filter-core-2.0.2.tgz#1b994c9b9e34476530de9ca8450e85f87a81bd10" integrity sha1-G5lMm540R2Uw3pyoRQ6F+HqBvRA= dependencies: es6-promise "^4.0.5" -image-filter-core@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/image-filter-core/-/image-filter-core-1.0.0.tgz#7a81477b299cc910db67ff7c2c000ca1da44aa4f" - integrity sha1-eoFHeymcyRDbZ/98LAAModpEqk8= - dependencies: - es6-promise "^4.0.5" - webworkify "^1.2.1" - image-filter-threshold@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/image-filter-threshold/-/image-filter-threshold-2.0.1.tgz#4714ddd9afad507cb28239b346236e2c2a6fbb4c" @@ -3172,7 +3063,7 @@ isarray@0.0.1, isarray@~0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -3431,16 +3322,16 @@ longest@^1.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= -looks-same@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/looks-same/-/looks-same-3.3.0.tgz#8ae84d2191f1b63a00596b7ac767a24bcc25824e" - integrity sha512-EfiQf32HIiNCDoyG8SXgeg1AW/T8G1q0xo8JyKp0TbgjDbNPF+cUi1xmTSYi2+73JwV+lsEuGgsh1ZZSpV9aYA== +looks-same@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/looks-same/-/looks-same-4.1.0.tgz#fa9593350dcddc79999fe130689860f9fb6afff2" + integrity sha512-9dvYQrWpMhQzyyR25xRtFMq6TSXhduTcKKvYtlMf9IHzb+r/fvF+MQG6+hChC4MrLVlA+MRTOt6fhvUkbZ9IpA== dependencies: - color-diff "^0.1.5" - concat-stream "^1.5.0" + color-diff "^1.1.0" + concat-stream "^1.6.2" lodash "^4.17.3" parse-color "^1.0.0" - pngjs "^3.0.1" + pngjs "^3.3.3" loud-rejection@^1.0.0: version "1.6.0" @@ -3686,27 +3577,6 @@ mkdirp@~0.3.3: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc= -module-deps@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" - integrity sha1-IyFYM/HaE/1gbMuAh7RIUty4If0= - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - parents "^1.0.0" - readable-stream "^2.0.2" - resolve "^1.1.3" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - module-deps@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.1.0.tgz#d1e1efc481c6886269f7112c52c3236188e16479" @@ -4086,11 +3956,6 @@ ordered-emitter@~0.1.0: resolved "https://registry.yarnpkg.com/ordered-emitter/-/ordered-emitter-0.1.1.tgz#aa20bdafbdcc1631834a350f68b4ef8eb34eed7b" integrity sha1-qiC9r73MFjGDSjUPaLTvjrNO7Xs= -os-browserify@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" - integrity sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ= - os-browserify@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -4331,7 +4196,7 @@ pngjs-nozlib@^1.0.0: resolved "https://registry.yarnpkg.com/pngjs-nozlib/-/pngjs-nozlib-1.0.0.tgz#9e64d602cfe9cce4d9d5997d0687429a73f0b7d7" integrity sha1-nmTWAs/pzOTZ1Zl9BodCmnPwt9c= -pngjs@^3.0.1, pngjs@^3.3.3: +pngjs@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.3.3.tgz#85173703bde3edac8998757b96e5821d0966a21b" integrity sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q== @@ -4595,18 +4460,6 @@ readable-stream@~1.0.17, readable-stream@~1.0.27-1, readable-stream@~1.0.33-1: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - readable-wrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/readable-wrap/-/readable-wrap-1.0.0.tgz#3b5a211c631e12303a54991c806c17e7ae206bff" @@ -4732,7 +4585,7 @@ resolve@1.1.7, resolve@~1.1.0: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0: +resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== @@ -4968,7 +4821,7 @@ shasum@^1.0.0: json-stable-stringify "~0.0.0" sha.js "~2.4.4" -shell-quote@^1.4.2, shell-quote@^1.4.3, shell-quote@^1.6.1: +shell-quote@^1.4.2, shell-quote@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= @@ -5372,7 +5225,7 @@ string.prototype.trim@~1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" -string_decoder@0.10, string_decoder@~0.10.0, string_decoder@~0.10.x: +string_decoder@0.10, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= @@ -5698,7 +5551,7 @@ trumpet@^1.7.1: readable-stream "^1.0.27-1" through2 "^1.0.0" -tty-browserify@0.0.1, tty-browserify@~0.0.0: +tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== @@ -5730,7 +5583,7 @@ typedarray-pool@^1.0.0, typedarray-pool@^1.1.0: bit-twiddle "^1.0.0" dup "^1.0.0" -typedarray@^0.0.6, typedarray@~0.0.5: +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= @@ -5937,13 +5790,6 @@ vm-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== -vm-browserify@~0.0.1: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" - watchify@^3.6.1: version "3.11.0" resolved "https://registry.yarnpkg.com/watchify/-/watchify-3.11.0.tgz#03f1355c643955e7ab8dcbf399f624644221330f" @@ -5977,11 +5823,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== -webworkify@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/webworkify/-/webworkify-1.5.0.tgz#734ad87a774de6ebdd546e1d3e027da5b8f4a42c" - integrity sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g== - which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"