{"version":3,"sources":["webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/deps/dashboard/node_modules/uuid/dist/esm-browser/rng.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/deps/dashboard/node_modules/uuid/dist/esm-browser/regex.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/deps/dashboard/node_modules/uuid/dist/esm-browser/validate.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/deps/dashboard/node_modules/uuid/dist/esm-browser/stringify.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/deps/dashboard/node_modules/uuid/dist/esm-browser/v4.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/node-libs-browser/mock/process.js","webpack:///(webpack)/buildin/global.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/path-browserify/index.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/module.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/isarray/index.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/ieee754/index.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/base64-js/index.js","webpack:////nix/store/q9zrviqlhrcmxpr7pgycazx4jxisfrx7-dashboard-modules-0.1.0/node_modules/buffer/index.js"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","validate","uuid","test","byteToHex","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v4","options","buf","rnds","random","i","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","nextTick","fn","args","Array","prototype","slice","shift","setTimeout","apply","platform","arch","execPath","title","pid","browser","env","argv","binding","name","path","cwd","chdir","dir","resolve","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","g","Function","e","window","module","normalizeArray","parts","allowAboveRoot","up","last","splice","unshift","basename","start","end","matchedSlash","charCodeAt","filter","xs","f","res","resolvedPath","resolvedAbsolute","process","charAt","split","p","join","normalize","isAbsolute","trailingSlash","paths","index","relative","from","to","trim","fromParts","toParts","Math","min","samePartsLength","outputParts","sep","delimiter","dirname","code","hasRoot","ext","extname","startDot","startPart","preDotState","str","len","__webpack_amd_options__","webpackPolyfill","deprecate","children","Object","defineProperty","enumerable","get","l","isArray","read","buffer","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","pow","write","value","c","rt","abs","isNaN","floor","log","LN2","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","output","extraBytes","maxChunkLength","len2","base64","ieee754","typedArraySupport","__proto__","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isnan","type","data","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","val","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","readUInt16BE","foundIndex","found","j","hexWrite","Number","remaining","strLen","parsed","parseInt","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","list","pos","swap16","swap32","swap64","equals","inspect","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","replace","units","leadSurrogate","byteArray","hi","lo","src","dst"],"mappings":"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","file":"js/chunk-vendors~fdfa2e35.6a710002.js","sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n"],"sourceRoot":""}