diff --git a/.gitignore b/.gitignore
index 123ae94..47e3daf 100755
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ build/Release
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
+.nyc_output/*
diff --git a/README.md b/README.md
index 450c0b5..600b19e 100755
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# NZ Bank Account Validator
+## Important: latest changes please refer to: RWT and NRWT Certificates / 2020 / Version 1.0
+
v0.0.4 - A small, zero dependency Javascript NZ bank account validation library that runs everywhere.
It is based on the [documentation](https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08-522c62d94dd6/rwt-nrwt-spec-2016.pdf) provided by the Inland Revenue Department.
@@ -80,6 +82,8 @@ To run the tests locally:
```shell
npm i
npm run tests
+npm run testCoverage
+# check coverage
```
## Authors
diff --git a/examples/browser.html b/examples/browser.html
index be5d007..39a9ec0 100644
--- a/examples/browser.html
+++ b/examples/browser.html
@@ -4,10 +4,10 @@
Browser example
-
+
diff --git a/lib/NZ-Bank-Account-Validator.js b/lib/NZ-Bank-Account-Validator.js
index f41bb1a..c4798e9 100644
--- a/lib/NZ-Bank-Account-Validator.js
+++ b/lib/NZ-Bank-Account-Validator.js
@@ -157,7 +157,10 @@ return /******/ (function(modules) { // webpackBootstrap
base = partsObject.base;
// VALIDATION - STEP 1
- // https://www.ird.govt.nz/resources/d/8/d8e49dce-1bda-4875-8acf-9ebf908c6e17/rwt-nrwt-spec-2014.pdf (PAGE 10)
+ /*
+ https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08
+ -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)
+ */
var bankData = this.getBankData(id, branch);
@@ -172,7 +175,10 @@ return /******/ (function(modules) { // webpackBootstrap
}
// VALIDATION - STEP 2
- // https://www.ird.govt.nz/resources/d/8/d8e49dce-1bda-4875-8acf-9ebf908c6e17/rwt-nrwt-spec-2014.pdf (PAGE 11)
+ /*
+ https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08
+ -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)
+ */
var weighting = algorithm.weighting,
modulo = algorithm.modulo,
@@ -254,7 +260,9 @@ return /******/ (function(modules) { // webpackBootstrap
'02': [[1, 999], [1200, 1299]],
- '03': [[1, 999], [1300, 1399], [1500, 1599], [1700, 1799], [1900, 1999]],
+ '03': [[1, 999], [1300, 1399], [1500, 1599], [1700, 1799], [1900, 1999], [7350, 7399]],
+
+ '04': [[2020, 2024]],
'06': [[1, 999], [1400, 1499]],
diff --git a/lib/NZ-Bank-Account-Validator.js.map b/lib/NZ-Bank-Account-Validator.js.map
index 8ad6710..1df40ad 100644
--- a/lib/NZ-Bank-Account-Validator.js.map
+++ b/lib/NZ-Bank-Account-Validator.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 5c6677441d91be0466e5","webpack:///./src/index.js","webpack:///./src/constants.js","webpack:///./src/utils.js"],"names":["getId","input","getPartsObject","id","getBranch","branch","getBase","base","getSuffix","suffix","isPartsObject","obj","inputsKeys","Object","keys","requiredKeys","filteredKeys","filter","includes","k","length","splitString","str","parts","split","slice","i","partsObjectValid","reduce","isValid","key","value","onlyNumbers","withinMaxLength","valueValid","validate","partsObject","bankData","getBankData","algorithm","getChecksum","weighting","modulo","specialCase","earlyExit","result","num","idx","multiplied","summed","summedTwice","final","paddedId","find","ranges","r","branches","parseInt","partConstants","partIndexes","partMaxLengths","bankChecksums","A","B","C","D","E","F","G","X","isString","x","isNumbersOnly","test","padLeft","token","Array","String","join","inRange","start","end","inRanges","bool","range","sumChars","int","acc","getPaddedAccountArray","partsObj","a","paddedValue","splitValues","concat"],"mappings":"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","file":"NZ-Bank-Account-Validator.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 5c6677441d91be0466e5\n **/","import {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n} from './constants';\n\nimport {\n isString,\n isNumbersOnly,\n padLeft,\n inRanges,\n sumChars,\n getPaddedAccountArray\n} from './utils';\n\nexport default {\n\n getId(input) {\n return this.getPartsObject(input).id;\n },\n getBranch(input) {\n return this.getPartsObject(input).branch;\n },\n getBase(input) {\n return this.getPartsObject(input).base;\n },\n getSuffix(input) {\n return this.getPartsObject(input).suffix;\n },\n\n isPartsObject(obj = {}) {\n if (typeof obj !== 'object') return false;\n const inputsKeys = Object.keys(obj);\n const requiredKeys = Object.keys(partConstants);\n const filteredKeys = requiredKeys.filter(k => inputsKeys.includes(k));\n\n return requiredKeys.length === filteredKeys.length;\n },\n\n splitString(str = '') {\n const parts = isString(str) ? str.split(/[^0-9]/) : [];\n\n // If the input string had no delimiters, and its length is\n // long enough, manually forge an array.\n if (parts.length === 1) {\n parts[0] = str.slice(0, 2);\n parts[1] = str.slice(2, 5);\n parts[2] = str.slice(5, 12);\n parts[3] = str.slice(12);\n }\n\n return parts.filter(i => i.length);\n },\n\n getPartsObject(input) {\n if (this.isPartsObject(input)) {\n return input;\n }\n\n if (!isString(input)) {\n return {};\n }\n\n const parts = this.splitString(input);\n\n return {\n id: parts[partIndexes.id],\n branch: parts[partIndexes.branch],\n base: parts[partIndexes.base],\n suffix: parts[partIndexes.suffix]\n };\n },\n\n partsObjectValid(obj = {}) {\n const keys = Object.keys(obj);\n\n if (keys.length !== 4) {\n return false;\n }\n\n return keys.reduce((isValid, key) => {\n const value = obj[key];\n const onlyNumbers = isNumbersOnly(value);\n const withinMaxLength = isString(value) && (value.length <= partMaxLengths[key]);\n const valueValid = onlyNumbers && withinMaxLength;\n\n return isValid && valueValid;\n }, true);\n },\n\n validate(input) {\n const partsObject = this.getPartsObject(input);\n\n if (!this.partsObjectValid(partsObject)) {\n return false;\n }\n\n const { id, branch, base } = partsObject;\n\n // VALIDATION - STEP 1\n // https://www.ird.govt.nz/resources/d/8/d8e49dce-1bda-4875-8acf-9ebf908c6e17/rwt-nrwt-spec-2014.pdf (PAGE 10)\n\n const bankData = this.getBankData(id, branch);\n\n if (!bankData) { return false; }\n\n const algorithm = this.getChecksum(bankData, base);\n\n if (!algorithm) { return false; }\n\n // VALIDATION - STEP 2\n // https://www.ird.govt.nz/resources/d/8/d8e49dce-1bda-4875-8acf-9ebf908c6e17/rwt-nrwt-spec-2014.pdf (PAGE 11)\n\n const { weighting, modulo, specialCase } = algorithm;\n const earlyExit = !specialCase;\n\n const result = getPaddedAccountArray(partsObject).reduce((result, num, idx) => {\n const multiplied = num * weighting[idx];\n\n if (earlyExit || multiplied < 10) {\n return result + multiplied;\n }\n\n const summed = sumChars(multiplied);\n const summedTwice = sumChars(summed);\n const final = summed < 10 ? summed : summedTwice;\n\n return result + final;\n }, 0);\n\n // Final modulo test\n return result % modulo === 0;\n },\n\n getBankData(id, branch) {\n const paddedId = padLeft(id, partMaxLengths.id);\n\n return bankData.find(r => {\n const ranges = r.branches[paddedId];\n\n return ranges && inRanges(branch, ranges);\n });\n },\n\n getChecksum(bankData, base) {\n let { key } = bankData;\n\n if (key === 'AB') {\n key = (parseInt(base, 10) < 990000) ? 'A' : 'B';\n }\n\n return bankChecksums[key];\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/index.js\n **/","/*eslint-disable */\n\nconst partConstants = {\n id: 'id',\n branch: 'branch',\n base: 'base',\n suffix: 'suffix'\n};\n\nconst partIndexes = {\n [partConstants.id]: 0,\n [partConstants.branch]: 1,\n [partConstants.base]: 2,\n [partConstants.suffix]: 3\n};\n\nconst partMaxLengths = {\n [partConstants.id]: 2,\n [partConstants.branch]: 4,\n [partConstants.base]: 8,\n [partConstants.suffix]: 4\n};\n\nconst bankData = [\n {\n key: 'AB',\n branches: {\n\n '01': [\n [1, 999],\n [1100, 1199],\n [1800, 1899]\n ],\n\n '02': [\n [1, 999],\n [1200, 1299]\n ],\n\n '03': [\n [1, 999],\n [1300, 1399],\n [1500, 1599],\n [1700, 1799],\n [1900, 1999]\n ],\n\n '06': [\n [1, 999],\n [1400, 1499]\n ],\n\n '11': [\n [5000, 6499],\n [6600, 8999]\n ],\n\n '12': [\n [3000, 3299],\n [3400, 3499],\n [3600, 3699]\n ],\n\n '13': [\n [4900, 4999]\n ],\n\n '14': [\n [4700, 4799]\n ], \n\n '15': [\n [3900, 3999]\n ],\n\n '16': [\n [4400, 4499]\n ],\n\n '17': [\n [3300, 3399]\n ],\n\n '18': [\n [3500, 3599]\n ],\n\n '19': [\n [4600, 4649]\n ],\n\n '20': [\n [4100, 4199]\n ],\n\n '21': [\n [4800, 4899]\n ],\n\n '22': [\n [4000, 4049]\n ],\n\n '23': [\n [3700, 3799]\n ],\n\n '24': [\n [4300, 4349]\n ],\n\n '27': [\n [3800, 3849]\n ],\n\n '30': [\n [2900, 2949]\n ],\n\n '35': [\n [2400, 2499]\n ],\n\n '38': [\n [9000, 9499]\n ]\n }\n },\n\n {\n key: 'D',\n branches: {\n '08': [\n [6500, 6599]\n ]\n }\n },\n\n {\n key: 'E',\n branches: {\n '09': [\n [0, 0]\n ]\n }\n },\n\n {\n key: 'F',\n branches: {\n '25': [\n [2500, 2599]\n ],\n\n '33': [\n [6700, 6799]\n ]\n }\n },\n\n {\n key: 'G',\n branches: {\n '26': [\n [2600, 2699]\n ],\n\n '28': [\n [2100, 2149]\n ],\n\n '29': [\n [2150, 2299]\n ]\n }\n },\n\n {\n key: 'X',\n branches: {\n '31': [\n [2800, 2849]\n ]\n }\n }\n\n]; \n\nconst bankChecksums = {\n A: {\n weighting: [0,0, 6,3,7,9, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n B: {\n weighting: [0,0, 0,0,0,0, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n C: {\n weighting: [3, 7, 0,0,0,0, 9,1,10,5,3,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n D: {\n weighting: [0, 0, 0,0,0,0, 0,7,6,5,4,3,2,1, 0,0,0,0],\n modulo: 11\n },\n\n E: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,5,4,3,2, 0,0,0,1],\n modulo: 11,\n specialCase: true\n },\n\n F: {\n weighting: [0, 0, 0,0,0,0, 0,1,7,3,1,7,3,1, 0,0,0,0],\n modulo: 10\n },\n\n G: {\n weighting: [0, 0, 0,0,0,0, 0,1,3,7,1,3,7,1, 0,3,7,1],\n modulo: 10,\n specialCase: true\n },\n\n X: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0],\n modulo: 1\n },\n};\n\n/*eslint-enable */\n\nexport default {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/constants.js\n **/","import {\n partMaxLengths\n} from './constants';\n\nconst isString = x => x === x + '';\n\nconst isNumbersOnly = x => /^[0-9]+$/.test(x);\n\nconst padLeft = (input, length, token = '0') => Array(length - String(input).length + 1).join(token) + input;\n\nconst inRange = (start, value, end) => value >= start && value <= end;\n\nconst inRanges = (value, ranges = []) => {\n return ranges.reduce((bool, range) => {\n const [ start, end ] = range;\n\n return bool || inRange(start, value, end);\n }, false);\n};\n\nconst sumChars = int => {\n return (int + '').split('').reduce((acc, num) => {\n return acc + (num * 1);\n }, 0);\n};\n\nconst getPaddedAccountArray = (partsObj) => {\n return Object.keys(partsObj).reduce((a, k) => {\n const paddedValue = padLeft(partsObj[k], partMaxLengths[k]);\n const splitValues = paddedValue.split('');\n\n return a.concat(splitValues);\n }, []);\n};\n\nexport default {\n isString,\n isNumbersOnly,\n padLeft,\n inRange,\n inRanges,\n sumChars,\n getPaddedAccountArray\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/utils.js\n **/"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 8ce090bd9cc4c192d31f","webpack:///./src/index.js","webpack:///./src/constants.js","webpack:///./src/utils.js"],"names":["getId","input","getPartsObject","id","getBranch","branch","getBase","base","getSuffix","suffix","isPartsObject","obj","inputsKeys","Object","keys","requiredKeys","partConstants","filteredKeys","filter","includes","k","length","splitString","str","parts","split","slice","i","partIndexes","partsObjectValid","reduce","isValid","key","value","onlyNumbers","withinMaxLength","partMaxLengths","valueValid","validate","partsObject","bankData","getBankData","algorithm","getChecksum","weighting","modulo","specialCase","earlyExit","result","num","idx","multiplied","summed","summedTwice","final","paddedId","find","ranges","r","branches","parseInt","bankChecksums","A","B","C","D","E","F","G","X","isString","x","isNumbersOnly","test","padLeft","token","Array","String","join","inRange","start","end","inRanges","bool","range","sumChars","int","acc","getPaddedAccountArray","partsObj","a","paddedValue","splitValues","concat"],"mappings":"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","file":"NZ-Bank-Account-Validator.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 8ce090bd9cc4c192d31f\n **/","import {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n} from './constants';\n\nimport {\n isString,\n isNumbersOnly,\n padLeft,\n inRanges,\n sumChars,\n getPaddedAccountArray\n} from './utils';\n\nexport default {\n\n getId(input) {\n return this.getPartsObject(input).id;\n },\n getBranch(input) {\n return this.getPartsObject(input).branch;\n },\n getBase(input) {\n return this.getPartsObject(input).base;\n },\n getSuffix(input) {\n return this.getPartsObject(input).suffix;\n },\n\n isPartsObject(obj = {}) {\n if (typeof obj !== 'object') return false;\n const inputsKeys = Object.keys(obj);\n const requiredKeys = Object.keys(partConstants);\n const filteredKeys = requiredKeys.filter(k => inputsKeys.includes(k));\n\n return requiredKeys.length === filteredKeys.length;\n },\n\n splitString(str = '') {\n const parts = isString(str) ? str.split(/[^0-9]/) : [];\n\n // If the input string had no delimiters, and its length is\n // long enough, manually forge an array.\n if (parts.length === 1) {\n parts[0] = str.slice(0, 2);\n parts[1] = str.slice(2, 5);\n parts[2] = str.slice(5, 12);\n parts[3] = str.slice(12);\n }\n\n return parts.filter(i => i.length);\n },\n\n getPartsObject(input) {\n if (this.isPartsObject(input)) {\n return input;\n }\n\n if (!isString(input)) {\n return {};\n }\n\n const parts = this.splitString(input);\n\n return {\n id: parts[partIndexes.id],\n branch: parts[partIndexes.branch],\n base: parts[partIndexes.base],\n suffix: parts[partIndexes.suffix]\n };\n },\n\n partsObjectValid(obj = {}) {\n const keys = Object.keys(obj);\n\n if (keys.length !== 4) {\n return false;\n }\n\n return keys.reduce((isValid, key) => {\n const value = obj[key];\n const onlyNumbers = isNumbersOnly(value);\n const withinMaxLength = isString(value) && (value.length <= partMaxLengths[key]);\n const valueValid = onlyNumbers && withinMaxLength;\n\n return isValid && valueValid;\n }, true);\n },\n\n validate(input) {\n const partsObject = this.getPartsObject(input);\n\n if (!this.partsObjectValid(partsObject)) {\n return false;\n }\n\n const { id, branch, base } = partsObject;\n\n // VALIDATION - STEP 1\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)\n */\n\n const bankData = this.getBankData(id, branch);\n\n if (!bankData) { return false; }\n\n const algorithm = this.getChecksum(bankData, base);\n\n if (!algorithm) { return false; }\n\n // VALIDATION - STEP 2\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)\n */\n\n const { weighting, modulo, specialCase } = algorithm;\n const earlyExit = !specialCase;\n\n const result = getPaddedAccountArray(partsObject).reduce((result, num, idx) => {\n const multiplied = num * weighting[idx];\n\n if (earlyExit || multiplied < 10) {\n return result + multiplied;\n }\n\n const summed = sumChars(multiplied);\n const summedTwice = sumChars(summed);\n const final = summed < 10 ? summed : summedTwice;\n\n return result + final;\n }, 0);\n\n // Final modulo test\n return result % modulo === 0;\n },\n\n getBankData(id, branch) {\n const paddedId = padLeft(id, partMaxLengths.id);\n\n return bankData.find(r => {\n const ranges = r.branches[paddedId];\n\n return ranges && inRanges(branch, ranges);\n });\n },\n\n getChecksum(bankData, base) {\n let { key } = bankData;\n\n if (key === 'AB') {\n key = (parseInt(base, 10) < 990000) ? 'A' : 'B';\n }\n\n return bankChecksums[key];\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/index.js\n **/","/*eslint-disable */\n\nconst partConstants = {\n id: 'id',\n branch: 'branch',\n base: 'base',\n suffix: 'suffix'\n};\n\nconst partIndexes = {\n [partConstants.id]: 0,\n [partConstants.branch]: 1,\n [partConstants.base]: 2,\n [partConstants.suffix]: 3\n};\n\nconst partMaxLengths = {\n [partConstants.id]: 2,\n [partConstants.branch]: 4,\n [partConstants.base]: 8,\n [partConstants.suffix]: 4\n};\n\nconst bankData = [\n {\n key: 'AB',\n branches: {\n\n '01': [\n [1, 999],\n [1100, 1199],\n [1800, 1899]\n ],\n\n '02': [\n [1, 999],\n [1200, 1299]\n ],\n\n '03': [\n [1, 999],\n [1300, 1399],\n [1500, 1599],\n [1700, 1799],\n [1900, 1999],\n [7350,7399]\n ],\n\n '04': [\n [2020,2024]\n ],\n\n '06': [\n [1, 999],\n [1400, 1499]\n ],\n\n '11': [\n [5000, 6499],\n [6600, 8999]\n ],\n\n '12': [\n [3000, 3299],\n [3400, 3499],\n [3600, 3699]\n ],\n\n '13': [\n [4900, 4999]\n ],\n\n '14': [\n [4700, 4799]\n ], \n\n '15': [\n [3900, 3999]\n ],\n\n '16': [\n [4400, 4499]\n ],\n\n '17': [\n [3300, 3399]\n ],\n\n '18': [\n [3500, 3599]\n ],\n\n '19': [\n [4600, 4649]\n ],\n\n '20': [\n [4100, 4199]\n ],\n\n '21': [\n [4800, 4899]\n ],\n\n '22': [\n [4000, 4049]\n ],\n\n '23': [\n [3700, 3799]\n ],\n\n '24': [\n [4300, 4349]\n ],\n\n '27': [\n [3800, 3849]\n ],\n\n '30': [\n [2900, 2949]\n ],\n\n '35': [\n [2400, 2499]\n ],\n\n '38': [\n [9000, 9499]\n ]\n }\n },\n\n {\n key: 'D',\n branches: {\n '08': [\n [6500, 6599]\n ]\n }\n },\n\n {\n key: 'E',\n branches: {\n '09': [\n [0, 0]\n ]\n }\n },\n\n {\n key: 'F',\n branches: {\n '25': [\n [2500, 2599]\n ],\n\n '33': [\n [6700, 6799]\n ]\n }\n },\n\n {\n key: 'G',\n branches: {\n '26': [\n [2600, 2699]\n ],\n\n '28': [\n [2100, 2149]\n ],\n\n '29': [\n [2150, 2299]\n ]\n }\n },\n\n {\n key: 'X',\n branches: {\n '31': [\n [2800, 2849]\n ]\n }\n }\n\n]; \n\nconst bankChecksums = {\n A: {\n weighting: [0,0, 6,3,7,9, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n B: {\n weighting: [0,0, 0,0,0,0, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n C: {\n weighting: [3, 7, 0,0,0,0, 9,1,10,5,3,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n D: {\n weighting: [0, 0, 0,0,0,0, 0,7,6,5,4,3,2,1, 0,0,0,0],\n modulo: 11\n },\n\n E: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,5,4,3,2, 0,0,0,1],\n modulo: 11,\n specialCase: true\n },\n\n F: {\n weighting: [0, 0, 0,0,0,0, 0,1,7,3,1,7,3,1, 0,0,0,0],\n modulo: 10\n },\n\n G: {\n weighting: [0, 0, 0,0,0,0, 0,1,3,7,1,3,7,1, 0,3,7,1],\n modulo: 10,\n specialCase: true\n },\n\n X: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0],\n modulo: 1\n },\n};\n\n/*eslint-enable */\n\nexport default {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/constants.js\n **/","import {\n partMaxLengths\n} from './constants';\n\nconst isString = x => x === x + '';\n\nconst isNumbersOnly = x => /^[0-9]+$/.test(x);\n\nconst padLeft = (input, length, token = '0') => Array(length - String(input).length + 1).join(token) + input;\n\nconst inRange = (start, value, end) => value >= start && value <= end;\n\nconst inRanges = (value, ranges = []) => {\n return ranges.reduce((bool, range) => {\n const [ start, end ] = range;\n\n return bool || inRange(start, value, end);\n }, false);\n};\n\nconst sumChars = int => {\n return (int + '').split('').reduce((acc, num) => {\n return acc + (num * 1);\n }, 0);\n};\n\nconst getPaddedAccountArray = (partsObj) => {\n return Object.keys(partsObj).reduce((a, k) => {\n const paddedValue = padLeft(partsObj[k], partMaxLengths[k]);\n const splitValues = paddedValue.split('');\n\n return a.concat(splitValues);\n }, []);\n};\n\nexport default {\n isString,\n isNumbersOnly,\n padLeft,\n inRange,\n inRanges,\n sumChars,\n getPaddedAccountArray\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/utils.js\n **/"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/NZ-Bank-Account-Validator.min.js b/lib/NZ-Bank-Account-Validator.min.js
index 90a312a..73e605c 100644
--- a/lib/NZ-Bank-Account-Validator.min.js
+++ b/lib/NZ-Bank-Account-Validator.min.js
@@ -1,2 +1,2 @@
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("NZ-Bank-Account-Validator",[],e):"object"==typeof exports?exports["NZ-Bank-Account-Validator"]=e():t["NZ-Bank-Account-Validator"]=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),a=n(2);e["default"]={getId:function(t){return this.getPartsObject(t).id},getBranch:function(t){return this.getPartsObject(t).branch},getBase:function(t){return this.getPartsObject(t).base},getSuffix:function(t){return this.getPartsObject(t).suffix},isPartsObject:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==("undefined"==typeof t?"undefined":r(t)))return!1;var e=Object.keys(t),n=Object.keys(i.partConstants),a=n.filter(function(t){return e.includes(t)});return n.length===a.length},splitString:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=(0,a.isString)(t)?t.split(/[^0-9]/):[];return 1===e.length&&(e[0]=t.slice(0,2),e[1]=t.slice(2,5),e[2]=t.slice(5,12),e[3]=t.slice(12)),e.filter(function(t){return t.length})},getPartsObject:function(t){if(this.isPartsObject(t))return t;if(!(0,a.isString)(t))return{};var e=this.splitString(t);return{id:e[i.partIndexes.id],branch:e[i.partIndexes.branch],base:e[i.partIndexes.base],suffix:e[i.partIndexes.suffix]}},partsObjectValid:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object.keys(t);return 4===e.length&&e.reduce(function(e,n){var r=t[n],u=(0,a.isNumbersOnly)(r),o=(0,a.isString)(r)&&r.length<=i.partMaxLengths[n],s=u&&o;return e&&s},!0)},validate:function(t){var e=this.getPartsObject(t);if(!this.partsObjectValid(e))return!1;var n=e.id,r=e.branch,i=e.base,u=this.getBankData(n,r);if(!u)return!1;var o=this.getChecksum(u,i);if(!o)return!1;var s=o.weighting,c=o.modulo,f=o.specialCase,l=!f,d=(0,a.getPaddedAccountArray)(e).reduce(function(t,e,n){var r=e*s[n];if(l||r<10)return t+r;var i=(0,a.sumChars)(r),u=(0,a.sumChars)(i),o=i<10?i:u;return t+o},0);return d%c===0},getBankData:function(t,e){var n=(0,a.padLeft)(t,i.partMaxLengths.id);return i.bankData.find(function(t){var r=t.branches[n];return r&&(0,a.inRanges)(e,r)})},getChecksum:function(t,e){var n=t.key;return"AB"===n&&(n=parseInt(e,10)<99e4?"A":"B"),i.bankChecksums[n]}},t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r,i,a={id:"id",branch:"branch",base:"base",suffix:"suffix"},u=(r={},n(r,a.id,0),n(r,a.branch,1),n(r,a.base,2),n(r,a.suffix,3),r),o=(i={},n(i,a.id,2),n(i,a.branch,4),n(i,a.base,8),n(i,a.suffix,4),i),s=[{key:"AB",branches:{"01":[[1,999],[1100,1199],[1800,1899]],"02":[[1,999],[1200,1299]],"03":[[1,999],[1300,1399],[1500,1599],[1700,1799],[1900,1999]],"06":[[1,999],[1400,1499]],11:[[5e3,6499],[6600,8999]],12:[[3e3,3299],[3400,3499],[3600,3699]],13:[[4900,4999]],14:[[4700,4799]],15:[[3900,3999]],16:[[4400,4499]],17:[[3300,3399]],18:[[3500,3599]],19:[[4600,4649]],20:[[4100,4199]],21:[[4800,4899]],22:[[4e3,4049]],23:[[3700,3799]],24:[[4300,4349]],27:[[3800,3849]],30:[[2900,2949]],35:[[2400,2499]],38:[[9e3,9499]]}},{key:"D",branches:{"08":[[6500,6599]]}},{key:"E",branches:{"09":[[0,0]]}},{key:"F",branches:{25:[[2500,2599]],33:[[6700,6799]]}},{key:"G",branches:{26:[[2600,2699]],28:[[2100,2149]],29:[[2150,2299]]}},{key:"X",branches:{31:[[2800,2849]]}}],c={A:{weighting:[0,0,6,3,7,9,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},B:{weighting:[0,0,0,0,0,0,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},C:{weighting:[3,7,0,0,0,0,9,1,10,5,3,4,2,1,0,0,0,0],modulo:11},D:{weighting:[0,0,0,0,0,0,0,7,6,5,4,3,2,1,0,0,0,0],modulo:11},E:{weighting:[0,0,0,0,0,0,0,0,0,0,5,4,3,2,0,0,0,1],modulo:11,specialCase:!0},F:{weighting:[0,0,0,0,0,0,0,1,7,3,1,7,3,1,0,0,0,0],modulo:10},G:{weighting:[0,0,0,0,0,0,0,1,3,7,1,3,7,1,0,3,7,1],modulo:10,specialCase:!0},X:{weighting:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],modulo:1}};e["default"]={partConstants:a,partIndexes:u,partMaxLengths:o,bankData:s,bankChecksums:c},t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var u,o=t[Symbol.iterator]();!(r=(u=o.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(s){i=!0,a=s}finally{try{!r&&o["return"]&&o["return"]()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=n(1),a=function(t){return t===t+""},u=function(t){return/^[0-9]+$/.test(t)},o=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0";return Array(e-String(t).length+1).join(n)+t},s=function(t,e,n){return e>=t&&e<=n},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(function(e,n){var i=r(n,2),a=i[0],u=i[1];return e||s(a,t,u)},!1)},f=function(t){return(t+"").split("").reduce(function(t,e){return t+1*e},0)},l=function(t){return Object.keys(t).reduce(function(e,n){var r=o(t[n],i.partMaxLengths[n]),a=r.split("");return e.concat(a)},[])};e["default"]={isString:a,isNumbersOnly:u,padLeft:o,inRange:s,inRanges:c,sumChars:f,getPaddedAccountArray:l},t.exports=e["default"]}])});
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("NZ-Bank-Account-Validator",[],e):"object"==typeof exports?exports["NZ-Bank-Account-Validator"]=e():t["NZ-Bank-Account-Validator"]=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(1),a=n(2);e["default"]={getId:function(t){return this.getPartsObject(t).id},getBranch:function(t){return this.getPartsObject(t).branch},getBase:function(t){return this.getPartsObject(t).base},getSuffix:function(t){return this.getPartsObject(t).suffix},isPartsObject:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==("undefined"==typeof t?"undefined":r(t)))return!1;var e=Object.keys(t),n=Object.keys(i.partConstants),a=n.filter(function(t){return e.includes(t)});return n.length===a.length},splitString:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=(0,a.isString)(t)?t.split(/[^0-9]/):[];return 1===e.length&&(e[0]=t.slice(0,2),e[1]=t.slice(2,5),e[2]=t.slice(5,12),e[3]=t.slice(12)),e.filter(function(t){return t.length})},getPartsObject:function(t){if(this.isPartsObject(t))return t;if(!(0,a.isString)(t))return{};var e=this.splitString(t);return{id:e[i.partIndexes.id],branch:e[i.partIndexes.branch],base:e[i.partIndexes.base],suffix:e[i.partIndexes.suffix]}},partsObjectValid:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=Object.keys(t);return 4===e.length&&e.reduce(function(e,n){var r=t[n],u=(0,a.isNumbersOnly)(r),o=(0,a.isString)(r)&&r.length<=i.partMaxLengths[n],s=u&&o;return e&&s},!0)},validate:function(t){var e=this.getPartsObject(t);if(!this.partsObjectValid(e))return!1;var n=e.id,r=e.branch,i=e.base,u=this.getBankData(n,r);if(!u)return!1;var o=this.getChecksum(u,i);if(!o)return!1;var s=o.weighting,c=o.modulo,f=o.specialCase,l=!f,d=(0,a.getPaddedAccountArray)(e).reduce(function(t,e,n){var r=e*s[n];if(l||r<10)return t+r;var i=(0,a.sumChars)(r),u=(0,a.sumChars)(i),o=i<10?i:u;return t+o},0);return d%c===0},getBankData:function(t,e){var n=(0,a.padLeft)(t,i.partMaxLengths.id);return i.bankData.find(function(t){var r=t.branches[n];return r&&(0,a.inRanges)(e,r)})},getChecksum:function(t,e){var n=t.key;return"AB"===n&&(n=parseInt(e,10)<99e4?"A":"B"),i.bankChecksums[n]}},t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var r,i,a={id:"id",branch:"branch",base:"base",suffix:"suffix"},u=(r={},n(r,a.id,0),n(r,a.branch,1),n(r,a.base,2),n(r,a.suffix,3),r),o=(i={},n(i,a.id,2),n(i,a.branch,4),n(i,a.base,8),n(i,a.suffix,4),i),s=[{key:"AB",branches:{"01":[[1,999],[1100,1199],[1800,1899]],"02":[[1,999],[1200,1299]],"03":[[1,999],[1300,1399],[1500,1599],[1700,1799],[1900,1999],[7350,7399]],"04":[[2020,2024]],"06":[[1,999],[1400,1499]],11:[[5e3,6499],[6600,8999]],12:[[3e3,3299],[3400,3499],[3600,3699]],13:[[4900,4999]],14:[[4700,4799]],15:[[3900,3999]],16:[[4400,4499]],17:[[3300,3399]],18:[[3500,3599]],19:[[4600,4649]],20:[[4100,4199]],21:[[4800,4899]],22:[[4e3,4049]],23:[[3700,3799]],24:[[4300,4349]],27:[[3800,3849]],30:[[2900,2949]],35:[[2400,2499]],38:[[9e3,9499]]}},{key:"D",branches:{"08":[[6500,6599]]}},{key:"E",branches:{"09":[[0,0]]}},{key:"F",branches:{25:[[2500,2599]],33:[[6700,6799]]}},{key:"G",branches:{26:[[2600,2699]],28:[[2100,2149]],29:[[2150,2299]]}},{key:"X",branches:{31:[[2800,2849]]}}],c={A:{weighting:[0,0,6,3,7,9,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},B:{weighting:[0,0,0,0,0,0,0,0,10,5,8,4,2,1,0,0,0,0],modulo:11},C:{weighting:[3,7,0,0,0,0,9,1,10,5,3,4,2,1,0,0,0,0],modulo:11},D:{weighting:[0,0,0,0,0,0,0,7,6,5,4,3,2,1,0,0,0,0],modulo:11},E:{weighting:[0,0,0,0,0,0,0,0,0,0,5,4,3,2,0,0,0,1],modulo:11,specialCase:!0},F:{weighting:[0,0,0,0,0,0,0,1,7,3,1,7,3,1,0,0,0,0],modulo:10},G:{weighting:[0,0,0,0,0,0,0,1,3,7,1,3,7,1,0,3,7,1],modulo:10,specialCase:!0},X:{weighting:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],modulo:1}};e["default"]={partConstants:a,partIndexes:u,partMaxLengths:o,bankData:s,bankChecksums:c},t.exports=e["default"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var u,o=t[Symbol.iterator]();!(r=(u=o.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(s){i=!0,a=s}finally{try{!r&&o["return"]&&o["return"]()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=n(1),a=function(t){return t===t+""},u=function(t){return/^[0-9]+$/.test(t)},o=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0";return Array(e-String(t).length+1).join(n)+t},s=function(t,e,n){return e>=t&&e<=n},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(function(e,n){var i=r(n,2),a=i[0],u=i[1];return e||s(a,t,u)},!1)},f=function(t){return(t+"").split("").reduce(function(t,e){return t+1*e},0)},l=function(t){return Object.keys(t).reduce(function(e,n){var r=o(t[n],i.partMaxLengths[n]),a=r.split("");return e.concat(a)},[])};e["default"]={isString:a,isNumbersOnly:u,padLeft:o,inRange:s,inRanges:c,sumChars:f,getPaddedAccountArray:l},t.exports=e["default"]}])});
//# sourceMappingURL=NZ-Bank-Account-Validator.min.js.map
\ No newline at end of file
diff --git a/lib/NZ-Bank-Account-Validator.min.js.map b/lib/NZ-Bank-Account-Validator.min.js.map
index 336c202..df79620 100644
--- a/lib/NZ-Bank-Account-Validator.min.js.map
+++ b/lib/NZ-Bank-Account-Validator.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///NZ-Bank-Account-Validator.min.js","webpack:///webpack/bootstrap 265782f0dac41e5c16b8","webpack:///./src/index.js","webpack:///./src/constants.js","webpack:///./src/utils.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Object","defineProperty","value","_typeof","Symbol","iterator","obj","constructor","prototype","_constants","_utils","getId","input","getPartsObject","getBranch","branch","getBase","base","getSuffix","suffix","isPartsObject","arguments","length","undefined","inputsKeys","keys","requiredKeys","partConstants","filteredKeys","filter","k","includes","splitString","str","parts","isString","split","slice","i","partIndexes","partsObjectValid","reduce","isValid","key","onlyNumbers","isNumbersOnly","withinMaxLength","partMaxLengths","valueValid","validate","partsObject","bankData","getBankData","algorithm","getChecksum","weighting","modulo","specialCase","earlyExit","result","getPaddedAccountArray","num","idx","multiplied","summed","sumChars","summedTwice","final","paddedId","padLeft","find","r","ranges","branches","inRanges","parseInt","bankChecksums","_defineProperty","enumerable","configurable","writable","_partIndexes","_partMaxLengths","01","02","03","06","11","12","13","14","15","16","17","18","19","20","21","22","23","24","27","30","35","38","08","09","25","33","26","28","29","31","A","B","C","D","E","F","G","X","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","next","done","push","err","Array","isArray","TypeError","x","test","token","String","join","inRange","start","end","bool","range","_range","int","acc","partsObj","a","paddedValue","splitValues","concat"],"mappings":"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","file":"NZ-Bank-Account-Validator.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _constants = __webpack_require__(1);\n\t\n\tvar _utils = __webpack_require__(2);\n\t\n\texports.default = {\n\t getId: function getId(input) {\n\t return this.getPartsObject(input).id;\n\t },\n\t getBranch: function getBranch(input) {\n\t return this.getPartsObject(input).branch;\n\t },\n\t getBase: function getBase(input) {\n\t return this.getPartsObject(input).base;\n\t },\n\t getSuffix: function getSuffix(input) {\n\t return this.getPartsObject(input).suffix;\n\t },\n\t isPartsObject: function isPartsObject() {\n\t var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') return false;\n\t var inputsKeys = Object.keys(obj);\n\t var requiredKeys = Object.keys(_constants.partConstants);\n\t var filteredKeys = requiredKeys.filter(function (k) {\n\t return inputsKeys.includes(k);\n\t });\n\t\n\t return requiredKeys.length === filteredKeys.length;\n\t },\n\t splitString: function splitString() {\n\t var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\t\n\t var parts = (0, _utils.isString)(str) ? str.split(/[^0-9]/) : [];\n\t\n\t // If the input string had no delimiters, and its length is\n\t // long enough, manually forge an array.\n\t if (parts.length === 1) {\n\t parts[0] = str.slice(0, 2);\n\t parts[1] = str.slice(2, 5);\n\t parts[2] = str.slice(5, 12);\n\t parts[3] = str.slice(12);\n\t }\n\t\n\t return parts.filter(function (i) {\n\t return i.length;\n\t });\n\t },\n\t getPartsObject: function getPartsObject(input) {\n\t if (this.isPartsObject(input)) {\n\t return input;\n\t }\n\t\n\t if (!(0, _utils.isString)(input)) {\n\t return {};\n\t }\n\t\n\t var parts = this.splitString(input);\n\t\n\t return {\n\t id: parts[_constants.partIndexes.id],\n\t branch: parts[_constants.partIndexes.branch],\n\t base: parts[_constants.partIndexes.base],\n\t suffix: parts[_constants.partIndexes.suffix]\n\t };\n\t },\n\t partsObjectValid: function partsObjectValid() {\n\t var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t var keys = Object.keys(obj);\n\t\n\t if (keys.length !== 4) {\n\t return false;\n\t }\n\t\n\t return keys.reduce(function (isValid, key) {\n\t var value = obj[key];\n\t var onlyNumbers = (0, _utils.isNumbersOnly)(value);\n\t var withinMaxLength = (0, _utils.isString)(value) && value.length <= _constants.partMaxLengths[key];\n\t var valueValid = onlyNumbers && withinMaxLength;\n\t\n\t return isValid && valueValid;\n\t }, true);\n\t },\n\t validate: function validate(input) {\n\t var partsObject = this.getPartsObject(input);\n\t\n\t if (!this.partsObjectValid(partsObject)) {\n\t return false;\n\t }\n\t\n\t var id = partsObject.id,\n\t branch = partsObject.branch,\n\t base = partsObject.base;\n\t\n\t // VALIDATION - STEP 1\n\t /*\n\t https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n\t -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)\n\t */\n\t\n\t var bankData = this.getBankData(id, branch);\n\t\n\t if (!bankData) {\n\t return false;\n\t }\n\t\n\t var algorithm = this.getChecksum(bankData, base);\n\t\n\t if (!algorithm) {\n\t return false;\n\t }\n\t\n\t // VALIDATION - STEP 2\n\t /*\n\t https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n\t -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)\n\t */\n\t\n\t var weighting = algorithm.weighting,\n\t modulo = algorithm.modulo,\n\t specialCase = algorithm.specialCase;\n\t\n\t var earlyExit = !specialCase;\n\t\n\t var result = (0, _utils.getPaddedAccountArray)(partsObject).reduce(function (result, num, idx) {\n\t var multiplied = num * weighting[idx];\n\t\n\t if (earlyExit || multiplied < 10) {\n\t return result + multiplied;\n\t }\n\t\n\t var summed = (0, _utils.sumChars)(multiplied);\n\t var summedTwice = (0, _utils.sumChars)(summed);\n\t var final = summed < 10 ? summed : summedTwice;\n\t\n\t return result + final;\n\t }, 0);\n\t\n\t // Final modulo test\n\t return result % modulo === 0;\n\t },\n\t getBankData: function getBankData(id, branch) {\n\t var paddedId = (0, _utils.padLeft)(id, _constants.partMaxLengths.id);\n\t\n\t return _constants.bankData.find(function (r) {\n\t var ranges = r.branches[paddedId];\n\t\n\t return ranges && (0, _utils.inRanges)(branch, ranges);\n\t });\n\t },\n\t getChecksum: function getChecksum(bankData, base) {\n\t var key = bankData.key;\n\t\n\t\n\t if (key === 'AB') {\n\t key = parseInt(base, 10) < 990000 ? 'A' : 'B';\n\t }\n\t\n\t return _constants.bankChecksums[key];\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _partIndexes, _partMaxLengths;\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/*eslint-disable */\n\t\n\tvar partConstants = {\n\t id: 'id',\n\t branch: 'branch',\n\t base: 'base',\n\t suffix: 'suffix'\n\t};\n\t\n\tvar partIndexes = (_partIndexes = {}, _defineProperty(_partIndexes, partConstants.id, 0), _defineProperty(_partIndexes, partConstants.branch, 1), _defineProperty(_partIndexes, partConstants.base, 2), _defineProperty(_partIndexes, partConstants.suffix, 3), _partIndexes);\n\t\n\tvar partMaxLengths = (_partMaxLengths = {}, _defineProperty(_partMaxLengths, partConstants.id, 2), _defineProperty(_partMaxLengths, partConstants.branch, 4), _defineProperty(_partMaxLengths, partConstants.base, 8), _defineProperty(_partMaxLengths, partConstants.suffix, 4), _partMaxLengths);\n\t\n\tvar bankData = [{\n\t key: 'AB',\n\t branches: {\n\t\n\t '01': [[1, 999], [1100, 1199], [1800, 1899]],\n\t\n\t '02': [[1, 999], [1200, 1299]],\n\t\n\t '03': [[1, 999], [1300, 1399], [1500, 1599], [1700, 1799], [1900, 1999]],\n\t\n\t '06': [[1, 999], [1400, 1499]],\n\t\n\t '11': [[5000, 6499], [6600, 8999]],\n\t\n\t '12': [[3000, 3299], [3400, 3499], [3600, 3699]],\n\t\n\t '13': [[4900, 4999]],\n\t\n\t '14': [[4700, 4799]],\n\t\n\t '15': [[3900, 3999]],\n\t\n\t '16': [[4400, 4499]],\n\t\n\t '17': [[3300, 3399]],\n\t\n\t '18': [[3500, 3599]],\n\t\n\t '19': [[4600, 4649]],\n\t\n\t '20': [[4100, 4199]],\n\t\n\t '21': [[4800, 4899]],\n\t\n\t '22': [[4000, 4049]],\n\t\n\t '23': [[3700, 3799]],\n\t\n\t '24': [[4300, 4349]],\n\t\n\t '27': [[3800, 3849]],\n\t\n\t '30': [[2900, 2949]],\n\t\n\t '35': [[2400, 2499]],\n\t\n\t '38': [[9000, 9499]]\n\t }\n\t}, {\n\t key: 'D',\n\t branches: {\n\t '08': [[6500, 6599]]\n\t }\n\t}, {\n\t key: 'E',\n\t branches: {\n\t '09': [[0, 0]]\n\t }\n\t}, {\n\t key: 'F',\n\t branches: {\n\t '25': [[2500, 2599]],\n\t\n\t '33': [[6700, 6799]]\n\t }\n\t}, {\n\t key: 'G',\n\t branches: {\n\t '26': [[2600, 2699]],\n\t\n\t '28': [[2100, 2149]],\n\t\n\t '29': [[2150, 2299]]\n\t }\n\t}, {\n\t key: 'X',\n\t branches: {\n\t '31': [[2800, 2849]]\n\t }\n\t}];\n\t\n\tvar bankChecksums = {\n\t A: {\n\t weighting: [0, 0, 6, 3, 7, 9, 0, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t B: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t C: {\n\t weighting: [3, 7, 0, 0, 0, 0, 9, 1, 10, 5, 3, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t D: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t E: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 3, 2, 0, 0, 0, 1],\n\t modulo: 11,\n\t specialCase: true\n\t },\n\t\n\t F: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 1, 7, 3, 1, 7, 3, 1, 0, 0, 0, 0],\n\t modulo: 10\n\t },\n\t\n\t G: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7, 1, 0, 3, 7, 1],\n\t modulo: 10,\n\t specialCase: true\n\t },\n\t\n\t X: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n\t modulo: 1\n\t }\n\t};\n\t\n\t/*eslint-enable */\n\t\n\texports.default = {\n\t partConstants: partConstants,\n\t partIndexes: partIndexes,\n\t partMaxLengths: partMaxLengths,\n\t bankData: bankData,\n\t bankChecksums: bankChecksums\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _constants = __webpack_require__(1);\n\t\n\tvar isString = function isString(x) {\n\t return x === x + '';\n\t};\n\t\n\tvar isNumbersOnly = function isNumbersOnly(x) {\n\t return (/^[0-9]+$/.test(x)\n\t );\n\t};\n\t\n\tvar padLeft = function padLeft(input, length) {\n\t var token = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n\t return Array(length - String(input).length + 1).join(token) + input;\n\t};\n\t\n\tvar inRange = function inRange(start, value, end) {\n\t return value >= start && value <= end;\n\t};\n\t\n\tvar inRanges = function inRanges(value) {\n\t var ranges = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t\n\t return ranges.reduce(function (bool, range) {\n\t var _range = _slicedToArray(range, 2),\n\t start = _range[0],\n\t end = _range[1];\n\t\n\t return bool || inRange(start, value, end);\n\t }, false);\n\t};\n\t\n\tvar sumChars = function sumChars(int) {\n\t return (int + '').split('').reduce(function (acc, num) {\n\t return acc + num * 1;\n\t }, 0);\n\t};\n\t\n\tvar getPaddedAccountArray = function getPaddedAccountArray(partsObj) {\n\t return Object.keys(partsObj).reduce(function (a, k) {\n\t var paddedValue = padLeft(partsObj[k], _constants.partMaxLengths[k]);\n\t var splitValues = paddedValue.split('');\n\t\n\t return a.concat(splitValues);\n\t }, []);\n\t};\n\t\n\texports.default = {\n\t isString: isString,\n\t isNumbersOnly: isNumbersOnly,\n\t padLeft: padLeft,\n\t inRange: inRange,\n\t inRanges: inRanges,\n\t sumChars: sumChars,\n\t getPaddedAccountArray: getPaddedAccountArray\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** NZ-Bank-Account-Validator.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 265782f0dac41e5c16b8\n **/","import {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n} from './constants';\n\nimport {\n isString,\n isNumbersOnly,\n padLeft,\n inRanges,\n sumChars,\n getPaddedAccountArray\n} from './utils';\n\nexport default {\n\n getId(input) {\n return this.getPartsObject(input).id;\n },\n getBranch(input) {\n return this.getPartsObject(input).branch;\n },\n getBase(input) {\n return this.getPartsObject(input).base;\n },\n getSuffix(input) {\n return this.getPartsObject(input).suffix;\n },\n\n isPartsObject(obj = {}) {\n if (typeof obj !== 'object') return false;\n const inputsKeys = Object.keys(obj);\n const requiredKeys = Object.keys(partConstants);\n const filteredKeys = requiredKeys.filter(k => inputsKeys.includes(k));\n\n return requiredKeys.length === filteredKeys.length;\n },\n\n splitString(str = '') {\n const parts = isString(str) ? str.split(/[^0-9]/) : [];\n\n // If the input string had no delimiters, and its length is\n // long enough, manually forge an array.\n if (parts.length === 1) {\n parts[0] = str.slice(0, 2);\n parts[1] = str.slice(2, 5);\n parts[2] = str.slice(5, 12);\n parts[3] = str.slice(12);\n }\n\n return parts.filter(i => i.length);\n },\n\n getPartsObject(input) {\n if (this.isPartsObject(input)) {\n return input;\n }\n\n if (!isString(input)) {\n return {};\n }\n\n const parts = this.splitString(input);\n\n return {\n id: parts[partIndexes.id],\n branch: parts[partIndexes.branch],\n base: parts[partIndexes.base],\n suffix: parts[partIndexes.suffix]\n };\n },\n\n partsObjectValid(obj = {}) {\n const keys = Object.keys(obj);\n\n if (keys.length !== 4) {\n return false;\n }\n\n return keys.reduce((isValid, key) => {\n const value = obj[key];\n const onlyNumbers = isNumbersOnly(value);\n const withinMaxLength = isString(value) && (value.length <= partMaxLengths[key]);\n const valueValid = onlyNumbers && withinMaxLength;\n\n return isValid && valueValid;\n }, true);\n },\n\n validate(input) {\n const partsObject = this.getPartsObject(input);\n\n if (!this.partsObjectValid(partsObject)) {\n return false;\n }\n\n const { id, branch, base } = partsObject;\n\n // VALIDATION - STEP 1\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)\n */\n\n const bankData = this.getBankData(id, branch);\n\n if (!bankData) { return false; }\n\n const algorithm = this.getChecksum(bankData, base);\n\n if (!algorithm) { return false; }\n\n // VALIDATION - STEP 2\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)\n */\n\n const { weighting, modulo, specialCase } = algorithm;\n const earlyExit = !specialCase;\n\n const result = getPaddedAccountArray(partsObject).reduce((result, num, idx) => {\n const multiplied = num * weighting[idx];\n\n if (earlyExit || multiplied < 10) {\n return result + multiplied;\n }\n\n const summed = sumChars(multiplied);\n const summedTwice = sumChars(summed);\n const final = summed < 10 ? summed : summedTwice;\n\n return result + final;\n }, 0);\n\n // Final modulo test\n return result % modulo === 0;\n },\n\n getBankData(id, branch) {\n const paddedId = padLeft(id, partMaxLengths.id);\n\n return bankData.find(r => {\n const ranges = r.branches[paddedId];\n\n return ranges && inRanges(branch, ranges);\n });\n },\n\n getChecksum(bankData, base) {\n let { key } = bankData;\n\n if (key === 'AB') {\n key = (parseInt(base, 10) < 990000) ? 'A' : 'B';\n }\n\n return bankChecksums[key];\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/index.js\n **/","/*eslint-disable */\n\nconst partConstants = {\n id: 'id',\n branch: 'branch',\n base: 'base',\n suffix: 'suffix'\n};\n\nconst partIndexes = {\n [partConstants.id]: 0,\n [partConstants.branch]: 1,\n [partConstants.base]: 2,\n [partConstants.suffix]: 3\n};\n\nconst partMaxLengths = {\n [partConstants.id]: 2,\n [partConstants.branch]: 4,\n [partConstants.base]: 8,\n [partConstants.suffix]: 4\n};\n\nconst bankData = [\n {\n key: 'AB',\n branches: {\n\n '01': [\n [1, 999],\n [1100, 1199],\n [1800, 1899]\n ],\n\n '02': [\n [1, 999],\n [1200, 1299]\n ],\n\n '03': [\n [1, 999],\n [1300, 1399],\n [1500, 1599],\n [1700, 1799],\n [1900, 1999]\n ],\n\n '06': [\n [1, 999],\n [1400, 1499]\n ],\n\n '11': [\n [5000, 6499],\n [6600, 8999]\n ],\n\n '12': [\n [3000, 3299],\n [3400, 3499],\n [3600, 3699]\n ],\n\n '13': [\n [4900, 4999]\n ],\n\n '14': [\n [4700, 4799]\n ], \n\n '15': [\n [3900, 3999]\n ],\n\n '16': [\n [4400, 4499]\n ],\n\n '17': [\n [3300, 3399]\n ],\n\n '18': [\n [3500, 3599]\n ],\n\n '19': [\n [4600, 4649]\n ],\n\n '20': [\n [4100, 4199]\n ],\n\n '21': [\n [4800, 4899]\n ],\n\n '22': [\n [4000, 4049]\n ],\n\n '23': [\n [3700, 3799]\n ],\n\n '24': [\n [4300, 4349]\n ],\n\n '27': [\n [3800, 3849]\n ],\n\n '30': [\n [2900, 2949]\n ],\n\n '35': [\n [2400, 2499]\n ],\n\n '38': [\n [9000, 9499]\n ]\n }\n },\n\n {\n key: 'D',\n branches: {\n '08': [\n [6500, 6599]\n ]\n }\n },\n\n {\n key: 'E',\n branches: {\n '09': [\n [0, 0]\n ]\n }\n },\n\n {\n key: 'F',\n branches: {\n '25': [\n [2500, 2599]\n ],\n\n '33': [\n [6700, 6799]\n ]\n }\n },\n\n {\n key: 'G',\n branches: {\n '26': [\n [2600, 2699]\n ],\n\n '28': [\n [2100, 2149]\n ],\n\n '29': [\n [2150, 2299]\n ]\n }\n },\n\n {\n key: 'X',\n branches: {\n '31': [\n [2800, 2849]\n ]\n }\n }\n\n]; \n\nconst bankChecksums = {\n A: {\n weighting: [0,0, 6,3,7,9, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n B: {\n weighting: [0,0, 0,0,0,0, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n C: {\n weighting: [3, 7, 0,0,0,0, 9,1,10,5,3,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n D: {\n weighting: [0, 0, 0,0,0,0, 0,7,6,5,4,3,2,1, 0,0,0,0],\n modulo: 11\n },\n\n E: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,5,4,3,2, 0,0,0,1],\n modulo: 11,\n specialCase: true\n },\n\n F: {\n weighting: [0, 0, 0,0,0,0, 0,1,7,3,1,7,3,1, 0,0,0,0],\n modulo: 10\n },\n\n G: {\n weighting: [0, 0, 0,0,0,0, 0,1,3,7,1,3,7,1, 0,3,7,1],\n modulo: 10,\n specialCase: true\n },\n\n X: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0],\n modulo: 1\n },\n};\n\n/*eslint-enable */\n\nexport default {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/constants.js\n **/","import {\n partMaxLengths\n} from './constants';\n\nconst isString = x => x === x + '';\n\nconst isNumbersOnly = x => /^[0-9]+$/.test(x);\n\nconst padLeft = (input, length, token = '0') => Array(length - String(input).length + 1).join(token) + input;\n\nconst inRange = (start, value, end) => value >= start && value <= end;\n\nconst inRanges = (value, ranges = []) => {\n return ranges.reduce((bool, range) => {\n const [ start, end ] = range;\n\n return bool || inRange(start, value, end);\n }, false);\n};\n\nconst sumChars = int => {\n return (int + '').split('').reduce((acc, num) => {\n return acc + (num * 1);\n }, 0);\n};\n\nconst getPaddedAccountArray = (partsObj) => {\n return Object.keys(partsObj).reduce((a, k) => {\n const paddedValue = padLeft(partsObj[k], partMaxLengths[k]);\n const splitValues = paddedValue.split('');\n\n return a.concat(splitValues);\n }, []);\n};\n\nexport default {\n isString,\n isNumbersOnly,\n padLeft,\n inRange,\n inRanges,\n sumChars,\n getPaddedAccountArray\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/utils.js\n **/"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///NZ-Bank-Account-Validator.min.js","webpack:///webpack/bootstrap c9cb4e0e6ca520f97069","webpack:///./src/index.js","webpack:///./src/constants.js","webpack:///./src/utils.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Object","defineProperty","value","_typeof","Symbol","iterator","obj","constructor","prototype","_constants","_utils","getId","input","getPartsObject","getBranch","branch","getBase","base","getSuffix","suffix","isPartsObject","arguments","length","undefined","inputsKeys","keys","requiredKeys","partConstants","filteredKeys","filter","k","includes","splitString","str","parts","isString","split","slice","i","partIndexes","partsObjectValid","reduce","isValid","key","onlyNumbers","isNumbersOnly","withinMaxLength","partMaxLengths","valueValid","validate","partsObject","bankData","getBankData","algorithm","getChecksum","weighting","modulo","specialCase","earlyExit","result","getPaddedAccountArray","num","idx","multiplied","summed","sumChars","summedTwice","final","paddedId","padLeft","find","r","ranges","branches","inRanges","parseInt","bankChecksums","_defineProperty","enumerable","configurable","writable","_partIndexes","_partMaxLengths","01","02","03","04","06","11","12","13","14","15","16","17","18","19","20","21","22","23","24","27","30","35","38","08","09","25","33","26","28","29","31","A","B","C","D","E","F","G","X","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","next","done","push","err","Array","isArray","TypeError","x","test","token","String","join","inRange","start","end","bool","range","_range","int","acc","partsObj","a","paddedValue","splitValues","concat"],"mappings":"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","file":"NZ-Bank-Account-Validator.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"NZ-Bank-Account-Validator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NZ-Bank-Account-Validator\"] = factory();\n\telse\n\t\troot[\"NZ-Bank-Account-Validator\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _constants = __webpack_require__(1);\n\t\n\tvar _utils = __webpack_require__(2);\n\t\n\texports.default = {\n\t getId: function getId(input) {\n\t return this.getPartsObject(input).id;\n\t },\n\t getBranch: function getBranch(input) {\n\t return this.getPartsObject(input).branch;\n\t },\n\t getBase: function getBase(input) {\n\t return this.getPartsObject(input).base;\n\t },\n\t getSuffix: function getSuffix(input) {\n\t return this.getPartsObject(input).suffix;\n\t },\n\t isPartsObject: function isPartsObject() {\n\t var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') return false;\n\t var inputsKeys = Object.keys(obj);\n\t var requiredKeys = Object.keys(_constants.partConstants);\n\t var filteredKeys = requiredKeys.filter(function (k) {\n\t return inputsKeys.includes(k);\n\t });\n\t\n\t return requiredKeys.length === filteredKeys.length;\n\t },\n\t splitString: function splitString() {\n\t var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\t\n\t var parts = (0, _utils.isString)(str) ? str.split(/[^0-9]/) : [];\n\t\n\t // If the input string had no delimiters, and its length is\n\t // long enough, manually forge an array.\n\t if (parts.length === 1) {\n\t parts[0] = str.slice(0, 2);\n\t parts[1] = str.slice(2, 5);\n\t parts[2] = str.slice(5, 12);\n\t parts[3] = str.slice(12);\n\t }\n\t\n\t return parts.filter(function (i) {\n\t return i.length;\n\t });\n\t },\n\t getPartsObject: function getPartsObject(input) {\n\t if (this.isPartsObject(input)) {\n\t return input;\n\t }\n\t\n\t if (!(0, _utils.isString)(input)) {\n\t return {};\n\t }\n\t\n\t var parts = this.splitString(input);\n\t\n\t return {\n\t id: parts[_constants.partIndexes.id],\n\t branch: parts[_constants.partIndexes.branch],\n\t base: parts[_constants.partIndexes.base],\n\t suffix: parts[_constants.partIndexes.suffix]\n\t };\n\t },\n\t partsObjectValid: function partsObjectValid() {\n\t var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t var keys = Object.keys(obj);\n\t\n\t if (keys.length !== 4) {\n\t return false;\n\t }\n\t\n\t return keys.reduce(function (isValid, key) {\n\t var value = obj[key];\n\t var onlyNumbers = (0, _utils.isNumbersOnly)(value);\n\t var withinMaxLength = (0, _utils.isString)(value) && value.length <= _constants.partMaxLengths[key];\n\t var valueValid = onlyNumbers && withinMaxLength;\n\t\n\t return isValid && valueValid;\n\t }, true);\n\t },\n\t validate: function validate(input) {\n\t var partsObject = this.getPartsObject(input);\n\t\n\t if (!this.partsObjectValid(partsObject)) {\n\t return false;\n\t }\n\t\n\t var id = partsObject.id,\n\t branch = partsObject.branch,\n\t base = partsObject.base;\n\t\n\t // VALIDATION - STEP 1\n\t /*\n\t https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n\t -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)\n\t */\n\t\n\t var bankData = this.getBankData(id, branch);\n\t\n\t if (!bankData) {\n\t return false;\n\t }\n\t\n\t var algorithm = this.getChecksum(bankData, base);\n\t\n\t if (!algorithm) {\n\t return false;\n\t }\n\t\n\t // VALIDATION - STEP 2\n\t /*\n\t https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n\t -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)\n\t */\n\t\n\t var weighting = algorithm.weighting,\n\t modulo = algorithm.modulo,\n\t specialCase = algorithm.specialCase;\n\t\n\t var earlyExit = !specialCase;\n\t\n\t var result = (0, _utils.getPaddedAccountArray)(partsObject).reduce(function (result, num, idx) {\n\t var multiplied = num * weighting[idx];\n\t\n\t if (earlyExit || multiplied < 10) {\n\t return result + multiplied;\n\t }\n\t\n\t var summed = (0, _utils.sumChars)(multiplied);\n\t var summedTwice = (0, _utils.sumChars)(summed);\n\t var final = summed < 10 ? summed : summedTwice;\n\t\n\t return result + final;\n\t }, 0);\n\t\n\t // Final modulo test\n\t return result % modulo === 0;\n\t },\n\t getBankData: function getBankData(id, branch) {\n\t var paddedId = (0, _utils.padLeft)(id, _constants.partMaxLengths.id);\n\t\n\t return _constants.bankData.find(function (r) {\n\t var ranges = r.branches[paddedId];\n\t\n\t return ranges && (0, _utils.inRanges)(branch, ranges);\n\t });\n\t },\n\t getChecksum: function getChecksum(bankData, base) {\n\t var key = bankData.key;\n\t\n\t\n\t if (key === 'AB') {\n\t key = parseInt(base, 10) < 990000 ? 'A' : 'B';\n\t }\n\t\n\t return _constants.bankChecksums[key];\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _partIndexes, _partMaxLengths;\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/*eslint-disable */\n\t\n\tvar partConstants = {\n\t id: 'id',\n\t branch: 'branch',\n\t base: 'base',\n\t suffix: 'suffix'\n\t};\n\t\n\tvar partIndexes = (_partIndexes = {}, _defineProperty(_partIndexes, partConstants.id, 0), _defineProperty(_partIndexes, partConstants.branch, 1), _defineProperty(_partIndexes, partConstants.base, 2), _defineProperty(_partIndexes, partConstants.suffix, 3), _partIndexes);\n\t\n\tvar partMaxLengths = (_partMaxLengths = {}, _defineProperty(_partMaxLengths, partConstants.id, 2), _defineProperty(_partMaxLengths, partConstants.branch, 4), _defineProperty(_partMaxLengths, partConstants.base, 8), _defineProperty(_partMaxLengths, partConstants.suffix, 4), _partMaxLengths);\n\t\n\tvar bankData = [{\n\t key: 'AB',\n\t branches: {\n\t\n\t '01': [[1, 999], [1100, 1199], [1800, 1899]],\n\t\n\t '02': [[1, 999], [1200, 1299]],\n\t\n\t '03': [[1, 999], [1300, 1399], [1500, 1599], [1700, 1799], [1900, 1999], [7350, 7399]],\n\t\n\t '04': [[2020, 2024]],\n\t\n\t '06': [[1, 999], [1400, 1499]],\n\t\n\t '11': [[5000, 6499], [6600, 8999]],\n\t\n\t '12': [[3000, 3299], [3400, 3499], [3600, 3699]],\n\t\n\t '13': [[4900, 4999]],\n\t\n\t '14': [[4700, 4799]],\n\t\n\t '15': [[3900, 3999]],\n\t\n\t '16': [[4400, 4499]],\n\t\n\t '17': [[3300, 3399]],\n\t\n\t '18': [[3500, 3599]],\n\t\n\t '19': [[4600, 4649]],\n\t\n\t '20': [[4100, 4199]],\n\t\n\t '21': [[4800, 4899]],\n\t\n\t '22': [[4000, 4049]],\n\t\n\t '23': [[3700, 3799]],\n\t\n\t '24': [[4300, 4349]],\n\t\n\t '27': [[3800, 3849]],\n\t\n\t '30': [[2900, 2949]],\n\t\n\t '35': [[2400, 2499]],\n\t\n\t '38': [[9000, 9499]]\n\t }\n\t}, {\n\t key: 'D',\n\t branches: {\n\t '08': [[6500, 6599]]\n\t }\n\t}, {\n\t key: 'E',\n\t branches: {\n\t '09': [[0, 0]]\n\t }\n\t}, {\n\t key: 'F',\n\t branches: {\n\t '25': [[2500, 2599]],\n\t\n\t '33': [[6700, 6799]]\n\t }\n\t}, {\n\t key: 'G',\n\t branches: {\n\t '26': [[2600, 2699]],\n\t\n\t '28': [[2100, 2149]],\n\t\n\t '29': [[2150, 2299]]\n\t }\n\t}, {\n\t key: 'X',\n\t branches: {\n\t '31': [[2800, 2849]]\n\t }\n\t}];\n\t\n\tvar bankChecksums = {\n\t A: {\n\t weighting: [0, 0, 6, 3, 7, 9, 0, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t B: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t C: {\n\t weighting: [3, 7, 0, 0, 0, 0, 9, 1, 10, 5, 3, 4, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t D: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0],\n\t modulo: 11\n\t },\n\t\n\t E: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 3, 2, 0, 0, 0, 1],\n\t modulo: 11,\n\t specialCase: true\n\t },\n\t\n\t F: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 1, 7, 3, 1, 7, 3, 1, 0, 0, 0, 0],\n\t modulo: 10\n\t },\n\t\n\t G: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7, 1, 0, 3, 7, 1],\n\t modulo: 10,\n\t specialCase: true\n\t },\n\t\n\t X: {\n\t weighting: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n\t modulo: 1\n\t }\n\t};\n\t\n\t/*eslint-enable */\n\t\n\texports.default = {\n\t partConstants: partConstants,\n\t partIndexes: partIndexes,\n\t partMaxLengths: partMaxLengths,\n\t bankData: bankData,\n\t bankChecksums: bankChecksums\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _constants = __webpack_require__(1);\n\t\n\tvar isString = function isString(x) {\n\t return x === x + '';\n\t};\n\t\n\tvar isNumbersOnly = function isNumbersOnly(x) {\n\t return (/^[0-9]+$/.test(x)\n\t );\n\t};\n\t\n\tvar padLeft = function padLeft(input, length) {\n\t var token = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n\t return Array(length - String(input).length + 1).join(token) + input;\n\t};\n\t\n\tvar inRange = function inRange(start, value, end) {\n\t return value >= start && value <= end;\n\t};\n\t\n\tvar inRanges = function inRanges(value) {\n\t var ranges = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t\n\t return ranges.reduce(function (bool, range) {\n\t var _range = _slicedToArray(range, 2),\n\t start = _range[0],\n\t end = _range[1];\n\t\n\t return bool || inRange(start, value, end);\n\t }, false);\n\t};\n\t\n\tvar sumChars = function sumChars(int) {\n\t return (int + '').split('').reduce(function (acc, num) {\n\t return acc + num * 1;\n\t }, 0);\n\t};\n\t\n\tvar getPaddedAccountArray = function getPaddedAccountArray(partsObj) {\n\t return Object.keys(partsObj).reduce(function (a, k) {\n\t var paddedValue = padLeft(partsObj[k], _constants.partMaxLengths[k]);\n\t var splitValues = paddedValue.split('');\n\t\n\t return a.concat(splitValues);\n\t }, []);\n\t};\n\t\n\texports.default = {\n\t isString: isString,\n\t isNumbersOnly: isNumbersOnly,\n\t padLeft: padLeft,\n\t inRange: inRange,\n\t inRanges: inRanges,\n\t sumChars: sumChars,\n\t getPaddedAccountArray: getPaddedAccountArray\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** NZ-Bank-Account-Validator.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap c9cb4e0e6ca520f97069\n **/","import {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n} from './constants';\n\nimport {\n isString,\n isNumbersOnly,\n padLeft,\n inRanges,\n sumChars,\n getPaddedAccountArray\n} from './utils';\n\nexport default {\n\n getId(input) {\n return this.getPartsObject(input).id;\n },\n getBranch(input) {\n return this.getPartsObject(input).branch;\n },\n getBase(input) {\n return this.getPartsObject(input).base;\n },\n getSuffix(input) {\n return this.getPartsObject(input).suffix;\n },\n\n isPartsObject(obj = {}) {\n if (typeof obj !== 'object') return false;\n const inputsKeys = Object.keys(obj);\n const requiredKeys = Object.keys(partConstants);\n const filteredKeys = requiredKeys.filter(k => inputsKeys.includes(k));\n\n return requiredKeys.length === filteredKeys.length;\n },\n\n splitString(str = '') {\n const parts = isString(str) ? str.split(/[^0-9]/) : [];\n\n // If the input string had no delimiters, and its length is\n // long enough, manually forge an array.\n if (parts.length === 1) {\n parts[0] = str.slice(0, 2);\n parts[1] = str.slice(2, 5);\n parts[2] = str.slice(5, 12);\n parts[3] = str.slice(12);\n }\n\n return parts.filter(i => i.length);\n },\n\n getPartsObject(input) {\n if (this.isPartsObject(input)) {\n return input;\n }\n\n if (!isString(input)) {\n return {};\n }\n\n const parts = this.splitString(input);\n\n return {\n id: parts[partIndexes.id],\n branch: parts[partIndexes.branch],\n base: parts[partIndexes.base],\n suffix: parts[partIndexes.suffix]\n };\n },\n\n partsObjectValid(obj = {}) {\n const keys = Object.keys(obj);\n\n if (keys.length !== 4) {\n return false;\n }\n\n return keys.reduce((isValid, key) => {\n const value = obj[key];\n const onlyNumbers = isNumbersOnly(value);\n const withinMaxLength = isString(value) && (value.length <= partMaxLengths[key]);\n const valueValid = onlyNumbers && withinMaxLength;\n\n return isValid && valueValid;\n }, true);\n },\n\n validate(input) {\n const partsObject = this.getPartsObject(input);\n\n if (!this.partsObjectValid(partsObject)) {\n return false;\n }\n\n const { id, branch, base } = partsObject;\n\n // VALIDATION - STEP 1\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 10)\n */\n\n const bankData = this.getBankData(id, branch);\n\n if (!bankData) { return false; }\n\n const algorithm = this.getChecksum(bankData, base);\n\n if (!algorithm) { return false; }\n\n // VALIDATION - STEP 2\n /*\n https://web.archive.org/web/20181009211542/https://www.ird.govt.nz/resources/9/d/9d739cde-ad76-4c49-ae08\n -522c62d94dd6/rwt-nrwt-spec-2016.pdf (PAGE 11)\n */\n\n const { weighting, modulo, specialCase } = algorithm;\n const earlyExit = !specialCase;\n\n const result = getPaddedAccountArray(partsObject).reduce((result, num, idx) => {\n const multiplied = num * weighting[idx];\n\n if (earlyExit || multiplied < 10) {\n return result + multiplied;\n }\n\n const summed = sumChars(multiplied);\n const summedTwice = sumChars(summed);\n const final = summed < 10 ? summed : summedTwice;\n\n return result + final;\n }, 0);\n\n // Final modulo test\n return result % modulo === 0;\n },\n\n getBankData(id, branch) {\n const paddedId = padLeft(id, partMaxLengths.id);\n\n return bankData.find(r => {\n const ranges = r.branches[paddedId];\n\n return ranges && inRanges(branch, ranges);\n });\n },\n\n getChecksum(bankData, base) {\n let { key } = bankData;\n\n if (key === 'AB') {\n key = (parseInt(base, 10) < 990000) ? 'A' : 'B';\n }\n\n return bankChecksums[key];\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/index.js\n **/","/*eslint-disable */\n\nconst partConstants = {\n id: 'id',\n branch: 'branch',\n base: 'base',\n suffix: 'suffix'\n};\n\nconst partIndexes = {\n [partConstants.id]: 0,\n [partConstants.branch]: 1,\n [partConstants.base]: 2,\n [partConstants.suffix]: 3\n};\n\nconst partMaxLengths = {\n [partConstants.id]: 2,\n [partConstants.branch]: 4,\n [partConstants.base]: 8,\n [partConstants.suffix]: 4\n};\n\nconst bankData = [\n {\n key: 'AB',\n branches: {\n\n '01': [\n [1, 999],\n [1100, 1199],\n [1800, 1899]\n ],\n\n '02': [\n [1, 999],\n [1200, 1299]\n ],\n\n '03': [\n [1, 999],\n [1300, 1399],\n [1500, 1599],\n [1700, 1799],\n [1900, 1999],\n [7350,7399]\n ],\n\n '04': [\n [2020,2024]\n ],\n\n '06': [\n [1, 999],\n [1400, 1499]\n ],\n\n '11': [\n [5000, 6499],\n [6600, 8999]\n ],\n\n '12': [\n [3000, 3299],\n [3400, 3499],\n [3600, 3699]\n ],\n\n '13': [\n [4900, 4999]\n ],\n\n '14': [\n [4700, 4799]\n ], \n\n '15': [\n [3900, 3999]\n ],\n\n '16': [\n [4400, 4499]\n ],\n\n '17': [\n [3300, 3399]\n ],\n\n '18': [\n [3500, 3599]\n ],\n\n '19': [\n [4600, 4649]\n ],\n\n '20': [\n [4100, 4199]\n ],\n\n '21': [\n [4800, 4899]\n ],\n\n '22': [\n [4000, 4049]\n ],\n\n '23': [\n [3700, 3799]\n ],\n\n '24': [\n [4300, 4349]\n ],\n\n '27': [\n [3800, 3849]\n ],\n\n '30': [\n [2900, 2949]\n ],\n\n '35': [\n [2400, 2499]\n ],\n\n '38': [\n [9000, 9499]\n ]\n }\n },\n\n {\n key: 'D',\n branches: {\n '08': [\n [6500, 6599]\n ]\n }\n },\n\n {\n key: 'E',\n branches: {\n '09': [\n [0, 0]\n ]\n }\n },\n\n {\n key: 'F',\n branches: {\n '25': [\n [2500, 2599]\n ],\n\n '33': [\n [6700, 6799]\n ]\n }\n },\n\n {\n key: 'G',\n branches: {\n '26': [\n [2600, 2699]\n ],\n\n '28': [\n [2100, 2149]\n ],\n\n '29': [\n [2150, 2299]\n ]\n }\n },\n\n {\n key: 'X',\n branches: {\n '31': [\n [2800, 2849]\n ]\n }\n }\n\n]; \n\nconst bankChecksums = {\n A: {\n weighting: [0,0, 6,3,7,9, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n B: {\n weighting: [0,0, 0,0,0,0, 0,0,10,5,8,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n C: {\n weighting: [3, 7, 0,0,0,0, 9,1,10,5,3,4,2,1, 0,0,0,0],\n modulo: 11\n },\n\n D: {\n weighting: [0, 0, 0,0,0,0, 0,7,6,5,4,3,2,1, 0,0,0,0],\n modulo: 11\n },\n\n E: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,5,4,3,2, 0,0,0,1],\n modulo: 11,\n specialCase: true\n },\n\n F: {\n weighting: [0, 0, 0,0,0,0, 0,1,7,3,1,7,3,1, 0,0,0,0],\n modulo: 10\n },\n\n G: {\n weighting: [0, 0, 0,0,0,0, 0,1,3,7,1,3,7,1, 0,3,7,1],\n modulo: 10,\n specialCase: true\n },\n\n X: {\n weighting: [0, 0, 0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0],\n modulo: 1\n },\n};\n\n/*eslint-enable */\n\nexport default {\n partConstants,\n partIndexes,\n partMaxLengths,\n bankData,\n bankChecksums\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/constants.js\n **/","import {\n partMaxLengths\n} from './constants';\n\nconst isString = x => x === x + '';\n\nconst isNumbersOnly = x => /^[0-9]+$/.test(x);\n\nconst padLeft = (input, length, token = '0') => Array(length - String(input).length + 1).join(token) + input;\n\nconst inRange = (start, value, end) => value >= start && value <= end;\n\nconst inRanges = (value, ranges = []) => {\n return ranges.reduce((bool, range) => {\n const [ start, end ] = range;\n\n return bool || inRange(start, value, end);\n }, false);\n};\n\nconst sumChars = int => {\n return (int + '').split('').reduce((acc, num) => {\n return acc + (num * 1);\n }, 0);\n};\n\nconst getPaddedAccountArray = (partsObj) => {\n return Object.keys(partsObj).reduce((a, k) => {\n const paddedValue = padLeft(partsObj[k], partMaxLengths[k]);\n const splitValues = paddedValue.split('');\n\n return a.concat(splitValues);\n }, []);\n};\n\nexport default {\n isString,\n isNumbersOnly,\n padLeft,\n inRange,\n inRanges,\n sumChars,\n getPaddedAccountArray\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/eslint-loader!./src/utils.js\n **/"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..8319a42
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,6691 @@
+{
+ "name": "nz-bank-account-validator",
+ "version": "0.0.4",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
+ "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
+ "requires": {
+ "@babel/types": "^7.6.0",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "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"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
+ "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg=="
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
+ "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.2",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.2",
+ "@babel/types": "^7.6.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
+ "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ }
+ }
+ },
+ "Base64": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz",
+ "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=",
+ "dev": true
+ },
+ "acorn": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+ "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+ "dev": true
+ },
+ "acorn-to-esprima": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.8.tgz",
+ "integrity": "sha1-AD8MZC65ITL0F9NwjxStqCrfLrE=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2",
+ "longest": "^1.0.1",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "alter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz",
+ "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=",
+ "dev": true,
+ "requires": {
+ "stable": "~0.1.3"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^2.1.5",
+ "normalize-path": "^2.0.0"
+ }
+ },
+ "append-transform": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
+ "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
+ "requires": {
+ "default-require-extensions": "^2.0.0"
+ }
+ },
+ "archy": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA="
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "ast-traverse": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz",
+ "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY=",
+ "dev": true
+ },
+ "ast-types": {
+ "version": "0.9.6",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
+ "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
+ "dev": true
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "babel": {
+ "version": "6.3.13",
+ "resolved": "https://registry.npmjs.org/babel/-/babel-6.3.13.tgz",
+ "integrity": "sha1-mjZs6TyyT2IHFMFRRCJcCu0345o=",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.1.18",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.1.18.tgz",
+ "integrity": "sha1-l2zdqfwuE1PkFRMbzhRn9+JDhuc=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.1.18",
+ "babel-generator": "^6.1.18",
+ "babel-helpers": "^6.1.18",
+ "babel-messages": "^6.1.18",
+ "babel-register": "^6.1.18",
+ "babel-runtime": "^5.0.0",
+ "babel-template": "^6.1.18",
+ "babel-traverse": "^6.1.18",
+ "babel-types": "^6.1.18",
+ "babylon": "^6.1.18",
+ "convert-source-map": "^1.1.0",
+ "debug": "^2.1.1",
+ "esutils": "^2.0.0",
+ "home-or-tmp": "^1.0.0",
+ "json5": "^0.4.0",
+ "lodash": "^3.10.0",
+ "minimatch": "^2.0.3",
+ "path-exists": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "private": "^0.1.6",
+ "regenerator": "0.8.35",
+ "shebang-regex": "^1.0.0",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.0",
+ "source-map-support": "^0.2.10"
+ }
+ },
+ "babel-eslint": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-5.0.0.tgz",
+ "integrity": "sha1-R8/tiIAJD/34Vp+oKtq1dX6lUS8=",
+ "dev": true,
+ "requires": {
+ "acorn-to-esprima": "^2.0.4",
+ "babel-traverse": "^6.0.20",
+ "babel-types": "^6.0.19",
+ "babylon": "^6.0.18",
+ "lodash.assign": "^3.2.0",
+ "lodash.pick": "^3.1.0"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-loader": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.1.0.tgz",
+ "integrity": "sha1-HcaY979/OXXDeVqNX8WiRsgghrc=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^0.2.11",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-add-module-exports": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.1.2.tgz",
+ "integrity": "sha1-TTiQAMndPJiLPtIwBOuV4ntC3lk=",
+ "dev": true,
+ "requires": {
+ "babel-template": "^6.0.16",
+ "lodash": "^3.10.1"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "^6.24.1",
+ "babel-helper-function-name": "^6.24.1",
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-types": "^6.26.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "^6.24.1",
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "regexpu-core": "^2.0.0"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.10.0"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "babel-preset-es2015": {
+ "version": "6.3.13",
+ "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz",
+ "integrity": "sha1-l9zn7ykuGMubK3VF2AxZPCjZUX8=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "^6.3.13",
+ "babel-plugin-transform-es2015-arrow-functions": "^6.3.13",
+ "babel-plugin-transform-es2015-block-scoped-functions": "^6.3.13",
+ "babel-plugin-transform-es2015-block-scoping": "^6.3.13",
+ "babel-plugin-transform-es2015-classes": "^6.3.13",
+ "babel-plugin-transform-es2015-computed-properties": "^6.3.13",
+ "babel-plugin-transform-es2015-destructuring": "^6.3.13",
+ "babel-plugin-transform-es2015-for-of": "^6.3.13",
+ "babel-plugin-transform-es2015-function-name": "^6.3.13",
+ "babel-plugin-transform-es2015-literals": "^6.3.13",
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.3.13",
+ "babel-plugin-transform-es2015-object-super": "^6.3.13",
+ "babel-plugin-transform-es2015-parameters": "^6.3.13",
+ "babel-plugin-transform-es2015-shorthand-properties": "^6.3.13",
+ "babel-plugin-transform-es2015-spread": "^6.3.13",
+ "babel-plugin-transform-es2015-sticky-regex": "^6.3.13",
+ "babel-plugin-transform-es2015-template-literals": "^6.3.13",
+ "babel-plugin-transform-es2015-typeof-symbol": "^6.3.13",
+ "babel-plugin-transform-es2015-unicode-regex": "^6.3.13",
+ "babel-plugin-transform-regenerator": "^6.3.13"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "home-or-tmp": "^2.0.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.4.15"
+ },
+ "dependencies": {
+ "babel-core": {
+ "version": "6.26.3",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-generator": "^6.26.0",
+ "babel-helpers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "convert-source-map": "^1.5.1",
+ "debug": "^2.6.9",
+ "json5": "^0.5.1",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4",
+ "path-is-absolute": "^1.0.1",
+ "private": "^0.1.8",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ }
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "5.8.38",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
+ "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=",
+ "dev": true,
+ "requires": {
+ "core-js": "^1.0.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
+ "dev": true
+ }
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "lodash": "^4.17.4"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "debug": "^2.6.8",
+ "globals": "^9.18.0",
+ "invariant": "^2.2.2",
+ "lodash": "^4.17.4"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ }
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "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"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ }
+ },
+ "breakable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz",
+ "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=",
+ "dev": true
+ },
+ "browserify-zlib": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+ "dev": true,
+ "requires": {
+ "pako": "~0.2.0"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "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"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "caching-transform": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz",
+ "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==",
+ "requires": {
+ "hasha": "^3.0.0",
+ "make-dir": "^2.0.0",
+ "package-hash": "^3.0.0",
+ "write-file-atomic": "^2.4.2"
+ }
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "^0.1.3",
+ "lazy-cache": "^1.0.3"
+ }
+ },
+ "chai": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.4.1.tgz",
+ "integrity": "sha1-Mwri+BkSTCYYIDb6XkOojqThvYU=",
+ "dev": true,
+ "requires": {
+ "assertion-error": "^1.0.1",
+ "deep-eql": "^0.1.3",
+ "type-detect": "^1.0.0"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://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"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "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"
+ }
+ },
+ "circular-json": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "cli-width": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
+ "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "requires": {
+ "center-align": "^0.1.1",
+ "right-align": "^0.1.1",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "commander": {
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+ "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ },
+ "commoner": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
+ "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=",
+ "dev": true,
+ "requires": {
+ "commander": "^2.5.0",
+ "detective": "^4.3.1",
+ "glob": "^5.0.15",
+ "graceful-fs": "^4.1.2",
+ "iconv-lite": "^0.4.5",
+ "mkdirp": "^0.5.0",
+ "private": "^0.1.6",
+ "q": "^1.1.2",
+ "recast": "^0.11.17"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "recast": {
+ "version": "0.11.23",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
+ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
+ "dev": true,
+ "requires": {
+ "ast-types": "0.9.6",
+ "esprima": "~3.1.0",
+ "private": "~0.1.5",
+ "source-map": "~0.5.0"
+ }
+ }
+ }
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "constants-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz",
+ "integrity": "sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "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"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
+ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cp-file": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz",
+ "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^2.0.0",
+ "nested-error-stacks": "^2.0.0",
+ "pify": "^4.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
+ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ }
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.2.8.tgz",
+ "integrity": "sha1-ubEdvm2WUd2IKgHmzEZ99xjs8Yk=",
+ "dev": true,
+ "requires": {
+ "pbkdf2-compat": "2.0.1",
+ "ripemd160": "0.2.0",
+ "sha.js": "2.2.6"
+ }
+ },
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "deep-eql": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
+ "dev": true,
+ "requires": {
+ "type-detect": "0.1.1"
+ },
+ "dependencies": {
+ "type-detect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
+ "dev": true
+ }
+ }
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "default-require-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
+ "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
+ "requires": {
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "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"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "defs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz",
+ "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=",
+ "dev": true,
+ "requires": {
+ "alter": "~0.2.0",
+ "ast-traverse": "~0.1.1",
+ "breakable": "~1.0.0",
+ "esprima-fb": "~15001.1001.0-dev-harmony-fb",
+ "simple-fmt": "~0.1.0",
+ "simple-is": "~0.2.0",
+ "stringmap": "~0.2.2",
+ "stringset": "~0.2.1",
+ "tryor": "~0.1.2",
+ "yargs": "~3.27.0"
+ },
+ "dependencies": {
+ "esprima-fb": {
+ "version": "15001.1001.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz",
+ "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^1.2.1",
+ "cliui": "^2.1.0",
+ "decamelize": "^1.0.0",
+ "os-locale": "^1.4.0",
+ "window-size": "^0.1.2",
+ "y18n": "^3.2.0"
+ }
+ }
+ }
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "detective": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.2.1",
+ "defined": "^1.0.0"
+ }
+ },
+ "diff": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
+ "dev": true
+ },
+ "doctrine": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
+ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
+ "dev": true,
+ "requires": {
+ "esutils": "^1.1.6",
+ "isarray": "0.0.1"
+ },
+ "dependencies": {
+ "esutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
+ "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "domain-browser": {
+ "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
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "enhanced-resolve": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.2.0",
+ "tapable": "^0.1.8"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
+ "dev": true
+ }
+ }
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true,
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.51",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz",
+ "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "^1.0.0"
+ }
+ },
+ "es6-error": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "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"
+ }
+ },
+ "es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "~0.3.5"
+ },
+ "dependencies": {
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ }
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
+ "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.51"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "escope": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "requires": {
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-1.7.2.tgz",
+ "integrity": "sha1-a+WJ27KStLN6GLafXMWjLpT/8OI=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "concat-stream": "^1.4.6",
+ "debug": "^2.1.1",
+ "doctrine": "^0.7.0",
+ "escape-string-regexp": "^1.0.2",
+ "escope": "^3.2.0",
+ "espree": "^2.2.4",
+ "estraverse": "^4.1.0",
+ "estraverse-fb": "^1.3.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^1.1.1",
+ "glob": "^5.0.14",
+ "globals": "^8.11.0",
+ "handlebars": "^4.0.0",
+ "inquirer": "^0.9.0",
+ "is-my-json-valid": "^2.10.0",
+ "is-resolvable": "^1.0.0",
+ "js-yaml": "^3.2.5",
+ "json-stable-stringify": "^1.0.0",
+ "lodash.clonedeep": "^3.0.1",
+ "lodash.merge": "^3.3.2",
+ "lodash.omit": "^3.1.0",
+ "minimatch": "^2.0.1",
+ "mkdirp": "^0.5.0",
+ "object-assign": "^2.0.0",
+ "optionator": "^0.5.0",
+ "path-is-absolute": "^1.0.0",
+ "path-is-inside": "^1.0.1",
+ "shelljs": "^0.3.0",
+ "strip-json-comments": "~1.0.1",
+ "text-table": "~0.2.0",
+ "to-double-quotes": "^1.0.1",
+ "to-single-quotes": "^1.0.3",
+ "user-home": "^1.0.0",
+ "xml-escape": "~1.0.0"
+ },
+ "dependencies": {
+ "espree": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz",
+ "integrity": "sha1-32kbkxCIlAKuspzAZnCMVmkLhUs=",
+ "dev": true
+ },
+ "globals": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz",
+ "integrity": "sha1-k9SmK9ysOM+vr8R9awNHaMsP/LQ=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-loader": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.1.0.tgz",
+ "integrity": "sha1-A06WHp9ZbwQMpAS10ml/T2J/NNA=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^0.2.7",
+ "object-assign": "^3.0.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ }
+ }
+ },
+ "esprima-fb": {
+ "version": "15001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz",
+ "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=",
+ "dev": true
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "estraverse-fb": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.2.tgz",
+ "integrity": "sha1-0yOky15awzHOoDNBOpJT4WQ+B8Q=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "^0.1.0"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^2.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "fast-levenshtein": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz",
+ "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=",
+ "dev": true
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "file-entry-cache": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz",
+ "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^1.2.1",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "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"
+ }
+ },
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "dev": true,
+ "requires": {
+ "circular-json": "^0.3.1",
+ "graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
+ "write": "^0.2.1"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "foreground-child": {
+ "version": "1.5.6",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
+ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
+ "requires": {
+ "cross-spawn": "^4",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
+ "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.12.1",
+ "node-pre-gyp": "^0.12.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "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"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "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"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.12.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "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"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "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"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.7.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "dev": true,
+ "requires": {
+ "is-property": "^1.0.2"
+ }
+ },
+ "generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "requires": {
+ "is-property": "^1.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-stdin": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-3.0.2.tgz",
+ "integrity": "sha1-wc7SS5A5s43thb3xYeV3E7bdSr4=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "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"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
+ "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
+ },
+ "growl": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.8.1.tgz",
+ "integrity": "sha1-Sy3sjZB+k9szZiTc7AGDUC+MlCg=",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.3.2.tgz",
+ "integrity": "sha512-LuccMnDrKB72bbClEIucoBNAIMpqmWvIGSKNEngDcYFT6hlCq7ZoCWc26ZT9mr6tfWTJeTswSldoI5LOeezzDQ==",
+ "requires": {
+ "neo-async": "^2.6.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hasha": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz",
+ "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=",
+ "requires": {
+ "is-stream": "^1.0.1"
+ }
+ },
+ "home-or-tmp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz",
+ "integrity": "sha1-S58eQIAMPlDGwn94FnavzOcfOYU=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "^1.0.1",
+ "user-home": "^1.1.1"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.4",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
+ "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ=="
+ },
+ "http-browserify": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz",
+ "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=",
+ "dev": true,
+ "requires": {
+ "Base64": "~0.2.0",
+ "inherits": "~2.0.1"
+ }
+ },
+ "https-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz",
+ "integrity": "sha1-s//f5zSyo9Sp79WOhlTJH86G6v0=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "inquirer": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.9.0.tgz",
+ "integrity": "sha1-c2bjijMeYZBJWKzlstpKml9jZ5g=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0",
+ "chalk": "^1.0.0",
+ "cli-width": "^1.0.1",
+ "figures": "^1.3.5",
+ "lodash": "^3.3.1",
+ "readline2": "^0.1.1",
+ "run-async": "^0.1.0",
+ "rx-lite": "^2.5.2",
+ "strip-ansi": "^3.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "interpret": {
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz",
+ "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "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"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "^2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "is-my-ip-valid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
+ "dev": true
+ },
+ "is-my-json-valid": {
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz",
+ "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==",
+ "dev": true,
+ "requires": {
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "is-my-ip-valid": "^1.0.0",
+ "jsonpointer": "^4.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA=="
+ },
+ "istanbul-lib-hook": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
+ "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
+ "requires": {
+ "append-transform": "^1.0.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
+ "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+ "requires": {
+ "@babel/generator": "^7.4.0",
+ "@babel/parser": "^7.4.3",
+ "@babel/template": "^7.4.0",
+ "@babel/traverse": "^7.4.3",
+ "@babel/types": "^7.4.0",
+ "istanbul-lib-coverage": "^2.0.5",
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
+ "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+ "requires": {
+ "istanbul-lib-coverage": "^2.0.5",
+ "make-dir": "^2.1.0",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
+ "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^2.0.5",
+ "make-dir": "^2.1.0",
+ "rimraf": "^2.6.3",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
+ "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
+ "requires": {
+ "handlebars": "^4.1.2"
+ }
+ },
+ "jade": {
+ "version": "0.26.3",
+ "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
+ "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
+ "dev": true,
+ "requires": {
+ "commander": "0.6.1",
+ "mkdirp": "0.3.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
+ "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
+ "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",
+ "dev": true
+ }
+ }
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ }
+ }
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json5": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
+ "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonpointer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz",
+ "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.0",
+ "type-check": "~0.3.1"
+ }
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ }
+ }
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ }
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "dependencies": {
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ }
+ }
+ },
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "lodash._arraycopy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
+ "dev": true
+ },
+ "lodash._arrayeach": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
+ "dev": true
+ },
+ "lodash._arraymap": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz",
+ "integrity": "sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY=",
+ "dev": true
+ },
+ "lodash._baseassign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash._baseclone": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
+ "dev": true,
+ "requires": {
+ "lodash._arraycopy": "^3.0.0",
+ "lodash._arrayeach": "^3.0.0",
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basefor": "^3.0.0",
+ "lodash.isarray": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+ "dev": true
+ },
+ "lodash._basedifference": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz",
+ "integrity": "sha1-8sIEKWwqeOArOJCBtu3KyTPPYpw=",
+ "dev": true,
+ "requires": {
+ "lodash._baseindexof": "^3.0.0",
+ "lodash._cacheindexof": "^3.0.0",
+ "lodash._createcache": "^3.0.0"
+ }
+ },
+ "lodash._baseflatten": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz",
+ "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=",
+ "dev": true,
+ "requires": {
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash._basefor": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
+ "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
+ "dev": true
+ },
+ "lodash._baseindexof": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz",
+ "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=",
+ "dev": true
+ },
+ "lodash._bindcallback": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
+ "dev": true
+ },
+ "lodash._cacheindexof": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz",
+ "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=",
+ "dev": true
+ },
+ "lodash._createassigner": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz",
+ "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=",
+ "dev": true,
+ "requires": {
+ "lodash._bindcallback": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0",
+ "lodash.restparam": "^3.0.0"
+ }
+ },
+ "lodash._createcache": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz",
+ "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "^3.0.0"
+ }
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._pickbyarray": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz",
+ "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=",
+ "dev": true
+ },
+ "lodash._pickbycallback": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz",
+ "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=",
+ "dev": true,
+ "requires": {
+ "lodash._basefor": "^3.0.0",
+ "lodash.keysin": "^3.0.0"
+ }
+ },
+ "lodash.assign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz",
+ "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=",
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "^3.0.0",
+ "lodash._createassigner": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash.clonedeep": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
+ "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=",
+ "dev": true,
+ "requires": {
+ "lodash._baseclone": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0"
+ }
+ },
+ "lodash.flattendeep": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI="
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz",
+ "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=",
+ "dev": true,
+ "requires": {
+ "lodash._basefor": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.keysin": "^3.0.0"
+ }
+ },
+ "lodash.istypedarray": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz",
+ "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash.keysin": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz",
+ "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=",
+ "dev": true,
+ "requires": {
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash.merge": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz",
+ "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=",
+ "dev": true,
+ "requires": {
+ "lodash._arraycopy": "^3.0.0",
+ "lodash._arrayeach": "^3.0.0",
+ "lodash._createassigner": "^3.0.0",
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0",
+ "lodash.isplainobject": "^3.0.0",
+ "lodash.istypedarray": "^3.0.0",
+ "lodash.keys": "^3.0.0",
+ "lodash.keysin": "^3.0.0",
+ "lodash.toplainobject": "^3.0.0"
+ }
+ },
+ "lodash.omit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-3.1.0.tgz",
+ "integrity": "sha1-iX/jguZBPZrJfGH3jtHgV6AK+fM=",
+ "dev": true,
+ "requires": {
+ "lodash._arraymap": "^3.0.0",
+ "lodash._basedifference": "^3.0.0",
+ "lodash._baseflatten": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0",
+ "lodash._pickbyarray": "^3.0.0",
+ "lodash._pickbycallback": "^3.0.0",
+ "lodash.keysin": "^3.0.0",
+ "lodash.restparam": "^3.0.0"
+ }
+ },
+ "lodash.pick": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz",
+ "integrity": "sha1-8lKoVbIEa2G805BLJvdr0u/GVVA=",
+ "dev": true,
+ "requires": {
+ "lodash._baseflatten": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0",
+ "lodash._pickbyarray": "^3.0.0",
+ "lodash._pickbycallback": "^3.0.0",
+ "lodash.restparam": "^3.0.0"
+ }
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+ "dev": true
+ },
+ "lodash.toplainobject": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz",
+ "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keysin": "^3.0.0"
+ }
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
+ "dev": true
+ },
+ "memory-fs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "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"
+ }
+ },
+ "minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.0.0"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "mocha": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.3.4.tgz",
+ "integrity": "sha1-himm+wRPLSJapLgaKuLQAWmesmY=",
+ "dev": true,
+ "requires": {
+ "commander": "2.3.0",
+ "debug": "2.2.0",
+ "diff": "1.4.0",
+ "escape-string-regexp": "1.0.2",
+ "glob": "3.2.3",
+ "growl": "1.8.1",
+ "jade": "0.26.3",
+ "mkdirp": "0.5.0",
+ "supports-color": "1.2.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
+ "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
+ "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=",
+ "dev": true
+ },
+ "glob": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.3.tgz",
+ "integrity": "sha1-4xPusknHr/qlxHUoaw4RW1mDlGc=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "~2.0.0",
+ "inherits": "2",
+ "minimatch": "~0.2.11"
+ }
+ },
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2",
+ "sigmund": "~1.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",
+ "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=",
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
+ "integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+ "dev": true,
+ "optional": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "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"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
+ },
+ "nested-error-stacks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz",
+ "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug=="
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.6.0.tgz",
+ "integrity": "sha1-JEgG1E0xngSLyGB7XMTq+aKdLjw=",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "~0.1.4",
+ "buffer": "^4.9.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "0.0.1",
+ "crypto-browserify": "~3.2.6",
+ "domain-browser": "^1.1.1",
+ "events": "^1.0.0",
+ "http-browserify": "^1.3.2",
+ "https-browserify": "0.0.0",
+ "os-browserify": "~0.1.2",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.0",
+ "punycode": "^1.2.4",
+ "querystring-es3": "~0.2.0",
+ "readable-stream": "^1.1.13",
+ "stream-browserify": "^1.0.0",
+ "string_decoder": "~0.10.25",
+ "timers-browserify": "^1.0.1",
+ "tty-browserify": "0.0.0",
+ "url": "~0.10.1",
+ "util": "~0.10.3",
+ "vm-browserify": "0.0.4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://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",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "nyc": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz",
+ "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==",
+ "requires": {
+ "archy": "^1.0.0",
+ "caching-transform": "^3.0.2",
+ "convert-source-map": "^1.6.0",
+ "cp-file": "^6.2.0",
+ "find-cache-dir": "^2.1.0",
+ "find-up": "^3.0.0",
+ "foreground-child": "^1.5.6",
+ "glob": "^7.1.3",
+ "istanbul-lib-coverage": "^2.0.5",
+ "istanbul-lib-hook": "^2.0.7",
+ "istanbul-lib-instrument": "^3.3.0",
+ "istanbul-lib-report": "^2.0.8",
+ "istanbul-lib-source-maps": "^3.0.6",
+ "istanbul-reports": "^2.2.4",
+ "js-yaml": "^3.13.1",
+ "make-dir": "^2.1.0",
+ "merge-source-map": "^1.1.0",
+ "resolve-from": "^4.0.0",
+ "rimraf": "^2.6.3",
+ "signal-exit": "^3.0.2",
+ "spawn-wrap": "^1.4.2",
+ "test-exclude": "^5.2.3",
+ "uuid": "^3.3.2",
+ "yargs": "^13.2.2",
+ "yargs-parser": "^13.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "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"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "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"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
+ "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.1"
+ }
+ }
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "optionator": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz",
+ "integrity": "sha1-t1qJlaLUF98ltuTjhi9QqohlE2g=",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.2",
+ "fast-levenshtein": "~1.0.0",
+ "levn": "~0.2.5",
+ "prelude-ls": "~1.1.1",
+ "type-check": "~0.3.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "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=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "package-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz",
+ "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==",
+ "requires": {
+ "graceful-fs": "^4.1.15",
+ "hasha": "^3.0.0",
+ "lodash.flattendeep": "^4.4.0",
+ "release-zalgo": "^1.0.0"
+ }
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "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"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz",
+ "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ }
+ }
+ },
+ "pbkdf2-compat": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz",
+ "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
+ "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+ "requires": {
+ "find-up": "^3.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": 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"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "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"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "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"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "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"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "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"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "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-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "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"
+ }
+ }
+ }
+ },
+ "readline2": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
+ "integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=",
+ "dev": true,
+ "requires": {
+ "mute-stream": "0.0.4",
+ "strip-ansi": "^2.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
+ "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^1.0.0"
+ }
+ }
+ }
+ },
+ "recast": {
+ "version": "0.10.24",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.24.tgz",
+ "integrity": "sha1-7DR4EjIqyJWuGxLjBrZ/CE8CJ3o=",
+ "dev": true,
+ "requires": {
+ "ast-types": "0.8.5",
+ "esprima-fb": "~15001.1.0-dev-harmony-fb",
+ "private": "~0.1.5",
+ "source-map": "~0.4.1"
+ },
+ "dependencies": {
+ "ast-types": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.5.tgz",
+ "integrity": "sha1-WhJzMMxeyXrFMpLj3PGhSptugD8=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerator": {
+ "version": "0.8.35",
+ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.35.tgz",
+ "integrity": "sha1-0LyuslGlCQG0FqfGvPUhXSbGgds=",
+ "dev": true,
+ "requires": {
+ "commoner": "~0.10.0",
+ "defs": "~1.1.0",
+ "esprima-fb": "~15001.1.0-dev-harmony-fb",
+ "private": "~0.1.5",
+ "recast": "0.10.24",
+ "through": "~2.3.6"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "babel-types": "^6.19.0",
+ "private": "^0.1.6"
+ },
+ "dependencies": {
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ }
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "^0.1.3"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "release-zalgo": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+ "requires": {
+ "es6-error": "^4.0.1"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
+ },
+ "resolve": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
+ "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "^0.1.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "requires": {
+ "glob": "^7.1.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "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"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "ripemd160": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz",
+ "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
+ "dev": true
+ },
+ "run-async": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0"
+ }
+ },
+ "rx-lite": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-2.5.2.tgz",
+ "integrity": "sha1-X+9C1Nbna6tRmdIXEyfbcJ5Y5jQ=",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "sha.js": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz",
+ "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
+ "dev": true
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "shelljs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
+ "dev": true
+ },
+ "sigmund": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ },
+ "simple-fmt": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz",
+ "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=",
+ "dev": true
+ },
+ "simple-is": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz",
+ "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=",
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "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"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ }
+ },
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "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"
+ }
+ },
+ "source-map-support": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
+ "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.1.32"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.1.32",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
+ "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spawn-wrap": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz",
+ "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==",
+ "requires": {
+ "foreground-child": "^1.5.6",
+ "mkdirp": "^0.5.0",
+ "os-homedir": "^1.0.1",
+ "rimraf": "^2.6.2",
+ "signal-exit": "^3.0.2",
+ "which": "^1.3.0"
+ }
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stream-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz",
+ "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^1.0.27-1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://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",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringmap": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz",
+ "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=",
+ "dev": true
+ },
+ "stringset": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz",
+ "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "tapable": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
+ "dev": true
+ },
+ "test-exclude": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
+ "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+ "requires": {
+ "glob": "^7.1.3",
+ "minimatch": "^3.0.4",
+ "read-pkg-up": "^4.0.0",
+ "require-main-filename": "^2.0.0"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "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"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+ "dev": true,
+ "requires": {
+ "process": "~0.11.0"
+ }
+ },
+ "to-double-quotes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-1.0.2.tgz",
+ "integrity": "sha1-u27TbHhjTD1k/YelGtWGDcWU7f0=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^3.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "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"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ }
+ }
+ },
+ "to-single-quotes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-1.0.4.tgz",
+ "integrity": "sha1-LuqBma8myhFx9TV8WeGS1WXuUxM=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^3.0.0"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tryor": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz",
+ "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=",
+ "dev": true
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-detect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
+ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
+ "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
+ "optional": true,
+ "requires": {
+ "commander": "~2.20.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "user-home": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
+ "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "watchpack": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz",
+ "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
+ "dev": true,
+ "requires": {
+ "async": "^0.9.0",
+ "chokidar": "^1.0.0",
+ "graceful-fs": "^4.1.2"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ }
+ }
+ },
+ "webpack": {
+ "version": "1.12.9",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.12.9.tgz",
+ "integrity": "sha1-KgMdZhiYOcxcvyxo+AVm2i4U/04=",
+ "dev": true,
+ "requires": {
+ "async": "^1.3.0",
+ "clone": "^1.0.2",
+ "enhanced-resolve": "~0.9.0",
+ "esprima": "^2.5.0",
+ "interpret": "^0.6.4",
+ "loader-utils": "^0.2.11",
+ "memory-fs": "~0.3.0",
+ "mkdirp": "~0.5.0",
+ "node-libs-browser": ">= 0.4.0 <=0.6.0",
+ "optimist": "~0.6.0",
+ "supports-color": "^3.1.0",
+ "tapable": "~0.1.8",
+ "uglify-js": "~2.6.0",
+ "watchpack": "^0.2.1",
+ "webpack-core": "~0.6.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ },
+ "uglify-js": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",
+ "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=",
+ "dev": true,
+ "requires": {
+ "async": "~0.2.6",
+ "source-map": "~0.5.1",
+ "uglify-to-browserify": "~1.0.0",
+ "yargs": "~3.10.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ }
+ }
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^1.0.2",
+ "cliui": "^2.1.0",
+ "decamelize": "^1.0.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "~0.1.7",
+ "source-map": "~0.4.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "xml-escape": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz",
+ "integrity": "sha1-AJY9aXsq3wwYXE4E5zF0upsojrI=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.1",
+ "cliui": "^3.0.3",
+ "decamelize": "^1.1.1",
+ "os-locale": "^1.4.0",
+ "string-width": "^1.0.1",
+ "window-size": "^0.1.4",
+ "y18n": "^3.2.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+ "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ }
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index f961e0a..cbee7ae 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,8 @@
"scripts": {
"build": "webpack --mode=build",
"dev": "webpack --progress --colors --watch --mode=dev",
- "test": "mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js"
+ "test": "mocha --compilers js:babel-core/register --colors ./test/*.spec.js",
+ "testCoverage": "nyc --reporter=lcov --reporter=text-summary --reporter=html npm run test && open coverage/index.html"
},
"devDependencies": {
"babel": "6.3.13",
@@ -33,5 +34,8 @@
"NZ"
],
"author": "Josh Hollinshead",
- "license": "MIT"
-}
+ "license": "MIT",
+ "dependencies": {
+ "nyc": "^14.1.1"
+ }
+}
\ No newline at end of file
diff --git a/src/constants.js b/src/constants.js
index ead33a3..7a1076e 100644
--- a/src/constants.js
+++ b/src/constants.js
@@ -42,7 +42,12 @@ const bankData = [
[1300, 1399],
[1500, 1599],
[1700, 1799],
- [1900, 1999]
+ [1900, 1999],
+ [7350,7399]
+ ],
+
+ '04': [
+ [2020,2024]
],
'06': [
diff --git a/src/index.js b/src/index.js
index b445611..e009bfc 100755
--- a/src/index.js
+++ b/src/index.js
@@ -110,6 +110,8 @@ export default {
if (!bankData) { return false; }
const algorithm = this.getChecksum(bankData, base);
+ // console.info("algorithm",algorithm)
+ // console.info("bankData",bankData)
if (!algorithm) { return false; }
diff --git a/test/library.spec.js b/test/library.spec.js
index 6ec2688..4ab12a2 100755
--- a/test/library.spec.js
+++ b/test/library.spec.js
@@ -64,10 +64,11 @@ const validateTests = [
['Algorithm G test', 'validate', ['26-2600-0320871-032'], true],
['Random test 1', 'validate', ['12-3140-0171323-50'], true],
['Random test 2', 'validate', ['12-3141-325080-00'], true],
-
+ ['Algorithm B test as new rule', 'validate', ['04-2020-1000000-00'], true],
+ ['Algorithm A test as new rule', 'validate', ['03-7351-110000-00'], true],
// Failure tests
- ['String missing branch, base and suffix', 'validate', ['02','01'], false],
+ ['String missing branch, base and suffix', 'validate', ['02', '01'], false],
['String missing base and suffix', 'validate', ['01-902'], false],
['String missing suffix', 'validate', ['01-902-0068389'], false],
@@ -77,7 +78,9 @@ const validateTests = [
['Object missing suffix', 'validate', [{ id: '01', branch: '902', base: '0068389' }], false],
['Number instead of string or object', 'validate', [12345678], false],
- ['Invalid random test', 'validate', ['01-9999-12312311-111'], false]
+ ['Invalid random test', 'validate', ['01-9999-12312311-111'], false],
+ ['Algorithm A test as new rule invlidate', 'validate', ['03-7351-950000-00'], false]
+
];
const groupedTests = [
@@ -90,12 +93,10 @@ const groupedTests = [
];
groupedTests.forEach(([groupLabel, tests]) => {
-
- describe(groupLabel, function () {
-
- tests.forEach(([label, fn, inputs, outcome]) => {
- it(`${label}. Expect function '${fn}' with inputs ${JSON.stringify(inputs)} to equal ${JSON.stringify(outcome)}`, () => {
- expect(Library[fn](...inputs)).to.be.deep.equal(outcome);
+ describe(groupLabel, function () {
+ tests.forEach(([label, fn, inputs, outcome]) => {
+ it(`${label}. Expect function '${fn}' with inputs ${JSON.stringify(inputs)} to equal ${JSON.stringify(outcome)}`, () => {
+ expect(Library[fn](...inputs)).to.be.deep.equal(outcome);
});
});