{"version":3,"sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/dotenv/lib/main.js"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","uncurryThis","PROPER_FUNCTION_NAME","PROPER","redefine","anObject","isPrototypeOf","$toString","fails","regExpFlags","TO_STRING","RegExpPrototype","RegExp","prototype","n$ToString","getFlags","NOT_GENERIC","call","source","flags","INCORRECT_NAME","name","R","this","p","rf","f","undefined","unsafe","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","Math","pow","write","value","c","rt","abs","isNaN","floor","log","LN2","base64","ieee754","isArray","typedArraySupport","__proto__","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","checked","string","isEncoding","actual","slice","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isnan","type","data","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","buf","readUInt16BE","foundIndex","found","j","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","apply","equals","inspect","str","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","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","trim","units","leadSurrogate","byteArray","hi","lo","src","dst","_createForOfIteratorHelper","o","allowArrayLike","it","iterator","unsupportedIterableToArray","F","done","_e","err","normalCompletion","didErr","step","next","_e2","module","fs","path","message","console","NEWLINE","RE_INI_KEY_VAL","RE_NEWLINES","NEWLINES_MATCH","parse","options","debug","Boolean","split","forEach","line","idx","keyValueArr","key","isDoubleQuoted","isSingleQuoted","substring","config","dotenvPath","resolve","process","cwd","readFileSync","keys","hasOwnProperty","error"],"mappings":"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","file":"js/InformativoAcessos~InformativoCoamo.0ca8bac1.js","sourcesContent":["'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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\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","/*!\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","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/* @flow */\n/*::\n\ntype DotenvParseOptions = {\n debug?: boolean\n}\n\n// keys and values from src\ntype DotenvParseOutput = { [string]: string }\n\ntype DotenvConfigOptions = {\n path?: string, // path to .env file\n encoding?: string, // encoding of .env file\n debug?: string // turn on logging for debugging purposes\n}\n\ntype DotenvConfigOutput = {\n parsed?: DotenvParseOutput,\n error?: Error\n}\n\n*/\n\nconst fs = require('fs')\nconst path = require('path')\n\nfunction log (message /*: string */) {\n console.log(`[dotenv][DEBUG] ${message}`)\n}\n\nconst NEWLINE = '\\n'\nconst RE_INI_KEY_VAL = /^\\s*([\\w.-]+)\\s*=\\s*(.*)?\\s*$/\nconst RE_NEWLINES = /\\\\n/g\nconst NEWLINES_MATCH = /\\n|\\r|\\r\\n/\n\n// Parses src into an Object\nfunction parse (src /*: string | Buffer */, options /*: ?DotenvParseOptions */) /*: DotenvParseOutput */ {\n const debug = Boolean(options && options.debug)\n const obj = {}\n\n // convert Buffers before splitting into lines and processing\n src.toString().split(NEWLINES_MATCH).forEach(function (line, idx) {\n // matching \"KEY' and 'VAL' in 'KEY=VAL'\n const keyValueArr = line.match(RE_INI_KEY_VAL)\n // matched?\n if (keyValueArr != null) {\n const key = keyValueArr[1]\n // default undefined or missing values to empty string\n let val = (keyValueArr[2] || '')\n const end = val.length - 1\n const isDoubleQuoted = val[0] === '\"' && val[end] === '\"'\n const isSingleQuoted = val[0] === \"'\" && val[end] === \"'\"\n\n // if single or double quoted, remove quotes\n if (isSingleQuoted || isDoubleQuoted) {\n val = val.substring(1, end)\n\n // if double quoted, expand newlines\n if (isDoubleQuoted) {\n val = val.replace(RE_NEWLINES, NEWLINE)\n }\n } else {\n // remove surrounding whitespace\n val = val.trim()\n }\n\n obj[key] = val\n } else if (debug) {\n log(`did not match key and value when parsing line ${idx + 1}: ${line}`)\n }\n })\n\n return obj\n}\n\n// Populates process.env from .env file\nfunction config (options /*: ?DotenvConfigOptions */) /*: DotenvConfigOutput */ {\n let dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding /*: string */ = 'utf8'\n let debug = false\n\n if (options) {\n if (options.path != null) {\n dotenvPath = options.path\n }\n if (options.encoding != null) {\n encoding = options.encoding\n }\n if (options.debug != null) {\n debug = true\n }\n }\n\n try {\n // specifying an encoding returns a string instead of a buffer\n const parsed = parse(fs.readFileSync(dotenvPath, { encoding }), { debug })\n\n Object.keys(parsed).forEach(function (key) {\n if (!Object.prototype.hasOwnProperty.call(process.env, key)) {\n process.env[key] = parsed[key]\n } else if (debug) {\n log(`\"${key}\" is already defined in \\`process.env\\` and will not be overwritten`)\n }\n })\n\n return { parsed }\n } catch (e) {\n return { error: e }\n }\n}\n\nmodule.exports.config = config\nmodule.exports.parse = parse\n"],"sourceRoot":""}