UNPKG

@did-btcr2/method

Version:

Javascript/TypeScript reference implementation of did:btcr2 method, a censorship resistant DID Method using the Bitcoin blockchain as a Verifiable Data Registry to announce changes to the DID document. Core package of the did-btcr2-js monorepo.

1,369 lines (1,366 loc) 4.66 MB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a3, b2) => (typeof require !== "undefined" ? require : a3)[b2] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod3) => function __require2() { return mod3 || (0, cb[__getOwnPropNames(cb)[0]])((mod3 = { exports: {} }).exports, mod3), mod3.exports; }; var __export = (target, all3) => { for (var name10 in all3) __defProp(target, name10, { get: all3[name10], enumerable: true }); }; var __copyProps = (to, from7, except, desc) => { if (from7 && typeof from7 === "object" || typeof from7 === "function") { for (let key of __getOwnPropNames(from7)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from7[key], enumerable: !(desc = __getOwnPropDesc(from7, key)) || desc.enumerable }); } return to; }; var __toESM = (mod3, isNodeMode, target) => (target = mod3 != null ? __create(__getProtoOf(mod3)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod3 || !mod3.__esModule ? __defProp(target, "default", { value: mod3, enumerable: true }) : target, mod3 )); // ../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js var require_base64_js = __commonJS({ "../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js"(exports) { "use strict"; init_shim(); exports.byteLength = byteLength; exports.toByteArray = toByteArray; exports.fromByteArray = fromByteArray; var lookup2 = []; var revLookup = []; var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; var code8 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (i2 = 0, len = code8.length; i2 < len; ++i2) { lookup2[i2] = code8[i2]; revLookup[code8.charCodeAt(i2)] = i2; } var i2; var len; revLookup["-".charCodeAt(0)] = 62; revLookup["_".charCodeAt(0)] = 63; function getLens(b64) { var len2 = b64.length; if (len2 % 4 > 0) { throw new Error("Invalid string. Length must be a multiple of 4"); } var validLen = b64.indexOf("="); if (validLen === -1) validLen = len2; var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4; return [validLen, placeHoldersLen]; } function byteLength(b64) { var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function _byteLength(b64, validLen, placeHoldersLen) { return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function toByteArray(b64) { var tmp; var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); var curByte = 0; var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen; var i3; for (i3 = 0; i3 < len2; i3 += 4) { tmp = revLookup[b64.charCodeAt(i3)] << 18 | revLookup[b64.charCodeAt(i3 + 1)] << 12 | revLookup[b64.charCodeAt(i3 + 2)] << 6 | revLookup[b64.charCodeAt(i3 + 3)]; arr[curByte++] = tmp >> 16 & 255; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 2) { tmp = revLookup[b64.charCodeAt(i3)] << 2 | revLookup[b64.charCodeAt(i3 + 1)] >> 4; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 1) { tmp = revLookup[b64.charCodeAt(i3)] << 10 | revLookup[b64.charCodeAt(i3 + 1)] << 4 | revLookup[b64.charCodeAt(i3 + 2)] >> 2; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } return arr; } function tripletToBase64(num2) { return lookup2[num2 >> 18 & 63] + lookup2[num2 >> 12 & 63] + lookup2[num2 >> 6 & 63] + lookup2[num2 & 63]; } function encodeChunk(uint8, start2, end) { var tmp; var output3 = []; for (var i3 = start2; i3 < end; i3 += 3) { tmp = (uint8[i3] << 16 & 16711680) + (uint8[i3 + 1] << 8 & 65280) + (uint8[i3 + 2] & 255); output3.push(tripletToBase64(tmp)); } return output3.join(""); } function fromByteArray(uint8) { var tmp; var len2 = uint8.length; var extraBytes = len2 % 3; var parts = []; var maxChunkLength = 16383; for (var i3 = 0, len22 = len2 - extraBytes; i3 < len22; i3 += maxChunkLength) { parts.push(encodeChunk(uint8, i3, i3 + maxChunkLength > len22 ? len22 : i3 + maxChunkLength)); } if (extraBytes === 1) { tmp = uint8[len2 - 1]; parts.push( lookup2[tmp >> 2] + lookup2[tmp << 4 & 63] + "==" ); } else if (extraBytes === 2) { tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; parts.push( lookup2[tmp >> 10] + lookup2[tmp >> 4 & 63] + lookup2[tmp << 2 & 63] + "=" ); } return parts.join(""); } } }); // ../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js var require_ieee754 = __commonJS({ "../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js"(exports) { init_shim(); exports.read = function(buffer2, offset, isLE4, mLen, nBytes) { var e2, m2; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var nBits = -7; var i2 = isLE4 ? nBytes - 1 : 0; var d2 = isLE4 ? -1 : 1; var s2 = buffer2[offset + i2]; i2 += d2; e2 = s2 & (1 << -nBits) - 1; s2 >>= -nBits; nBits += eLen; for (; nBits > 0; e2 = e2 * 256 + buffer2[offset + i2], i2 += d2, nBits -= 8) { } m2 = e2 & (1 << -nBits) - 1; e2 >>= -nBits; nBits += mLen; for (; nBits > 0; m2 = m2 * 256 + buffer2[offset + i2], i2 += d2, nBits -= 8) { } if (e2 === 0) { e2 = 1 - eBias; } else if (e2 === eMax) { return m2 ? NaN : (s2 ? -1 : 1) * Infinity; } else { m2 = m2 + Math.pow(2, mLen); e2 = e2 - eBias; } return (s2 ? -1 : 1) * m2 * Math.pow(2, e2 - mLen); }; exports.write = function(buffer2, value3, offset, isLE4, mLen, nBytes) { var e2, m2, c2; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; var i2 = isLE4 ? 0 : nBytes - 1; var d2 = isLE4 ? 1 : -1; var s2 = value3 < 0 || value3 === 0 && 1 / value3 < 0 ? 1 : 0; value3 = Math.abs(value3); if (isNaN(value3) || value3 === Infinity) { m2 = isNaN(value3) ? 1 : 0; e2 = eMax; } else { e2 = Math.floor(Math.log(value3) / Math.LN2); if (value3 * (c2 = Math.pow(2, -e2)) < 1) { e2--; c2 *= 2; } if (e2 + eBias >= 1) { value3 += rt / c2; } else { value3 += rt * Math.pow(2, 1 - eBias); } if (value3 * c2 >= 2) { e2++; c2 /= 2; } if (e2 + eBias >= eMax) { m2 = 0; e2 = eMax; } else if (e2 + eBias >= 1) { m2 = (value3 * c2 - 1) * Math.pow(2, mLen); e2 = e2 + eBias; } else { m2 = value3 * Math.pow(2, eBias - 1) * Math.pow(2, mLen); e2 = 0; } } for (; mLen >= 8; buffer2[offset + i2] = m2 & 255, i2 += d2, m2 /= 256, mLen -= 8) { } e2 = e2 << mLen | m2; eLen += mLen; for (; eLen > 0; buffer2[offset + i2] = e2 & 255, i2 += d2, e2 /= 256, eLen -= 8) { } buffer2[offset + i2 - d2] |= s2 * 128; }; } }); // ../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js var require_buffer = __commonJS({ "../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js"(exports) { "use strict"; init_shim(); var base644 = require_base64_js(); var ieee754 = require_ieee754(); var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; exports.Buffer = Buffer3; exports.SlowBuffer = SlowBuffer; exports.INSPECT_MAX_BYTES = 50; var K_MAX_LENGTH = 2147483647; exports.kMaxLength = K_MAX_LENGTH; Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport(); if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { console.error( "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." ); } function typedArraySupport() { try { var arr = new Uint8Array(1); var proto2 = { foo: function() { return 42; } }; Object.setPrototypeOf(proto2, Uint8Array.prototype); Object.setPrototypeOf(arr, proto2); return arr.foo() === 42; } catch (e2) { return false; } } Object.defineProperty(Buffer3.prototype, "parent", { enumerable: true, get: function() { if (!Buffer3.isBuffer(this)) return void 0; return this.buffer; } }); Object.defineProperty(Buffer3.prototype, "offset", { enumerable: true, get: function() { if (!Buffer3.isBuffer(this)) return void 0; return this.byteOffset; } }); function createBuffer(length7) { if (length7 > K_MAX_LENGTH) { throw new RangeError('The value "' + length7 + '" is invalid for option "size"'); } var buf2 = new Uint8Array(length7); Object.setPrototypeOf(buf2, Buffer3.prototype); return buf2; } function Buffer3(arg, encodingOrOffset, length7) { if (typeof arg === "number") { if (typeof encodingOrOffset === "string") { throw new TypeError( 'The "string" argument must be of type string. Received type number' ); } return allocUnsafe2(arg); } return from7(arg, encodingOrOffset, length7); } Buffer3.poolSize = 8192; function from7(value3, encodingOrOffset, length7) { if (typeof value3 === "string") { return fromString4(value3, encodingOrOffset); } if (ArrayBuffer.isView(value3)) { return fromArrayView(value3); } if (value3 == null) { throw new TypeError( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value3 ); } if (isInstance(value3, ArrayBuffer) || value3 && isInstance(value3.buffer, ArrayBuffer)) { return fromArrayBuffer(value3, encodingOrOffset, length7); } if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value3, SharedArrayBuffer) || value3 && isInstance(value3.buffer, SharedArrayBuffer))) { return fromArrayBuffer(value3, encodingOrOffset, length7); } if (typeof value3 === "number") { throw new TypeError( 'The "value" argument must not be of type number. Received type number' ); } var valueOf = value3.valueOf && value3.valueOf(); if (valueOf != null && valueOf !== value3) { return Buffer3.from(valueOf, encodingOrOffset, length7); } var b2 = fromObject(value3); if (b2) return b2; if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value3[Symbol.toPrimitive] === "function") { return Buffer3.from( value3[Symbol.toPrimitive]("string"), encodingOrOffset, length7 ); } throw new TypeError( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value3 ); } Buffer3.from = function(value3, encodingOrOffset, length7) { return from7(value3, encodingOrOffset, length7); }; Object.setPrototypeOf(Buffer3.prototype, Uint8Array.prototype); Object.setPrototypeOf(Buffer3, Uint8Array); function assertSize(size) { if (typeof size !== "number") { throw new TypeError('"size" argument must be of type number'); } else if (size < 0) { throw new RangeError('The value "' + size + '" is invalid for option "size"'); } } function alloc5(size, fill, encoding) { assertSize(size); if (size <= 0) { return createBuffer(size); } if (fill !== void 0) { return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); } return createBuffer(size); } Buffer3.alloc = function(size, fill, encoding) { return alloc5(size, fill, encoding); }; function allocUnsafe2(size) { assertSize(size); return createBuffer(size < 0 ? 0 : checked(size) | 0); } Buffer3.allocUnsafe = function(size) { return allocUnsafe2(size); }; Buffer3.allocUnsafeSlow = function(size) { return allocUnsafe2(size); }; function fromString4(string4, encoding) { if (typeof encoding !== "string" || encoding === "") { encoding = "utf8"; } if (!Buffer3.isEncoding(encoding)) { throw new TypeError("Unknown encoding: " + encoding); } var length7 = byteLength(string4, encoding) | 0; var buf2 = createBuffer(length7); var actual = buf2.write(string4, encoding); if (actual !== length7) { buf2 = buf2.slice(0, actual); } return buf2; } function fromArrayLike(array2) { var length7 = array2.length < 0 ? 0 : checked(array2.length) | 0; var buf2 = createBuffer(length7); for (var i2 = 0; i2 < length7; i2 += 1) { buf2[i2] = array2[i2] & 255; } return buf2; } function fromArrayView(arrayView) { if (isInstance(arrayView, Uint8Array)) { var copy2 = new Uint8Array(arrayView); return fromArrayBuffer(copy2.buffer, copy2.byteOffset, copy2.byteLength); } return fromArrayLike(arrayView); } function fromArrayBuffer(array2, byteOffset, length7) { if (byteOffset < 0 || array2.byteLength < byteOffset) { throw new RangeError('"offset" is outside of buffer bounds'); } if (array2.byteLength < byteOffset + (length7 || 0)) { throw new RangeError('"length" is outside of buffer bounds'); } var buf2; if (byteOffset === void 0 && length7 === void 0) { buf2 = new Uint8Array(array2); } else if (length7 === void 0) { buf2 = new Uint8Array(array2, byteOffset); } else { buf2 = new Uint8Array(array2, byteOffset, length7); } Object.setPrototypeOf(buf2, Buffer3.prototype); return buf2; } function fromObject(obj) { if (Buffer3.isBuffer(obj)) { var len = checked(obj.length) | 0; var buf2 = createBuffer(len); if (buf2.length === 0) { return buf2; } obj.copy(buf2, 0, 0, len); return buf2; } if (obj.length !== void 0) { if (typeof obj.length !== "number" || numberIsNaN(obj.length)) { return createBuffer(0); } return fromArrayLike(obj); } if (obj.type === "Buffer" && Array.isArray(obj.data)) { return fromArrayLike(obj.data); } } function checked(length7) { if (length7 >= K_MAX_LENGTH) { throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes"); } return length7 | 0; } function SlowBuffer(length7) { if (+length7 != length7) { length7 = 0; } return Buffer3.alloc(+length7); } Buffer3.isBuffer = function isBuffer3(b2) { return b2 != null && b2._isBuffer === true && b2 !== Buffer3.prototype; }; Buffer3.compare = function compare4(a3, b2) { if (isInstance(a3, Uint8Array)) a3 = Buffer3.from(a3, a3.offset, a3.byteLength); if (isInstance(b2, Uint8Array)) b2 = Buffer3.from(b2, b2.offset, b2.byteLength); if (!Buffer3.isBuffer(a3) || !Buffer3.isBuffer(b2)) { throw new TypeError( 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' ); } if (a3 === b2) return 0; var x = a3.length; var y = b2.length; for (var i2 = 0, len = Math.min(x, y); i2 < len; ++i2) { if (a3[i2] !== b2[i2]) { x = a3[i2]; y = b2[i2]; break; } } if (x < y) return -1; if (y < x) return 1; return 0; }; Buffer3.isEncoding = function isEncoding(encoding) { switch (String(encoding).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return true; default: return false; } }; Buffer3.concat = function concat6(list, length7) { if (!Array.isArray(list)) { throw new TypeError('"list" argument must be an Array of Buffers'); } if (list.length === 0) { return Buffer3.alloc(0); } var i2; if (length7 === void 0) { length7 = 0; for (i2 = 0; i2 < list.length; ++i2) { length7 += list[i2].length; } } var buffer2 = Buffer3.allocUnsafe(length7); var pos = 0; for (i2 = 0; i2 < list.length; ++i2) { var buf2 = list[i2]; if (isInstance(buf2, Uint8Array)) { if (pos + buf2.length > buffer2.length) { Buffer3.from(buf2).copy(buffer2, pos); } else { Uint8Array.prototype.set.call( buffer2, buf2, pos ); } } else if (!Buffer3.isBuffer(buf2)) { throw new TypeError('"list" argument must be an Array of Buffers'); } else { buf2.copy(buffer2, pos); } pos += buf2.length; } return buffer2; }; function byteLength(string4, encoding) { if (Buffer3.isBuffer(string4)) { return string4.length; } if (ArrayBuffer.isView(string4) || isInstance(string4, ArrayBuffer)) { return string4.byteLength; } if (typeof string4 !== "string") { throw new TypeError( 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string4 ); } var len = string4.length; var mustMatch = arguments.length > 2 && arguments[2] === true; if (!mustMatch && len === 0) return 0; var loweredCase = false; for (; ; ) { switch (encoding) { case "ascii": case "latin1": case "binary": return len; case "utf8": case "utf-8": return utf8ToBytes7(string4).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return len * 2; case "hex": return len >>> 1; case "base64": return base64ToBytes(string4).length; default: if (loweredCase) { return mustMatch ? -1 : utf8ToBytes7(string4).length; } encoding = ("" + encoding).toLowerCase(); loweredCase = true; } } } Buffer3.byteLength = byteLength; function slowToString(encoding, start2, end) { var loweredCase = false; if (start2 === void 0 || start2 < 0) { start2 = 0; } if (start2 > this.length) { return ""; } if (end === void 0 || end > this.length) { end = this.length; } if (end <= 0) { return ""; } end >>>= 0; start2 >>>= 0; if (end <= start2) { return ""; } if (!encoding) encoding = "utf8"; while (true) { switch (encoding) { case "hex": return hexSlice(this, start2, end); case "utf8": case "utf-8": return utf8Slice2(this, start2, end); case "ascii": return asciiSlice(this, start2, end); case "latin1": case "binary": return latin1Slice(this, start2, end); case "base64": return base64Slice(this, start2, end); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return utf16leSlice(this, start2, end); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = (encoding + "").toLowerCase(); loweredCase = true; } } } Buffer3.prototype._isBuffer = true; function swap(b2, n3, m2) { var i2 = b2[n3]; b2[n3] = b2[m2]; b2[m2] = i2; } Buffer3.prototype.swap16 = function swap16() { var len = this.length; if (len % 2 !== 0) { throw new RangeError("Buffer size must be a multiple of 16-bits"); } for (var i2 = 0; i2 < len; i2 += 2) { swap(this, i2, i2 + 1); } return this; }; Buffer3.prototype.swap32 = function swap32() { var len = this.length; if (len % 4 !== 0) { throw new RangeError("Buffer size must be a multiple of 32-bits"); } for (var i2 = 0; i2 < len; i2 += 4) { swap(this, i2, i2 + 3); swap(this, i2 + 1, i2 + 2); } return this; }; Buffer3.prototype.swap64 = function swap64() { var len = this.length; if (len % 8 !== 0) { throw new RangeError("Buffer size must be a multiple of 64-bits"); } for (var i2 = 0; i2 < len; i2 += 8) { swap(this, i2, i2 + 7); swap(this, i2 + 1, i2 + 6); swap(this, i2 + 2, i2 + 5); swap(this, i2 + 3, i2 + 4); } return this; }; Buffer3.prototype.toString = function toString10() { var length7 = this.length; if (length7 === 0) return ""; if (arguments.length === 0) return utf8Slice2(this, 0, length7); return slowToString.apply(this, arguments); }; Buffer3.prototype.toLocaleString = Buffer3.prototype.toString; Buffer3.prototype.equals = function equals7(b2) { if (!Buffer3.isBuffer(b2)) throw new TypeError("Argument must be a Buffer"); if (this === b2) return true; return Buffer3.compare(this, b2) === 0; }; Buffer3.prototype.inspect = function inspect3() { var str = ""; var max = exports.INSPECT_MAX_BYTES; str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(); if (this.length > max) str += " ... "; return "<Buffer " + str + ">"; }; if (customInspectSymbol) { Buffer3.prototype[customInspectSymbol] = Buffer3.prototype.inspect; } Buffer3.prototype.compare = function compare4(target, start2, end, thisStart, thisEnd) { if (isInstance(target, Uint8Array)) { target = Buffer3.from(target, target.offset, target.byteLength); } if (!Buffer3.isBuffer(target)) { throw new TypeError( 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target ); } if (start2 === void 0) { start2 = 0; } if (end === void 0) { end = target ? target.length : 0; } if (thisStart === void 0) { thisStart = 0; } if (thisEnd === void 0) { thisEnd = this.length; } if (start2 < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { throw new RangeError("out of range index"); } if (thisStart >= thisEnd && start2 >= end) { return 0; } if (thisStart >= thisEnd) { return -1; } if (start2 >= end) { return 1; } start2 >>>= 0; end >>>= 0; thisStart >>>= 0; thisEnd >>>= 0; if (this === target) return 0; var x = thisEnd - thisStart; var y = end - start2; var len = Math.min(x, y); var thisCopy = this.slice(thisStart, thisEnd); var targetCopy = target.slice(start2, end); for (var i2 = 0; i2 < len; ++i2) { if (thisCopy[i2] !== targetCopy[i2]) { x = thisCopy[i2]; y = targetCopy[i2]; break; } } if (x < y) return -1; if (y < x) return 1; return 0; }; function bidirectionalIndexOf(buffer2, val, byteOffset, encoding, dir) { if (buffer2.length === 0) return -1; if (typeof byteOffset === "string") { encoding = byteOffset; byteOffset = 0; } else if (byteOffset > 2147483647) { byteOffset = 2147483647; } else if (byteOffset < -2147483648) { byteOffset = -2147483648; } byteOffset = +byteOffset; if (numberIsNaN(byteOffset)) { byteOffset = dir ? 0 : buffer2.length - 1; } if (byteOffset < 0) byteOffset = buffer2.length + byteOffset; if (byteOffset >= buffer2.length) { if (dir) return -1; else byteOffset = buffer2.length - 1; } else if (byteOffset < 0) { if (dir) byteOffset = 0; else return -1; } if (typeof val === "string") { val = Buffer3.from(val, encoding); } if (Buffer3.isBuffer(val)) { if (val.length === 0) { return -1; } return arrayIndexOf(buffer2, val, byteOffset, encoding, dir); } else if (typeof val === "number") { val = val & 255; if (typeof Uint8Array.prototype.indexOf === "function") { if (dir) { return Uint8Array.prototype.indexOf.call(buffer2, val, byteOffset); } else { return Uint8Array.prototype.lastIndexOf.call(buffer2, val, byteOffset); } } return arrayIndexOf(buffer2, [val], byteOffset, encoding, dir); } throw new TypeError("val must be string, number or Buffer"); } function arrayIndexOf(arr, val, byteOffset, encoding, dir) { var indexSize = 1; var arrLength = arr.length; var valLength = val.length; if (encoding !== void 0) { encoding = String(encoding).toLowerCase(); if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { if (arr.length < 2 || val.length < 2) { return -1; } indexSize = 2; arrLength /= 2; valLength /= 2; byteOffset /= 2; } } function read6(buf2, i3) { if (indexSize === 1) { return buf2[i3]; } else { return buf2.readUInt16BE(i3 * indexSize); } } var i2; if (dir) { var foundIndex = -1; for (i2 = byteOffset; i2 < arrLength; i2++) { if (read6(arr, i2) === read6(val, foundIndex === -1 ? 0 : i2 - foundIndex)) { if (foundIndex === -1) foundIndex = i2; if (i2 - foundIndex + 1 === valLength) return foundIndex * indexSize; } else { if (foundIndex !== -1) i2 -= i2 - foundIndex; foundIndex = -1; } } } else { if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; for (i2 = byteOffset; i2 >= 0; i2--) { var found = true; for (var j = 0; j < valLength; j++) { if (read6(arr, i2 + j) !== read6(val, j)) { found = false; break; } } if (found) return i2; } } return -1; } Buffer3.prototype.includes = function includes(val, byteOffset, encoding) { return this.indexOf(val, byteOffset, encoding) !== -1; }; Buffer3.prototype.indexOf = function indexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, true); }; Buffer3.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, false); }; function hexWrite(buf2, string4, offset, length7) { offset = Number(offset) || 0; var remaining = buf2.length - offset; if (!length7) { length7 = remaining; } else { length7 = Number(length7); if (length7 > remaining) { length7 = remaining; } } var strLen = string4.length; if (length7 > strLen / 2) { length7 = strLen / 2; } for (var i2 = 0; i2 < length7; ++i2) { var parsed = parseInt(string4.substr(i2 * 2, 2), 16); if (numberIsNaN(parsed)) return i2; buf2[offset + i2] = parsed; } return i2; } function utf8Write(buf2, string4, offset, length7) { return blitBuffer(utf8ToBytes7(string4, buf2.length - offset), buf2, offset, length7); } function asciiWrite(buf2, string4, offset, length7) { return blitBuffer(asciiToBytes(string4), buf2, offset, length7); } function base64Write(buf2, string4, offset, length7) { return blitBuffer(base64ToBytes(string4), buf2, offset, length7); } function ucs2Write(buf2, string4, offset, length7) { return blitBuffer(utf16leToBytes(string4, buf2.length - offset), buf2, offset, length7); } Buffer3.prototype.write = function write4(string4, offset, length7, encoding) { if (offset === void 0) { encoding = "utf8"; length7 = this.length; offset = 0; } else if (length7 === void 0 && typeof offset === "string") { encoding = offset; length7 = this.length; offset = 0; } else if (isFinite(offset)) { offset = offset >>> 0; if (isFinite(length7)) { length7 = length7 >>> 0; if (encoding === void 0) encoding = "utf8"; } else { encoding = length7; length7 = void 0; } } else { throw new Error( "Buffer.write(string, encoding, offset[, length]) is no longer supported" ); } var remaining = this.length - offset; if (length7 === void 0 || length7 > remaining) length7 = remaining; if (string4.length > 0 && (length7 < 0 || offset < 0) || offset > this.length) { throw new RangeError("Attempt to write outside buffer bounds"); } if (!encoding) encoding = "utf8"; var loweredCase = false; for (; ; ) { switch (encoding) { case "hex": return hexWrite(this, string4, offset, length7); case "utf8": case "utf-8": return utf8Write(this, string4, offset, length7); case "ascii": case "latin1": case "binary": return asciiWrite(this, string4, offset, length7); case "base64": return base64Write(this, string4, offset, length7); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return ucs2Write(this, string4, offset, length7); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = ("" + encoding).toLowerCase(); loweredCase = true; } } }; Buffer3.prototype.toJSON = function toJSON() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) }; }; function base64Slice(buf2, start2, end) { if (start2 === 0 && end === buf2.length) { return base644.fromByteArray(buf2); } else { return base644.fromByteArray(buf2.slice(start2, end)); } } function utf8Slice2(buf2, start2, end) { end = Math.min(buf2.length, end); var res = []; var i2 = start2; while (i2 < end) { var firstByte = buf2[i2]; var codePoint = null; var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; if (i2 + bytesPerSequence <= end) { var secondByte, thirdByte, fourthByte, tempCodePoint; switch (bytesPerSequence) { case 1: if (firstByte < 128) { codePoint = firstByte; } break; case 2: secondByte = buf2[i2 + 1]; if ((secondByte & 192) === 128) { tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; if (tempCodePoint > 127) { codePoint = tempCodePoint; } } break; case 3: secondByte = buf2[i2 + 1]; thirdByte = buf2[i2 + 2]; if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { codePoint = tempCodePoint; } } break; case 4: secondByte = buf2[i2 + 1]; thirdByte = buf2[i2 + 2]; fourthByte = buf2[i2 + 3]; if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; if (tempCodePoint > 65535 && tempCodePoint < 1114112) { codePoint = tempCodePoint; } } } } if (codePoint === null) { codePoint = 65533; bytesPerSequence = 1; } else if (codePoint > 65535) { codePoint -= 65536; res.push(codePoint >>> 10 & 1023 | 55296); codePoint = 56320 | codePoint & 1023; } res.push(codePoint); i2 += bytesPerSequence; } return decodeCodePointsArray2(res); } var MAX_ARGUMENTS_LENGTH2 = 4096; function decodeCodePointsArray2(codePoints) { var len = codePoints.length; if (len <= MAX_ARGUMENTS_LENGTH2) { return String.fromCharCode.apply(String, codePoints); } var res = ""; var i2 = 0; while (i2 < len) { res += String.fromCharCode.apply( String, codePoints.slice(i2, i2 += MAX_ARGUMENTS_LENGTH2) ); } return res; } function asciiSlice(buf2, start2, end) { var ret = ""; end = Math.min(buf2.length, end); for (var i2 = start2; i2 < end; ++i2) { ret += String.fromCharCode(buf2[i2] & 127); } return ret; } function latin1Slice(buf2, start2, end) { var ret = ""; end = Math.min(buf2.length, end); for (var i2 = start2; i2 < end; ++i2) { ret += String.fromCharCode(buf2[i2]); } return ret; } function hexSlice(buf2, start2, end) { var len = buf2.length; if (!start2 || start2 < 0) start2 = 0; if (!end || end < 0 || end > len) end = len; var out = ""; for (var i2 = start2; i2 < end; ++i2) { out += hexSliceLookupTable[buf2[i2]]; } return out; } function utf16leSlice(buf2, start2, end) { var bytes3 = buf2.slice(start2, end); var res = ""; for (var i2 = 0; i2 < bytes3.length - 1; i2 += 2) { res += String.fromCharCode(bytes3[i2] + bytes3[i2 + 1] * 256); } return res; } Buffer3.prototype.slice = function slice2(start2, end) { var len = this.length; start2 = ~~start2; end = end === void 0 ? len : ~~end; if (start2 < 0) { start2 += len; if (start2 < 0) start2 = 0; } else if (start2 > len) { start2 = len; } if (end < 0) { end += len; if (end < 0) end = 0; } else if (end > len) { end = len; } if (end < start2) end = start2; var newBuf = this.subarray(start2, end); Object.setPrototypeOf(newBuf, Buffer3.prototype); return newBuf; }; function checkOffset(offset, ext, length7) { if (offset % 1 !== 0 || offset < 0) throw new RangeError("offset is not uint"); if (offset + ext > length7) throw new RangeError("Trying to access beyond buffer length"); } Buffer3.prototype.readUintLE = Buffer3.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) checkOffset(offset, byteLength2, this.length); var val = this[offset]; var mul = 1; var i2 = 0; while (++i2 < byteLength2 && (mul *= 256)) { val += this[offset + i2] * mul; } return val; }; Buffer3.prototype.readUintBE = Buffer3.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) { checkOffset(offset, byteLength2, this.length); } var val = this[offset + --byteLength2]; var mul = 1; while (byteLength2 > 0 && (mul *= 256)) { val += this[offset + --byteLength2] * mul; } return val; }; Buffer3.prototype.readUint8 = Buffer3.prototype.readUInt8 = function readUInt82(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 1, this.length); return this[offset]; }; Buffer3.prototype.readUint16LE = Buffer3.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] | this[offset + 1] << 8; }; Buffer3.prototype.readUint16BE = Buffer3.prototype.readUInt16BE = function readUInt16BE2(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] << 8 | this[offset + 1]; }; Buffer3.prototype.readUint32LE = Buffer3.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; }; Buffer3.prototype.readUint32BE = Buffer3.prototype.readUInt32BE = function readUInt32BE2(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); }; Buffer3.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) checkOffset(offset, byteLength2, this.length); var val = this[offset]; var mul = 1; var i2 = 0; while (++i2 < byteLength2 && (mul *= 256)) { val += this[offset + i2] * mul; } mul *= 128; if (val >= mul) val -= Math.pow(2, 8 * byteLength2); return val; }; Buffer3.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) checkOffset(offset, byteLength2, this.length); var i2 = byteLength2; var mul = 1; var val = this[offset + --i2]; while (i2 > 0 && (mul *= 256)) { val += this[offset + --i2] * mul; } mul *= 128; if (val >= mul) val -= Math.pow(2, 8 * byteLength2); return val; }; Buffer3.prototype.readInt8 = function readInt8(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 1, this.length); if (!(this[offset] & 128)) return this[offset]; return (255 - this[offset] + 1) * -1; }; Buffer3.prototype.readInt16LE = function readInt16LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); var val = this[offset] | this[offset + 1] << 8; return val & 32768 ? val | 4294901760 : val; }; Buffer3.prototype.readInt16BE = function readInt16BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); var val = this[offset + 1] | this[offset] << 8; return val & 32768 ? val | 4294901760 : val; }; Buffer3.prototype.readInt32LE = function readInt32LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; }; Buffer3.prototype.readInt32BE = function readInt32BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; }; Buffer3.prototype.readFloatLE = function readFloatLE2(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return ieee754.read(this, offset, true, 23, 4); }; Buffer3.prototype.readFloatBE = function readFloatBE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return ieee754.read(this, offset, false, 23, 4); }; Buffer3.prototype.readDoubleLE = function readDoubleLE2(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 8, this.length); return ieee754.read(this, offset, true, 52, 8); }; Buffer3.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 8, this.length); return ieee754.read(this, offset, false, 52, 8); }; function checkInt(buf2, value3, offset, ext, max, min) { if (!Buffer3.isBuffer(buf2)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (value3 > max || value3 < min) throw new RangeError('"value" argument is out of bounds'); if (offset + ext > buf2.length) throw new RangeError("Index out of range"); } Buffer3.prototype.writeUintLE = Buffer3.prototype.writeUIntLE = function writeUIntLE(value3, offset, byteLength2, noAssert) { value3 = +value3; offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) { var maxBytes = Math.pow(2, 8 * byteLength2) - 1; checkInt(this, value3, offset, byteLength2, maxBytes, 0); } var mul = 1; var i2 = 0; this[offset] = value3 & 255; while (++i2 < byteLength2 && (mul *= 256)) { this[offset + i2] = value3 / mul & 255; } return offset + byteLength2; }; Buffer3.prototype.writeUintBE = Buffer3.prototype.writeUIntBE = function writeUIntBE(value3, offset, byteLength2, noAssert) { value3 = +value3; offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) { var maxBytes = Math.pow(2, 8 * byteLength2) - 1; checkInt(this, value3, offset, byteLength2, maxBytes, 0); } var i2 = byteLength2 - 1; var mul = 1; this[offset + i2] = value3 & 255; while (--i2 >= 0 && (mul *= 256)) { this[offset + i2] = value3 / mul & 255; } return offset + byteLength2; }; Buffer3.prototype.writeUint8 = Buffer3.prototype.writeUInt8 = function writeUInt82(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 1, 255, 0); this[offset] = value3 & 255; return offset + 1; }; Buffer3.prototype.writeUint16LE = Buffer3.prototype.writeUInt16LE = function writeUInt16LE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 2, 65535, 0); this[offset] = value3 & 255; this[offset + 1] = value3 >>> 8; return offset + 2; }; Buffer3.prototype.writeUint16BE = Buffer3.prototype.writeUInt16BE = function writeUInt16BE2(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 2, 65535, 0); this[offset] = value3 >>> 8; this[offset + 1] = value3 & 255; return offset + 2; }; Buffer3.prototype.writeUint32LE = Buffer3.prototype.writeUInt32LE = function writeUInt32LE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 4, 4294967295, 0); this[offset + 3] = value3 >>> 24; this[offset + 2] = value3 >>> 16; this[offset + 1] = value3 >>> 8; this[offset] = value3 & 255; return offset + 4; }; Buffer3.prototype.writeUint32BE = Buffer3.prototype.writeUInt32BE = function writeUInt32BE2(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 4, 4294967295, 0); this[offset] = value3 >>> 24; this[offset + 1] = value3 >>> 16; this[offset + 2] = value3 >>> 8; this[offset + 3] = value3 & 255; return offset + 4; }; Buffer3.prototype.writeIntLE = function writeIntLE(value3, offset, byteLength2, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) { var limit = Math.pow(2, 8 * byteLength2 - 1); checkInt(this, value3, offset, byteLength2, limit - 1, -limit); } var i2 = 0; var mul = 1; var sub = 0; this[offset] = value3 & 255; while (++i2 < byteLength2 && (mul *= 256)) { if (value3 < 0 && sub === 0 && this[offset + i2 - 1] !== 0) { sub = 1; } this[offset + i2] = (value3 / mul >> 0) - sub & 255; } return offset + byteLength2; }; Buffer3.prototype.writeIntBE = function writeIntBE(value3, offset, byteLength2, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) { var limit = Math.pow(2, 8 * byteLength2 - 1); checkInt(this, value3, offset, byteLength2, limit - 1, -limit); } var i2 = byteLength2 - 1; var mul = 1; var sub = 0; this[offset + i2] = value3 & 255; while (--i2 >= 0 && (mul *= 256)) { if (value3 < 0 && sub === 0 && this[offset + i2 + 1] !== 0) { sub = 1; } this[offset + i2] = (value3 / mul >> 0) - sub & 255; } return offset + byteLength2; }; Buffer3.prototype.writeInt8 = function writeInt8(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 1, 127, -128); if (value3 < 0) value3 = 255 + value3 + 1; this[offset] = value3 & 255; return offset + 1; }; Buffer3.prototype.writeInt16LE = function writeInt16LE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 2, 32767, -32768); this[offset] = value3 & 255; this[offset + 1] = value3 >>> 8; return offset + 2; }; Buffer3.prototype.writeInt16BE = function writeInt16BE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 2, 32767, -32768); this[offset] = value3 >>> 8; this[offset + 1] = value3 & 255; return offset + 2; }; Buffer3.prototype.writeInt32LE = function writeInt32LE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 4, 2147483647, -2147483648); this[offset] = value3 & 255; this[offset + 1] = value3 >>> 8; this[offset + 2] = value3 >>> 16; this[offset + 3] = value3 >>> 24; return offset + 4; }; Buffer3.prototype.writeInt32BE = function writeInt32BE(value3, offset, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) checkInt(this, value3, offset, 4, 2147483647, -2147483648); if (value3 < 0) value3 = 4294967295 + value3 + 1; this[offset] = value3 >>> 24; this[offset + 1] = value3 >>> 16; this[offset + 2] = value3 >>> 8; this[offset + 3] = value3 & 255; return offset + 4; }; function checkIEEE754(buf2, value3, offset, ext, max, min) { if (offset + ext > buf2.length) throw new RangeError("Index out of range"); if (offset < 0) throw new RangeError("Index out of range"); } function writeFloat(buf2, value3, offset, littleEndian, noAssert) { value3 = +value3; offset = offset >>> 0; if (!noAssert) { checkIEEE754(buf2, value3, offset, 4, 34028234663852886e22, -340282346638528