{
  "version": 3,
  "sources": ["../../../node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js", "../../../node_modules/@jspm/core/nodelibs/browser/process.js", "../../../node_modules/esbuild-plugin-polyfill-node/polyfills/process.js", "../../../node_modules/@jspm/core/nodelibs/browser/chunk-DtuTasat.js", "../../../node_modules/@jspm/core/nodelibs/browser/buffer.js", "../../../node_modules/esbuild-plugin-polyfill-node/polyfills/buffer.js", "../../../node_modules/esbuild-plugin-polyfill-node/polyfills/empty.js", "../../../node_modules/@jspm/core/nodelibs/browser/chunk-DEMDiNwt.js", "../../../node_modules/@jspm/core/nodelibs/browser/chunk-BlJi4mNy.js", "../../../node_modules/@jspm/core/nodelibs/browser/path.js", "../wasm/index.cjs", "../src/index.ts", "../src/init.ts", "../../common/src/init-wasm.ts", "../../common/src/wasm/index.d.ts", "../../common/src/utils.ts", "../../common/src/version.ts", "../src/sa/local-g.ts", "../src/sa/local-geary.ts", "../src/sa/local-moran.ts", "../src/sa/quantile-lisa.ts", "../src/sa/spatial-lag.ts"],
  "sourcesContent": ["export const __dirname = \"/\";\n", "function unimplemented(name) {\r\n  throw new Error('Node.js process ' + name + ' is not supported by JSPM core outside of Node.js');\r\n}\r\n\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n  if (!draining || !currentQueue)\r\n    return;\r\n  draining = false;\r\n  if (currentQueue.length) {\r\n    queue = currentQueue.concat(queue);\r\n  }\r\n  else {\r\n    queueIndex = -1;\r\n  }\r\n  if (queue.length)\r\n    drainQueue();\r\n}\r\n\r\nfunction drainQueue() {\r\n  if (draining)\r\n    return;\r\n  var timeout = setTimeout(cleanUpNextTick, 0);\r\n  draining = true;\r\n\r\n  var len = queue.length;\r\n  while(len) {\r\n    currentQueue = queue;\r\n    queue = [];\r\n    while (++queueIndex < len) {\r\n      if (currentQueue)\r\n        currentQueue[queueIndex].run();\r\n    }\r\n    queueIndex = -1;\r\n    len = queue.length;\r\n  }\r\n  currentQueue = null;\r\n  draining = false;\r\n  clearTimeout(timeout);\r\n}\r\n\r\nfunction nextTick (fun) {\r\n  var args = new Array(arguments.length - 1);\r\n  if (arguments.length > 1) {\r\n    for (var i = 1; i < arguments.length; i++)\r\n      args[i - 1] = arguments[i];\r\n  }\r\n  queue.push(new Item(fun, args));\r\n  if (queue.length === 1 && !draining)\r\n    setTimeout(drainQueue, 0);\r\n}\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n  this.fun = fun;\r\n  this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n  this.fun.apply(null, this.array);\r\n};\r\n\r\nvar title = 'browser';\r\nvar arch = 'x64';\r\nvar platform = 'browser';\r\nvar env = {\r\n  PATH: '/usr/bin',\r\n  LANG: typeof navigator !== 'undefined' ? navigator.language + '.UTF-8' : undefined,\r\n  PWD: '/',\r\n  HOME: '/home',\r\n  TMP: '/tmp',\r\n};\r\nvar argv = ['/usr/bin/node'];\r\nvar execArgv = [];\r\nvar version = 'v16.8.0';\r\nvar versions = {};\r\n\r\nvar emitWarning = function(message, type) {\r\n  console.warn((type ? (type + ': ') : '') + message);\r\n};\r\n\r\nvar binding = function(name) { unimplemented('binding'); };\r\n\r\nvar umask = function(mask) { return 0; };\r\n\r\nvar cwd = function() { return '/'; };\r\nvar chdir = function(dir) {};\r\n\r\nvar release = {\r\n  name: 'node',\r\n  sourceUrl: '',\r\n  headersUrl: '',\r\n  libUrl: '',\r\n};\r\n\r\nfunction noop() {}\r\n\r\nvar browser = true;\r\nvar _rawDebug = noop;\r\nvar moduleLoadList = [];\r\nfunction _linkedBinding(name) { unimplemented('_linkedBinding'); }\r\nvar domain = {};\r\nvar _exiting = false;\r\nvar config = {};\r\nfunction dlopen(name) { unimplemented('dlopen'); }\r\nfunction _getActiveRequests() { return []; }\r\nfunction _getActiveHandles() { return []; }\r\nvar reallyExit = noop;\r\nvar _kill = noop;\r\nvar cpuUsage = function() { return {}; };\r\nvar resourceUsage = cpuUsage;\r\nvar memoryUsage = cpuUsage;\r\nvar kill = noop;\r\nvar exit = noop;\r\nvar openStdin = noop;\r\nvar allowedNodeEnvironmentFlags = {};\r\nfunction assert(condition, message) {\r\n  if (!condition) throw new Error(message || 'assertion error');\r\n}\r\nvar features = {\r\n  inspector: false,\r\n  debug: false,\r\n  uv: false,\r\n  ipv6: false,\r\n  tls_alpn: false,\r\n  tls_sni: false,\r\n  tls_ocsp: false,\r\n  tls: false,\r\n  cached_builtins: true,\r\n};\r\nvar _fatalExceptions = noop;\r\nvar setUncaughtExceptionCaptureCallback = noop;\r\nfunction hasUncaughtExceptionCaptureCallback() { return false; }var _tickCallback = noop;\r\nvar _debugProcess = noop;\r\nvar _debugEnd = noop;\r\nvar _startProfilerIdleNotifier = noop;\r\nvar _stopProfilerIdleNotifier = noop;\r\nvar stdout = undefined;\r\nvar stderr = undefined;\r\nvar stdin = undefined;\r\nvar abort = noop;\r\nvar pid = 2;\r\nvar ppid = 1;\r\nvar execPath = '/bin/usr/node';\r\nvar debugPort = 9229;\r\nvar argv0 = 'node';\r\nvar _preload_modules = [];\r\nvar setSourceMapsEnabled = noop;\r\n\r\nvar _performance = {\r\n  now: typeof performance !== 'undefined' ? performance.now.bind(performance) : undefined,\r\n  timing: typeof performance !== 'undefined' ? performance.timing : undefined,\r\n};\r\nif (_performance.now === undefined) {\r\n  var nowOffset = Date.now();\r\n\r\n  if (_performance.timing && _performance.timing.navigationStart) {\r\n    nowOffset = _performance.timing.navigationStart;\r\n  }\r\n  _performance.now = () => Date.now() - nowOffset;\r\n}\r\n\r\nfunction uptime() {\r\n  return _performance.now() / 1000;\r\n}\r\n\r\nvar nanoPerSec = 1000000000;\r\nfunction hrtime(previousTimestamp) {\r\n  var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3);\r\n  var clocktime = _performance.now() * 1e-3;\r\n  var seconds = Math.floor(clocktime) + baseNow;\r\n  var nanoseconds = Math.floor((clocktime % 1) * 1e9);\r\n  if (previousTimestamp) {\r\n    seconds = seconds - previousTimestamp[0];\r\n    nanoseconds = nanoseconds - previousTimestamp[1];\r\n    if (nanoseconds < 0) {\r\n      seconds--;\r\n      nanoseconds += nanoPerSec;\r\n    }\r\n  }\r\n  return [seconds, nanoseconds];\r\n}hrtime.bigint = function(time) {\r\n  var diff = hrtime(time);\r\n  if (typeof BigInt === 'undefined') {\r\n    return diff[0] * nanoPerSec + diff[1];\r\n  }\r\n  return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]);\r\n};\r\n\r\nvar _maxListeners = 10;\r\nvar _events = {};\r\nvar _eventsCount = 0;\r\nfunction on () { return process }var addListener = on;\r\nvar once = on;\r\nvar off = on;\r\nvar removeListener = on;\r\nvar removeAllListeners = on;\r\nvar emit = noop;\r\nvar prependListener = on;\r\nvar prependOnceListener = on;\r\nfunction listeners (name) { return []; }\r\nvar process = {\r\n  version,\r\n  versions,\r\n  arch,\r\n  platform,\r\n  browser,\r\n  release,\r\n  _rawDebug,\r\n  moduleLoadList,\r\n  binding,\r\n  _linkedBinding,\r\n  _events,\r\n  _eventsCount,\r\n  _maxListeners,\r\n  on,\r\n  addListener,\r\n  once,\r\n  off,\r\n  removeListener,\r\n  removeAllListeners,\r\n  emit,\r\n  prependListener,\r\n  prependOnceListener,\r\n  listeners,\r\n  domain,\r\n  _exiting,\r\n  config,\r\n  dlopen,\r\n  uptime,\r\n  _getActiveRequests,\r\n  _getActiveHandles,\r\n  reallyExit,\r\n  _kill,\r\n  cpuUsage,\r\n  resourceUsage,\r\n  memoryUsage,\r\n  kill,\r\n  exit,\r\n  openStdin,\r\n  allowedNodeEnvironmentFlags,\r\n  assert,\r\n  features,\r\n  _fatalExceptions,\r\n  setUncaughtExceptionCaptureCallback,\r\n  hasUncaughtExceptionCaptureCallback,\r\n  emitWarning,\r\n  nextTick,\r\n  _tickCallback,\r\n  _debugProcess,\r\n  _debugEnd,\r\n  _startProfilerIdleNotifier,\r\n  _stopProfilerIdleNotifier,\r\n  stdout,\r\n  stdin,\r\n  stderr,\r\n  abort,\r\n  umask,\r\n  chdir,\r\n  cwd,\r\n  env,\r\n  title,\r\n  argv,\r\n  execArgv,\r\n  pid,\r\n  ppid,\r\n  execPath,\r\n  debugPort,\r\n  hrtime,\r\n  argv0,\r\n  _preload_modules,\r\n  setSourceMapsEnabled,\r\n};\n\nexport { _debugEnd, _debugProcess, _events, _eventsCount, _exiting, _fatalExceptions, _getActiveHandles, _getActiveRequests, _kill, _linkedBinding, _maxListeners, _preload_modules, _rawDebug, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, _tickCallback, abort, addListener, allowedNodeEnvironmentFlags, arch, argv, argv0, assert, binding, browser, chdir, config, cpuUsage, cwd, debugPort, process as default, dlopen, domain, emit, emitWarning, env, execArgv, execPath, exit, features, hasUncaughtExceptionCaptureCallback, hrtime, kill, listeners, memoryUsage, moduleLoadList, nextTick, off, on, once, openStdin, pid, platform, ppid, prependListener, prependOnceListener, reallyExit, release, removeAllListeners, removeListener, resourceUsage, setSourceMapsEnabled, setUncaughtExceptionCaptureCallback, stderr, stdin, stdout, title, umask, uptime, version, versions };\n", "export * as process from \"process\";\n", "var exports$2 = {},\n  _dewExec$2 = false;\nfunction dew$2() {\n  if (_dewExec$2) return exports$2;\n  _dewExec$2 = true;\n  exports$2.byteLength = byteLength;\n  exports$2.toByteArray = toByteArray;\n  exports$2.fromByteArray = fromByteArray;\n  var lookup = [];\n  var revLookup = [];\n  var Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\n  var code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n  for (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\n  revLookup[\"-\".charCodeAt(0)] = 62;\n  revLookup[\"_\".charCodeAt(0)] = 63;\n  function getLens(b64) {\n    var len = b64.length;\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    var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n    return [validLen, placeHoldersLen];\n  }\n\n  // base64 is 4/3 + up to two characters of the original data\n  function 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  function _byteLength(b64, validLen, placeHoldersLen) {\n    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n  }\n  function toByteArray(b64) {\n    var tmp;\n    var lens = getLens(b64);\n    var validLen = lens[0];\n    var placeHoldersLen = lens[1];\n    var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n    var curByte = 0;\n\n    // if there are placeholders, only get up to the last complete 4 chars\n    var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n    var i;\n    for (i = 0; i < len; i += 4) {\n      tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n      arr[curByte++] = tmp >> 16 & 255;\n      arr[curByte++] = tmp >> 8 & 255;\n      arr[curByte++] = tmp & 255;\n    }\n    if (placeHoldersLen === 2) {\n      tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n      arr[curByte++] = tmp & 255;\n    }\n    if (placeHoldersLen === 1) {\n      tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n      arr[curByte++] = tmp >> 8 & 255;\n      arr[curByte++] = tmp & 255;\n    }\n    return arr;\n  }\n  function tripletToBase64(num) {\n    return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n  }\n  function encodeChunk(uint8, start, end) {\n    var tmp;\n    var output = [];\n    for (var i = start; i < end; i += 3) {\n      tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);\n      output.push(tripletToBase64(tmp));\n    }\n    return output.join(\"\");\n  }\n  function 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(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\");\n    } else if (extraBytes === 2) {\n      tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n      parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\");\n    }\n    return parts.join(\"\");\n  }\n  return exports$2;\n}\n\nvar exports$1 = {},\n  _dewExec$1 = false;\nfunction dew$1() {\n  if (_dewExec$1) return exports$1;\n  _dewExec$1 = true;\n  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n  exports$1.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    i += d;\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    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    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  exports$1.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    value = Math.abs(value);\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      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    for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {}\n    e = e << mLen | m;\n    eLen += mLen;\n    for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {}\n    buffer[offset + i - d] |= s * 128;\n  };\n  return exports$1;\n}\n\nvar exports = {},\n  _dewExec = false;\nfunction dew() {\n  if (_dewExec) return exports;\n  _dewExec = true;\n  const base64 = dew$2();\n  const ieee754 = dew$1();\n  const customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" // eslint-disable-line dot-notation\n  ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n  : null;\n  exports.Buffer = Buffer;\n  exports.SlowBuffer = SlowBuffer;\n  exports.INSPECT_MAX_BYTES = 50;\n  const K_MAX_LENGTH = 2147483647;\n  exports.kMaxLength = K_MAX_LENGTH;\n\n  /**\n   * If `Buffer.TYPED_ARRAY_SUPPORT`:\n   *   === true    Use Uint8Array implementation (fastest)\n   *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n   *               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   * We report that the browser does not support typed arrays if the are not subclassable\n   * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n   * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n   * for __proto__ and has a buggy typed array implementation.\n   */\n  Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n  if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n    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.\");\n  }\n  function typedArraySupport() {\n    // Can typed array instances can be augmented?\n    try {\n      const arr = new Uint8Array(1);\n      const proto = {\n        foo: function () {\n          return 42;\n        }\n      };\n      Object.setPrototypeOf(proto, Uint8Array.prototype);\n      Object.setPrototypeOf(arr, proto);\n      return arr.foo() === 42;\n    } catch (e) {\n      return false;\n    }\n  }\n  Object.defineProperty(Buffer.prototype, \"parent\", {\n    enumerable: true,\n    get: function () {\n      if (!Buffer.isBuffer(this)) return undefined;\n      return this.buffer;\n    }\n  });\n  Object.defineProperty(Buffer.prototype, \"offset\", {\n    enumerable: true,\n    get: function () {\n      if (!Buffer.isBuffer(this)) return undefined;\n      return this.byteOffset;\n    }\n  });\n  function createBuffer(length) {\n    if (length > K_MAX_LENGTH) {\n      throw new RangeError(\"The value \\\"\" + length + \"\\\" is invalid for option \\\"size\\\"\");\n    }\n    // Return an augmented `Uint8Array` instance\n    const buf = new Uint8Array(length);\n    Object.setPrototypeOf(buf, Buffer.prototype);\n    return buf;\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\n  function Buffer(arg, encodingOrOffset, length) {\n    // Common case.\n    if (typeof arg === \"number\") {\n      if (typeof encodingOrOffset === \"string\") {\n        throw new TypeError(\"The \\\"string\\\" argument must be of type string. Received type number\");\n      }\n      return allocUnsafe(arg);\n    }\n    return from(arg, encodingOrOffset, length);\n  }\n  Buffer.poolSize = 8192; // not used by this implementation\n\n  function from(value, encodingOrOffset, length) {\n    if (typeof value === \"string\") {\n      return fromString(value, encodingOrOffset);\n    }\n    if (ArrayBuffer.isView(value)) {\n      return fromArrayView(value);\n    }\n    if (value == null) {\n      throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n    }\n    if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n      return fromArrayBuffer(value, encodingOrOffset, length);\n    }\n    if (typeof SharedArrayBuffer !== \"undefined\" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n      return fromArrayBuffer(value, encodingOrOffset, length);\n    }\n    if (typeof value === \"number\") {\n      throw new TypeError(\"The \\\"value\\\" argument must not be of type number. Received type number\");\n    }\n    const valueOf = value.valueOf && value.valueOf();\n    if (valueOf != null && valueOf !== value) {\n      return Buffer.from(valueOf, encodingOrOffset, length);\n    }\n    const b = fromObject(value);\n    if (b) return b;\n    if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") {\n      return Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n    }\n    throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof 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   **/\n  Buffer.from = function (value, encodingOrOffset, length) {\n    return from(value, encodingOrOffset, length);\n  };\n\n  // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n  // https://github.com/feross/buffer/pull/148\n  Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n  Object.setPrototypeOf(Buffer, Uint8Array);\n  function assertSize(size) {\n    if (typeof size !== \"number\") {\n      throw new TypeError(\"\\\"size\\\" argument must be of type number\");\n    } else if (size < 0) {\n      throw new RangeError(\"The value \\\"\" + size + \"\\\" is invalid for option \\\"size\\\"\");\n    }\n  }\n  function alloc(size, fill, encoding) {\n    assertSize(size);\n    if (size <= 0) {\n      return createBuffer(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 interpreted as a start offset.\n      return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n    }\n    return createBuffer(size);\n  }\n\n  /**\n   * Creates a new filled Buffer instance.\n   * alloc(size[, fill[, encoding]])\n   **/\n  Buffer.alloc = function (size, fill, encoding) {\n    return alloc(size, fill, encoding);\n  };\n  function allocUnsafe(size) {\n    assertSize(size);\n    return createBuffer(size < 0 ? 0 : checked(size) | 0);\n  }\n\n  /**\n   * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n   * */\n  Buffer.allocUnsafe = function (size) {\n    return allocUnsafe(size);\n  };\n  /**\n   * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n   */\n  Buffer.allocUnsafeSlow = function (size) {\n    return allocUnsafe(size);\n  };\n  function fromString(string, encoding) {\n    if (typeof encoding !== \"string\" || encoding === \"\") {\n      encoding = \"utf8\";\n    }\n    if (!Buffer.isEncoding(encoding)) {\n      throw new TypeError(\"Unknown encoding: \" + encoding);\n    }\n    const length = byteLength(string, encoding) | 0;\n    let buf = createBuffer(length);\n    const actual = buf.write(string, encoding);\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      buf = buf.slice(0, actual);\n    }\n    return buf;\n  }\n  function fromArrayLike(array) {\n    const length = array.length < 0 ? 0 : checked(array.length) | 0;\n    const buf = createBuffer(length);\n    for (let i = 0; i < length; i += 1) {\n      buf[i] = array[i] & 255;\n    }\n    return buf;\n  }\n  function fromArrayView(arrayView) {\n    if (isInstance(arrayView, Uint8Array)) {\n      const copy = new Uint8Array(arrayView);\n      return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n    }\n    return fromArrayLike(arrayView);\n  }\n  function fromArrayBuffer(array, byteOffset, length) {\n    if (byteOffset < 0 || array.byteLength < byteOffset) {\n      throw new RangeError(\"\\\"offset\\\" is outside of buffer bounds\");\n    }\n    if (array.byteLength < byteOffset + (length || 0)) {\n      throw new RangeError(\"\\\"length\\\" is outside of buffer bounds\");\n    }\n    let buf;\n    if (byteOffset === undefined && length === undefined) {\n      buf = new Uint8Array(array);\n    } else if (length === undefined) {\n      buf = new Uint8Array(array, byteOffset);\n    } else {\n      buf = new Uint8Array(array, byteOffset, length);\n    }\n\n    // Return an augmented `Uint8Array` instance\n    Object.setPrototypeOf(buf, Buffer.prototype);\n    return buf;\n  }\n  function fromObject(obj) {\n    if (Buffer.isBuffer(obj)) {\n      const len = checked(obj.length) | 0;\n      const buf = createBuffer(len);\n      if (buf.length === 0) {\n        return buf;\n      }\n      obj.copy(buf, 0, 0, len);\n      return buf;\n    }\n    if (obj.length !== undefined) {\n      if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n        return createBuffer(0);\n      }\n      return fromArrayLike(obj);\n    }\n    if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n      return fromArrayLike(obj.data);\n    }\n  }\n  function checked(length) {\n    // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n    // length is NaN (which is otherwise coerced to zero.)\n    if (length >= K_MAX_LENGTH) {\n      throw new RangeError(\"Attempt to allocate Buffer larger than maximum \" + \"size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n    }\n    return length | 0;\n  }\n  function SlowBuffer(length) {\n    if (+length != length) {\n      // eslint-disable-line eqeqeq\n      length = 0;\n    }\n    return Buffer.alloc(+length);\n  }\n  Buffer.isBuffer = function isBuffer(b) {\n    return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n  };\n  Buffer.compare = function compare(a, b) {\n    if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n    if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n    if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n      throw new TypeError(\"The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array\");\n    }\n    if (a === b) return 0;\n    let x = a.length;\n    let y = b.length;\n    for (let 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    if (x < y) return -1;\n    if (y < x) return 1;\n    return 0;\n  };\n  Buffer.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  Buffer.concat = function concat(list, length) {\n    if (!Array.isArray(list)) {\n      throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n    }\n    if (list.length === 0) {\n      return Buffer.alloc(0);\n    }\n    let i;\n    if (length === undefined) {\n      length = 0;\n      for (i = 0; i < list.length; ++i) {\n        length += list[i].length;\n      }\n    }\n    const buffer = Buffer.allocUnsafe(length);\n    let pos = 0;\n    for (i = 0; i < list.length; ++i) {\n      let buf = list[i];\n      if (isInstance(buf, Uint8Array)) {\n        if (pos + buf.length > buffer.length) {\n          if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n          buf.copy(buffer, pos);\n        } else {\n          Uint8Array.prototype.set.call(buffer, buf, pos);\n        }\n      } else if (!Buffer.isBuffer(buf)) {\n        throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n      } else {\n        buf.copy(buffer, pos);\n      }\n      pos += buf.length;\n    }\n    return buffer;\n  };\n  function byteLength(string, encoding) {\n    if (Buffer.isBuffer(string)) {\n      return string.length;\n    }\n    if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n      return string.byteLength;\n    }\n    if (typeof string !== \"string\") {\n      throw new TypeError(\"The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. \" + \"Received type \" + typeof string);\n    }\n    const len = string.length;\n    const mustMatch = arguments.length > 2 && arguments[2] === true;\n    if (!mustMatch && len === 0) return 0;\n\n    // Use a for loop to avoid recursion\n    let 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          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) {\n            return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n          }\n          encoding = (\"\" + encoding).toLowerCase();\n          loweredCase = true;\n      }\n    }\n  }\n  Buffer.byteLength = byteLength;\n  function slowToString(encoding, start, end) {\n    let 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    if (end === undefined || end > this.length) {\n      end = this.length;\n    }\n    if (end <= 0) {\n      return \"\";\n    }\n\n    // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n    end >>>= 0;\n    start >>>= 0;\n    if (end <= start) {\n      return \"\";\n    }\n    if (!encoding) encoding = \"utf8\";\n    while (true) {\n      switch (encoding) {\n        case \"hex\":\n          return hexSlice(this, start, end);\n        case \"utf8\":\n        case \"utf-8\":\n          return utf8Slice(this, start, end);\n        case \"ascii\":\n          return asciiSlice(this, start, end);\n        case \"latin1\":\n        case \"binary\":\n          return latin1Slice(this, start, end);\n        case \"base64\":\n          return base64Slice(this, start, end);\n        case \"ucs2\":\n        case \"ucs-2\":\n        case \"utf16le\":\n        case \"utf-16le\":\n          return utf16leSlice(this, start, end);\n        default:\n          if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n          encoding = (encoding + \"\").toLowerCase();\n          loweredCase = true;\n      }\n    }\n  }\n\n  // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n  // to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n  // reliably in a browserify context because there could be multiple different\n  // copies of the 'buffer' package in use. This method works even for Buffer\n  // instances that were created from another copy of the `buffer` package.\n  // See: https://github.com/feross/buffer/issues/154\n  Buffer.prototype._isBuffer = true;\n  function swap(b, n, m) {\n    const i = b[n];\n    b[n] = b[m];\n    b[m] = i;\n  }\n  Buffer.prototype.swap16 = function swap16() {\n    const len = this.length;\n    if (len % 2 !== 0) {\n      throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n    }\n    for (let i = 0; i < len; i += 2) {\n      swap(this, i, i + 1);\n    }\n    return this;\n  };\n  Buffer.prototype.swap32 = function swap32() {\n    const len = this.length;\n    if (len % 4 !== 0) {\n      throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n    }\n    for (let 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  Buffer.prototype.swap64 = function swap64() {\n    const len = this.length;\n    if (len % 8 !== 0) {\n      throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n    }\n    for (let 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  Buffer.prototype.toString = function toString() {\n    const length = this.length;\n    if (length === 0) return \"\";\n    if (arguments.length === 0) return utf8Slice(this, 0, length);\n    return slowToString.apply(this, arguments);\n  };\n  Buffer.prototype.toLocaleString = Buffer.prototype.toString;\n  Buffer.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  Buffer.prototype.inspect = function inspect() {\n    let str = \"\";\n    const max = exports.INSPECT_MAX_BYTES;\n    str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n    if (this.length > max) str += \" ... \";\n    return \"<Buffer \" + str + \">\";\n  };\n  if (customInspectSymbol) {\n    Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n  }\n  Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n    if (isInstance(target, Uint8Array)) {\n      target = Buffer.from(target, target.offset, target.byteLength);\n    }\n    if (!Buffer.isBuffer(target)) {\n      throw new TypeError(\"The \\\"target\\\" argument must be one of type Buffer or Uint8Array. \" + \"Received type \" + typeof target);\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    if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n      throw new RangeError(\"out of range index\");\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    start >>>= 0;\n    end >>>= 0;\n    thisStart >>>= 0;\n    thisEnd >>>= 0;\n    if (this === target) return 0;\n    let x = thisEnd - thisStart;\n    let y = end - start;\n    const len = Math.min(x, y);\n    const thisCopy = this.slice(thisStart, thisEnd);\n    const targetCopy = target.slice(start, end);\n    for (let i = 0; i < len; ++i) {\n      if (thisCopy[i] !== targetCopy[i]) {\n        x = thisCopy[i];\n        y = targetCopy[i];\n        break;\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\n  function 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 > 2147483647) {\n      byteOffset = 2147483647;\n    } else if (byteOffset < -2147483648) {\n      byteOffset = -2147483648;\n    }\n    byteOffset = +byteOffset; // Coerce to Number.\n    if (numberIsNaN(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;else byteOffset = buffer.length - 1;\n    } else if (byteOffset < 0) {\n      if (dir) byteOffset = 0;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 & 255; // Search for a byte value [0-255]\n      if (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    throw new TypeError(\"val must be string, number or Buffer\");\n  }\n  function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n    let indexSize = 1;\n    let arrLength = arr.length;\n    let valLength = val.length;\n    if (encoding !== undefined) {\n      encoding = String(encoding).toLowerCase();\n      if (encoding === \"ucs2\" || encoding === \"ucs-2\" || 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    function read(buf, i) {\n      if (indexSize === 1) {\n        return buf[i];\n      } else {\n        return buf.readUInt16BE(i * indexSize);\n      }\n    }\n    let i;\n    if (dir) {\n      let 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        let found = true;\n        for (let 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    return -1;\n  }\n  Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n    return this.indexOf(val, byteOffset, encoding) !== -1;\n  };\n  Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n    return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n  };\n  Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n    return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n  };\n  function hexWrite(buf, string, offset, length) {\n    offset = Number(offset) || 0;\n    const 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    const strLen = string.length;\n    if (length > strLen / 2) {\n      length = strLen / 2;\n    }\n    let i;\n    for (i = 0; i < length; ++i) {\n      const parsed = parseInt(string.substr(i * 2, 2), 16);\n      if (numberIsNaN(parsed)) return i;\n      buf[offset + i] = parsed;\n    }\n    return i;\n  }\n  function utf8Write(buf, string, offset, length) {\n    return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n  }\n  function asciiWrite(buf, string, offset, length) {\n    return blitBuffer(asciiToBytes(string), buf, offset, length);\n  }\n  function base64Write(buf, string, offset, length) {\n    return blitBuffer(base64ToBytes(string), buf, offset, length);\n  }\n  function ucs2Write(buf, string, offset, length) {\n    return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n  }\n  Buffer.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    } else {\n      throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n    }\n    const remaining = this.length - offset;\n    if (length === undefined || length > remaining) length = remaining;\n    if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n      throw new RangeError(\"Attempt to write outside buffer bounds\");\n    }\n    if (!encoding) encoding = \"utf8\";\n    let loweredCase = false;\n    for (;;) {\n      switch (encoding) {\n        case \"hex\":\n          return hexWrite(this, string, offset, length);\n        case \"utf8\":\n        case \"utf-8\":\n          return utf8Write(this, string, offset, length);\n        case \"ascii\":\n        case \"latin1\":\n        case \"binary\":\n          return asciiWrite(this, string, offset, length);\n        case \"base64\":\n          // Warning: maxLength not taken into account in base64Write\n          return base64Write(this, string, offset, length);\n        case \"ucs2\":\n        case \"ucs-2\":\n        case \"utf16le\":\n        case \"utf-16le\":\n          return ucs2Write(this, string, offset, length);\n        default:\n          if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n          encoding = (\"\" + encoding).toLowerCase();\n          loweredCase = true;\n      }\n    }\n  };\n  Buffer.prototype.toJSON = function toJSON() {\n    return {\n      type: \"Buffer\",\n      data: Array.prototype.slice.call(this._arr || this, 0)\n    };\n  };\n  function 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  function utf8Slice(buf, start, end) {\n    end = Math.min(buf.length, end);\n    const res = [];\n    let i = start;\n    while (i < end) {\n      const firstByte = buf[i];\n      let codePoint = null;\n      let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n      if (i + bytesPerSequence <= end) {\n        let secondByte, thirdByte, fourthByte, tempCodePoint;\n        switch (bytesPerSequence) {\n          case 1:\n            if (firstByte < 128) {\n              codePoint = firstByte;\n            }\n            break;\n          case 2:\n            secondByte = buf[i + 1];\n            if ((secondByte & 192) === 128) {\n              tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n              if (tempCodePoint > 127) {\n                codePoint = tempCodePoint;\n              }\n            }\n            break;\n          case 3:\n            secondByte = buf[i + 1];\n            thirdByte = buf[i + 2];\n            if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n              tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n              if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\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 & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n              tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n              if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n                codePoint = tempCodePoint;\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 = 65533;\n        bytesPerSequence = 1;\n      } else if (codePoint > 65535) {\n        // encode to utf16 (surrogate pair dance)\n        codePoint -= 65536;\n        res.push(codePoint >>> 10 & 1023 | 55296);\n        codePoint = 56320 | codePoint & 1023;\n      }\n      res.push(codePoint);\n      i += bytesPerSequence;\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\n  const MAX_ARGUMENTS_LENGTH = 4096;\n  function decodeCodePointsArray(codePoints) {\n    const 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    let res = \"\";\n    let i = 0;\n    while (i < len) {\n      res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n    }\n    return res;\n  }\n  function asciiSlice(buf, start, end) {\n    let ret = \"\";\n    end = Math.min(buf.length, end);\n    for (let i = start; i < end; ++i) {\n      ret += String.fromCharCode(buf[i] & 127);\n    }\n    return ret;\n  }\n  function latin1Slice(buf, start, end) {\n    let ret = \"\";\n    end = Math.min(buf.length, end);\n    for (let i = start; i < end; ++i) {\n      ret += String.fromCharCode(buf[i]);\n    }\n    return ret;\n  }\n  function hexSlice(buf, start, end) {\n    const len = buf.length;\n    if (!start || start < 0) start = 0;\n    if (!end || end < 0 || end > len) end = len;\n    let out = \"\";\n    for (let i = start; i < end; ++i) {\n      out += hexSliceLookupTable[buf[i]];\n    }\n    return out;\n  }\n  function utf16leSlice(buf, start, end) {\n    const bytes = buf.slice(start, end);\n    let res = \"\";\n    // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n    for (let i = 0; i < bytes.length - 1; i += 2) {\n      res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n    }\n    return res;\n  }\n  Buffer.prototype.slice = function slice(start, end) {\n    const len = this.length;\n    start = ~~start;\n    end = end === undefined ? len : ~~end;\n    if (start < 0) {\n      start += len;\n      if (start < 0) start = 0;\n    } else if (start > len) {\n      start = len;\n    }\n    if (end < 0) {\n      end += len;\n      if (end < 0) end = 0;\n    } else if (end > len) {\n      end = len;\n    }\n    if (end < start) end = start;\n    const newBuf = this.subarray(start, end);\n    // Return an augmented `Uint8Array` instance\n    Object.setPrototypeOf(newBuf, Buffer.prototype);\n    return newBuf;\n  };\n\n  /*\n   * Need to make sure that buffer isn't trying to write out of bounds.\n   */\n  function 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  Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n    offset = offset >>> 0;\n    byteLength = byteLength >>> 0;\n    if (!noAssert) checkOffset(offset, byteLength, this.length);\n    let val = this[offset];\n    let mul = 1;\n    let i = 0;\n    while (++i < byteLength && (mul *= 256)) {\n      val += this[offset + i] * mul;\n    }\n    return val;\n  };\n  Buffer.prototype.readUintBE = Buffer.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    let val = this[offset + --byteLength];\n    let mul = 1;\n    while (byteLength > 0 && (mul *= 256)) {\n      val += this[offset + --byteLength] * mul;\n    }\n    return val;\n  };\n  Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 1, this.length);\n    return this[offset];\n  };\n  Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 2, this.length);\n    return this[offset] | this[offset + 1] << 8;\n  };\n  Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 2, this.length);\n    return this[offset] << 8 | this[offset + 1];\n  };\n  Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n  };\n  Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n  };\n  Buffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n    offset = offset >>> 0;\n    validateNumber(offset, \"offset\");\n    const first = this[offset];\n    const last = this[offset + 7];\n    if (first === undefined || last === undefined) {\n      boundsError(offset, this.length - 8);\n    }\n    const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n    const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n    return BigInt(lo) + (BigInt(hi) << BigInt(32));\n  });\n  Buffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n    offset = offset >>> 0;\n    validateNumber(offset, \"offset\");\n    const first = this[offset];\n    const last = this[offset + 7];\n    if (first === undefined || last === undefined) {\n      boundsError(offset, this.length - 8);\n    }\n    const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n    const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n    return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n  });\n  Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n    offset = offset >>> 0;\n    byteLength = byteLength >>> 0;\n    if (!noAssert) checkOffset(offset, byteLength, this.length);\n    let val = this[offset];\n    let mul = 1;\n    let i = 0;\n    while (++i < byteLength && (mul *= 256)) {\n      val += this[offset + i] * mul;\n    }\n    mul *= 128;\n    if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n    return val;\n  };\n  Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n    offset = offset >>> 0;\n    byteLength = byteLength >>> 0;\n    if (!noAssert) checkOffset(offset, byteLength, this.length);\n    let i = byteLength;\n    let mul = 1;\n    let val = this[offset + --i];\n    while (i > 0 && (mul *= 256)) {\n      val += this[offset + --i] * mul;\n    }\n    mul *= 128;\n    if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n    return val;\n  };\n  Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 1, this.length);\n    if (!(this[offset] & 128)) return this[offset];\n    return (255 - this[offset] + 1) * -1;\n  };\n  Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 2, this.length);\n    const val = this[offset] | this[offset + 1] << 8;\n    return val & 32768 ? val | 4294901760 : val;\n  };\n  Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 2, this.length);\n    const val = this[offset + 1] | this[offset] << 8;\n    return val & 32768 ? val | 4294901760 : val;\n  };\n  Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n  };\n  Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n  };\n  Buffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n    offset = offset >>> 0;\n    validateNumber(offset, \"offset\");\n    const first = this[offset];\n    const last = this[offset + 7];\n    if (first === undefined || last === undefined) {\n      boundsError(offset, this.length - 8);\n    }\n    const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n    return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n  });\n  Buffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n    offset = offset >>> 0;\n    validateNumber(offset, \"offset\");\n    const first = this[offset];\n    const last = this[offset + 7];\n    if (first === undefined || last === undefined) {\n      boundsError(offset, this.length - 8);\n    }\n    const val = (first << 24) +\n    // Overflow\n    this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n    return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n  });\n  Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return ieee754.read(this, offset, true, 23, 4);\n  };\n  Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 4, this.length);\n    return ieee754.read(this, offset, false, 23, 4);\n  };\n  Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 8, this.length);\n    return ieee754.read(this, offset, true, 52, 8);\n  };\n  Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n    offset = offset >>> 0;\n    if (!noAssert) checkOffset(offset, 8, this.length);\n    return ieee754.read(this, offset, false, 52, 8);\n  };\n  function 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  Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    byteLength = byteLength >>> 0;\n    if (!noAssert) {\n      const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n      checkInt(this, value, offset, byteLength, maxBytes, 0);\n    }\n    let mul = 1;\n    let i = 0;\n    this[offset] = value & 255;\n    while (++i < byteLength && (mul *= 256)) {\n      this[offset + i] = value / mul & 255;\n    }\n    return offset + byteLength;\n  };\n  Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    byteLength = byteLength >>> 0;\n    if (!noAssert) {\n      const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n      checkInt(this, value, offset, byteLength, maxBytes, 0);\n    }\n    let i = byteLength - 1;\n    let mul = 1;\n    this[offset + i] = value & 255;\n    while (--i >= 0 && (mul *= 256)) {\n      this[offset + i] = value / mul & 255;\n    }\n    return offset + byteLength;\n  };\n  Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 1, 255, 0);\n    this[offset] = value & 255;\n    return offset + 1;\n  };\n  Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n    this[offset] = value & 255;\n    this[offset + 1] = value >>> 8;\n    return offset + 2;\n  };\n  Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n    this[offset] = value >>> 8;\n    this[offset + 1] = value & 255;\n    return offset + 2;\n  };\n  Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n    this[offset + 3] = value >>> 24;\n    this[offset + 2] = value >>> 16;\n    this[offset + 1] = value >>> 8;\n    this[offset] = value & 255;\n    return offset + 4;\n  };\n  Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n    this[offset] = value >>> 24;\n    this[offset + 1] = value >>> 16;\n    this[offset + 2] = value >>> 8;\n    this[offset + 3] = value & 255;\n    return offset + 4;\n  };\n  function wrtBigUInt64LE(buf, value, offset, min, max) {\n    checkIntBI(value, min, max, buf, offset, 7);\n    let lo = Number(value & BigInt(4294967295));\n    buf[offset++] = lo;\n    lo = lo >> 8;\n    buf[offset++] = lo;\n    lo = lo >> 8;\n    buf[offset++] = lo;\n    lo = lo >> 8;\n    buf[offset++] = lo;\n    let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n    buf[offset++] = hi;\n    hi = hi >> 8;\n    buf[offset++] = hi;\n    hi = hi >> 8;\n    buf[offset++] = hi;\n    hi = hi >> 8;\n    buf[offset++] = hi;\n    return offset;\n  }\n  function wrtBigUInt64BE(buf, value, offset, min, max) {\n    checkIntBI(value, min, max, buf, offset, 7);\n    let lo = Number(value & BigInt(4294967295));\n    buf[offset + 7] = lo;\n    lo = lo >> 8;\n    buf[offset + 6] = lo;\n    lo = lo >> 8;\n    buf[offset + 5] = lo;\n    lo = lo >> 8;\n    buf[offset + 4] = lo;\n    let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n    buf[offset + 3] = hi;\n    hi = hi >> 8;\n    buf[offset + 2] = hi;\n    hi = hi >> 8;\n    buf[offset + 1] = hi;\n    hi = hi >> 8;\n    buf[offset] = hi;\n    return offset + 8;\n  }\n  Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n    return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n  });\n  Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n    return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n  });\n  Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) {\n      const limit = Math.pow(2, 8 * byteLength - 1);\n      checkInt(this, value, offset, byteLength, limit - 1, -limit);\n    }\n    let i = 0;\n    let mul = 1;\n    let sub = 0;\n    this[offset] = value & 255;\n    while (++i < byteLength && (mul *= 256)) {\n      if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n        sub = 1;\n      }\n      this[offset + i] = (value / mul >> 0) - sub & 255;\n    }\n    return offset + byteLength;\n  };\n  Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) {\n      const limit = Math.pow(2, 8 * byteLength - 1);\n      checkInt(this, value, offset, byteLength, limit - 1, -limit);\n    }\n    let i = byteLength - 1;\n    let mul = 1;\n    let sub = 0;\n    this[offset + i] = value & 255;\n    while (--i >= 0 && (mul *= 256)) {\n      if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n        sub = 1;\n      }\n      this[offset + i] = (value / mul >> 0) - sub & 255;\n    }\n    return offset + byteLength;\n  };\n  Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 1, 127, -128);\n    if (value < 0) value = 255 + value + 1;\n    this[offset] = value & 255;\n    return offset + 1;\n  };\n  Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n    this[offset] = value & 255;\n    this[offset + 1] = value >>> 8;\n    return offset + 2;\n  };\n  Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n    this[offset] = value >>> 8;\n    this[offset + 1] = value & 255;\n    return offset + 2;\n  };\n  Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n    this[offset] = value & 255;\n    this[offset + 1] = value >>> 8;\n    this[offset + 2] = value >>> 16;\n    this[offset + 3] = value >>> 24;\n    return offset + 4;\n  };\n  Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n    if (value < 0) value = 4294967295 + value + 1;\n    this[offset] = value >>> 24;\n    this[offset + 1] = value >>> 16;\n    this[offset + 2] = value >>> 8;\n    this[offset + 3] = value & 255;\n    return offset + 4;\n  };\n  Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n    return wrtBigUInt64LE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n  });\n  Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n    return wrtBigUInt64BE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n  });\n  function 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  function writeFloat(buf, value, offset, littleEndian, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) {\n      checkIEEE754(buf, value, offset, 4);\n    }\n    ieee754.write(buf, value, offset, littleEndian, 23, 4);\n    return offset + 4;\n  }\n  Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n    return writeFloat(this, value, offset, true, noAssert);\n  };\n  Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n    return writeFloat(this, value, offset, false, noAssert);\n  };\n  function writeDouble(buf, value, offset, littleEndian, noAssert) {\n    value = +value;\n    offset = offset >>> 0;\n    if (!noAssert) {\n      checkIEEE754(buf, value, offset, 8);\n    }\n    ieee754.write(buf, value, offset, littleEndian, 52, 8);\n    return offset + 8;\n  }\n  Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n    return writeDouble(this, value, offset, true, noAssert);\n  };\n  Buffer.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)\n  Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n    if (!Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\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(\"Index out of range\");\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    const len = end - start;\n    if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") {\n      // Use built-in when available, missing from IE11\n      this.copyWithin(targetStart, start, end);\n    } else {\n      Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\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])\n  Buffer.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 (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      if (val.length === 1) {\n        const code = val.charCodeAt(0);\n        if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") {\n          // Fast path: If `val` fits into a single byte, use that numeric value.\n          val = code;\n        }\n      }\n    } else if (typeof val === \"number\") {\n      val = val & 255;\n    } else if (typeof val === \"boolean\") {\n      val = Number(val);\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    if (end <= start) {\n      return this;\n    }\n    start = start >>> 0;\n    end = end === undefined ? this.length : end >>> 0;\n    if (!val) val = 0;\n    let i;\n    if (typeof val === \"number\") {\n      for (i = start; i < end; ++i) {\n        this[i] = val;\n      }\n    } else {\n      const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n      const len = bytes.length;\n      if (len === 0) {\n        throw new TypeError(\"The value \\\"\" + val + \"\\\" is invalid for argument \\\"value\\\"\");\n      }\n      for (i = 0; i < end - start; ++i) {\n        this[i + start] = bytes[i % len];\n      }\n    }\n    return this;\n  };\n\n  // CUSTOM ERRORS\n  // =============\n\n  // Simplified versions from Node, changed for Buffer-only usage\n  const errors = {};\n  function E(sym, getMessage, Base) {\n    errors[sym] = class NodeError extends Base {\n      constructor() {\n        super();\n        Object.defineProperty(this, \"message\", {\n          value: getMessage.apply(this, arguments),\n          writable: true,\n          configurable: true\n        });\n\n        // Add the error code to the name to include it in the stack trace.\n        this.name = `${this.name} [${sym}]`;\n        // Access the stack to generate the error message including the error code\n        // from the name.\n        this.stack; // eslint-disable-line no-unused-expressions\n        // Reset the name to the actual name.\n        delete this.name;\n      }\n      get code() {\n        return sym;\n      }\n      set code(value) {\n        Object.defineProperty(this, \"code\", {\n          configurable: true,\n          enumerable: true,\n          value,\n          writable: true\n        });\n      }\n      toString() {\n        return `${this.name} [${sym}]: ${this.message}`;\n      }\n    };\n  }\n  E(\"ERR_BUFFER_OUT_OF_BOUNDS\", function (name) {\n    if (name) {\n      return `${name} is outside of buffer bounds`;\n    }\n    return \"Attempt to access memory outside buffer bounds\";\n  }, RangeError);\n  E(\"ERR_INVALID_ARG_TYPE\", function (name, actual) {\n    return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n  }, TypeError);\n  E(\"ERR_OUT_OF_RANGE\", function (str, range, input) {\n    let msg = `The value of \"${str}\" is out of range.`;\n    let received = input;\n    if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n      received = addNumericalSeparator(String(input));\n    } else if (typeof input === \"bigint\") {\n      received = String(input);\n      if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n        received = addNumericalSeparator(received);\n      }\n      received += \"n\";\n    }\n    msg += ` It must be ${range}. Received ${received}`;\n    return msg;\n  }, RangeError);\n  function addNumericalSeparator(val) {\n    let res = \"\";\n    let i = val.length;\n    const start = val[0] === \"-\" ? 1 : 0;\n    for (; i >= start + 4; i -= 3) {\n      res = `_${val.slice(i - 3, i)}${res}`;\n    }\n    return `${val.slice(0, i)}${res}`;\n  }\n\n  // CHECK FUNCTIONS\n  // ===============\n\n  function checkBounds(buf, offset, byteLength) {\n    validateNumber(offset, \"offset\");\n    if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n      boundsError(offset, buf.length - (byteLength + 1));\n    }\n  }\n  function checkIntBI(value, min, max, buf, offset, byteLength) {\n    if (value > max || value < min) {\n      const n = typeof min === \"bigint\" ? \"n\" : \"\";\n      let range;\n      {\n        if (min === 0 || min === BigInt(0)) {\n          range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n        } else {\n          range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` + `${(byteLength + 1) * 8 - 1}${n}`;\n        }\n      }\n      throw new errors.ERR_OUT_OF_RANGE(\"value\", range, value);\n    }\n    checkBounds(buf, offset, byteLength);\n  }\n  function validateNumber(value, name) {\n    if (typeof value !== \"number\") {\n      throw new errors.ERR_INVALID_ARG_TYPE(name, \"number\", value);\n    }\n  }\n  function boundsError(value, length, type) {\n    if (Math.floor(value) !== value) {\n      validateNumber(value, type);\n      throw new errors.ERR_OUT_OF_RANGE(\"offset\", \"an integer\", value);\n    }\n    if (length < 0) {\n      throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n    }\n    throw new errors.ERR_OUT_OF_RANGE(\"offset\", `>= ${0} and <= ${length}`, value);\n  }\n\n  // HELPER FUNCTIONS\n  // ================\n\n  const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n  function base64clean(str) {\n    // Node takes equal signs as end of the Base64 encoding\n    str = str.split(\"=\")[0];\n    // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n    str = str.trim().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  function utf8ToBytes(string, units) {\n    units = units || Infinity;\n    let codePoint;\n    const length = string.length;\n    let leadSurrogate = null;\n    const bytes = [];\n    for (let i = 0; i < length; ++i) {\n      codePoint = string.charCodeAt(i);\n\n      // is surrogate component\n      if (codePoint > 55295 && codePoint < 57344) {\n        // last char was a lead\n        if (!leadSurrogate) {\n          // no lead yet\n          if (codePoint > 56319) {\n            // unexpected trail\n            if ((units -= 3) > -1) bytes.push(239, 191, 189);\n            continue;\n          } else if (i + 1 === length) {\n            // unpaired lead\n            if ((units -= 3) > -1) bytes.push(239, 191, 189);\n            continue;\n          }\n\n          // valid lead\n          leadSurrogate = codePoint;\n          continue;\n        }\n\n        // 2 leads in a row\n        if (codePoint < 56320) {\n          if ((units -= 3) > -1) bytes.push(239, 191, 189);\n          leadSurrogate = codePoint;\n          continue;\n        }\n\n        // valid surrogate pair\n        codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n      } else if (leadSurrogate) {\n        // valid bmp char, but last char was a lead\n        if ((units -= 3) > -1) bytes.push(239, 191, 189);\n      }\n      leadSurrogate = null;\n\n      // encode utf8\n      if (codePoint < 128) {\n        if ((units -= 1) < 0) break;\n        bytes.push(codePoint);\n      } else if (codePoint < 2048) {\n        if ((units -= 2) < 0) break;\n        bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n      } else if (codePoint < 65536) {\n        if ((units -= 3) < 0) break;\n        bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n      } else if (codePoint < 1114112) {\n        if ((units -= 4) < 0) break;\n        bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n      } else {\n        throw new Error(\"Invalid code point\");\n      }\n    }\n    return bytes;\n  }\n  function asciiToBytes(str) {\n    const byteArray = [];\n    for (let i = 0; i < str.length; ++i) {\n      // Node's code seems to be doing this and not & 0x7F..\n      byteArray.push(str.charCodeAt(i) & 255);\n    }\n    return byteArray;\n  }\n  function utf16leToBytes(str, units) {\n    let c, hi, lo;\n    const byteArray = [];\n    for (let i = 0; i < str.length; ++i) {\n      if ((units -= 2) < 0) break;\n      c = str.charCodeAt(i);\n      hi = c >> 8;\n      lo = c % 256;\n      byteArray.push(lo);\n      byteArray.push(hi);\n    }\n    return byteArray;\n  }\n  function base64ToBytes(str) {\n    return base64.toByteArray(base64clean(str));\n  }\n  function blitBuffer(src, dst, offset, length) {\n    let i;\n    for (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\n  // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n  // the `instanceof` check but they should be treated as of that type.\n  // See: https://github.com/feross/buffer/issues/166\n  function isInstance(obj, type) {\n    return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n  }\n  function numberIsNaN(obj) {\n    // For IE11 support\n    return obj !== obj; // eslint-disable-line no-self-compare\n  }\n\n  // Create lookup table for `toString('hex')`\n  // See: https://github.com/feross/buffer/issues/219\n  const hexSliceLookupTable = function () {\n    const alphabet = \"0123456789abcdef\";\n    const table = new Array(256);\n    for (let i = 0; i < 16; ++i) {\n      const i16 = i * 16;\n      for (let j = 0; j < 16; ++j) {\n        table[i16 + j] = alphabet[i] + alphabet[j];\n      }\n    }\n    return table;\n  }();\n\n  // Return not function with Error if BigInt not supported\n  function defineBigIntMethod(fn) {\n    return typeof BigInt === \"undefined\" ? BufferBigIntNotDefined : fn;\n  }\n  function BufferBigIntNotDefined() {\n    throw new Error(\"BigInt not supported\");\n  }\n  return exports;\n}\n\nexport { dew as d };\n", "import { d as dew } from './chunk-DtuTasat.js';\n\nconst exports = dew();\nexports['Buffer']; exports['SlowBuffer']; exports['INSPECT_MAX_BYTES']; exports['kMaxLength'];\n\nvar Buffer = exports.Buffer;\r\nvar INSPECT_MAX_BYTES = exports.INSPECT_MAX_BYTES;\r\nvar kMaxLength = exports.kMaxLength;\n\nexport { Buffer, INSPECT_MAX_BYTES, exports as default, kMaxLength };\n", "export { Buffer } from \"buffer\";\n", "export default {};\n", "function unimplemented(name) {\r\n  throw new Error('Node.js process ' + name + ' is not supported by JSPM core outside of Node.js');\r\n}\r\n\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n  if (!draining || !currentQueue)\r\n    return;\r\n  draining = false;\r\n  if (currentQueue.length) {\r\n    queue = currentQueue.concat(queue);\r\n  }\r\n  else {\r\n    queueIndex = -1;\r\n  }\r\n  if (queue.length)\r\n    drainQueue();\r\n}\r\n\r\nfunction drainQueue() {\r\n  if (draining)\r\n    return;\r\n  var timeout = setTimeout(cleanUpNextTick, 0);\r\n  draining = true;\r\n\r\n  var len = queue.length;\r\n  while(len) {\r\n    currentQueue = queue;\r\n    queue = [];\r\n    while (++queueIndex < len) {\r\n      if (currentQueue)\r\n        currentQueue[queueIndex].run();\r\n    }\r\n    queueIndex = -1;\r\n    len = queue.length;\r\n  }\r\n  currentQueue = null;\r\n  draining = false;\r\n  clearTimeout(timeout);\r\n}\r\n\r\nfunction nextTick (fun) {\r\n  var args = new Array(arguments.length - 1);\r\n  if (arguments.length > 1) {\r\n    for (var i = 1; i < arguments.length; i++)\r\n      args[i - 1] = arguments[i];\r\n  }\r\n  queue.push(new Item(fun, args));\r\n  if (queue.length === 1 && !draining)\r\n    setTimeout(drainQueue, 0);\r\n}\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n  this.fun = fun;\r\n  this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n  this.fun.apply(null, this.array);\r\n};\r\n\r\nvar title = 'browser';\r\nvar arch = 'x64';\r\nvar platform = 'browser';\r\nvar env = {\r\n  PATH: '/usr/bin',\r\n  LANG: navigator.language + '.UTF-8',\r\n  PWD: '/',\r\n  HOME: '/home',\r\n  TMP: '/tmp',\r\n};\r\nvar argv = ['/usr/bin/node'];\r\nvar execArgv = [];\r\nvar version = 'v16.8.0';\r\nvar versions = {};\r\n\r\nvar emitWarning = function(message, type) {\r\n  console.warn((type ? (type + ': ') : '') + message);\r\n};\r\n\r\nvar binding = function(name) { unimplemented('binding'); };\r\n\r\nvar umask = function(mask) { return 0; };\r\n\r\nvar cwd = function() { return '/'; };\r\nvar chdir = function(dir) {};\r\n\r\nvar release = {\r\n  name: 'node',\r\n  sourceUrl: '',\r\n  headersUrl: '',\r\n  libUrl: '',\r\n};\r\n\r\nfunction noop() {}\r\n\r\nvar _rawDebug = noop;\r\nvar moduleLoadList = [];\r\nfunction _linkedBinding(name) { unimplemented('_linkedBinding'); }\r\nvar domain = {};\r\nvar _exiting = false;\r\nvar config = {};\r\nfunction dlopen(name) { unimplemented('dlopen'); }\r\nfunction _getActiveRequests() { return []; }\r\nfunction _getActiveHandles() { return []; }\r\nvar reallyExit = noop;\r\nvar _kill = noop;\r\nvar cpuUsage = function() { return {}; };\r\nvar resourceUsage = cpuUsage;\r\nvar memoryUsage = cpuUsage;\r\nvar kill = noop;\r\nvar exit = noop;\r\nvar openStdin = noop;\r\nvar allowedNodeEnvironmentFlags = {};\r\nfunction assert(condition, message) {\r\n  if (!condition) throw new Error(message || 'assertion error');\r\n}\r\nvar features = {\r\n  inspector: false,\r\n  debug: false,\r\n  uv: false,\r\n  ipv6: false,\r\n  tls_alpn: false,\r\n  tls_sni: false,\r\n  tls_ocsp: false,\r\n  tls: false,\r\n  cached_builtins: true,\r\n};\r\nvar _fatalExceptions = noop;\r\nvar setUncaughtExceptionCaptureCallback = noop;\r\nfunction hasUncaughtExceptionCaptureCallback() { return false; }var _tickCallback = noop;\r\nvar _debugProcess = noop;\r\nvar _debugEnd = noop;\r\nvar _startProfilerIdleNotifier = noop;\r\nvar _stopProfilerIdleNotifier = noop;\r\nvar stdout = undefined;\r\nvar stderr = undefined;\r\nvar stdin = undefined;\r\nvar abort = noop;\r\nvar pid = 2;\r\nvar ppid = 1;\r\nvar execPath = '/bin/usr/node';\r\nvar debugPort = 9229;\r\nvar argv0 = 'node';\r\nvar _preload_modules = [];\r\nvar setSourceMapsEnabled = noop;\r\n\r\nvar _performance = {\r\n  now: typeof performance !== 'undefined' ? performance.now.bind(performance) : undefined,\r\n  timing: typeof performance !== 'undefined' ? performance.timing : undefined,\r\n};\r\nif (_performance.now === undefined) {\r\n  var nowOffset = Date.now();\r\n\r\n  if (_performance.timing && _performance.timing.navigationStart) {\r\n    nowOffset = _performance.timing.navigationStart;\r\n  }\r\n  _performance.now = () => Date.now() - nowOffset;\r\n}\r\n\r\nfunction uptime() {\r\n  return _performance.now() / 1000;\r\n}\r\n\r\nvar nanoPerSec = 1000000000;\r\nfunction hrtime(previousTimestamp) {\r\n  var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3);\r\n  var clocktime = _performance.now() * 1e-3;\r\n  var seconds = Math.floor(clocktime) + baseNow;\r\n  var nanoseconds = Math.floor((clocktime % 1) * 1e9);\r\n  if (previousTimestamp) {\r\n    seconds = seconds - previousTimestamp[0];\r\n    nanoseconds = nanoseconds - previousTimestamp[1];\r\n    if (nanoseconds < 0) {\r\n      seconds--;\r\n      nanoseconds += nanoPerSec;\r\n    }\r\n  }\r\n  return [seconds, nanoseconds];\r\n}hrtime.bigint = function(time) {\r\n  var diff = hrtime(time);\r\n  if (typeof BigInt === 'undefined') {\r\n    return diff[0] * nanoPerSec + diff[1];\r\n  }\r\n  return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]);\r\n};\r\n\r\nvar _maxListeners = 10;\r\nvar _events = {};\r\nvar _eventsCount = 0;\r\nfunction on () { return process }var addListener = on;\r\nvar once = on;\r\nvar off = on;\r\nvar removeListener = on;\r\nvar removeAllListeners = on;\r\nvar emit = noop;\r\nvar prependListener = on;\r\nvar prependOnceListener = on;\r\nfunction listeners (name) { return []; }\r\nvar process = {\r\n  version,\r\n  versions,\r\n  arch,\r\n  platform,\r\n  release,\r\n  _rawDebug,\r\n  moduleLoadList,\r\n  binding,\r\n  _linkedBinding,\r\n  _events,\r\n  _eventsCount,\r\n  _maxListeners,\r\n  on,\r\n  addListener,\r\n  once,\r\n  off,\r\n  removeListener,\r\n  removeAllListeners,\r\n  emit,\r\n  prependListener,\r\n  prependOnceListener,\r\n  listeners,\r\n  domain,\r\n  _exiting,\r\n  config,\r\n  dlopen,\r\n  uptime,\r\n  _getActiveRequests,\r\n  _getActiveHandles,\r\n  reallyExit,\r\n  _kill,\r\n  cpuUsage,\r\n  resourceUsage,\r\n  memoryUsage,\r\n  kill,\r\n  exit,\r\n  openStdin,\r\n  allowedNodeEnvironmentFlags,\r\n  assert,\r\n  features,\r\n  _fatalExceptions,\r\n  setUncaughtExceptionCaptureCallback,\r\n  hasUncaughtExceptionCaptureCallback,\r\n  emitWarning,\r\n  nextTick,\r\n  _tickCallback,\r\n  _debugProcess,\r\n  _debugEnd,\r\n  _startProfilerIdleNotifier,\r\n  _stopProfilerIdleNotifier,\r\n  stdout,\r\n  stdin,\r\n  stderr,\r\n  abort,\r\n  umask,\r\n  chdir,\r\n  cwd,\r\n  env,\r\n  title,\r\n  argv,\r\n  execArgv,\r\n  pid,\r\n  ppid,\r\n  execPath,\r\n  debugPort,\r\n  hrtime,\r\n  argv0,\r\n  _preload_modules,\r\n  setSourceMapsEnabled,\r\n};\n\nexport { process as p };\n", "import { p as process } from './chunk-DEMDiNwt.js';\n\nvar exports$1 = {},\n  _dewExec = false;\nfunction dew() {\n  if (_dewExec) return exports$1;\n  _dewExec = true;\n  var process$1 = process;\n  function assertPath(path) {\n    if (typeof path !== \"string\") {\n      throw new TypeError(\"Path must be a string. Received \" + JSON.stringify(path));\n    }\n  }\n\n  // Resolves . and .. elements in a path with directory names\n  function normalizeStringPosix(path, allowAboveRoot) {\n    var res = \"\";\n    var lastSegmentLength = 0;\n    var lastSlash = -1;\n    var dots = 0;\n    var code;\n    for (var i = 0; i <= path.length; ++i) {\n      if (i < path.length) code = path.charCodeAt(i);else if (code === 47 /*/*/) break;else code = 47 /*/*/;\n      if (code === 47 /*/*/) {\n        if (lastSlash === i - 1 || dots === 1) ; else if (lastSlash !== i - 1 && dots === 2) {\n          if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n            if (res.length > 2) {\n              var lastSlashIndex = res.lastIndexOf(\"/\");\n              if (lastSlashIndex !== res.length - 1) {\n                if (lastSlashIndex === -1) {\n                  res = \"\";\n                  lastSegmentLength = 0;\n                } else {\n                  res = res.slice(0, lastSlashIndex);\n                  lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n                }\n                lastSlash = i;\n                dots = 0;\n                continue;\n              }\n            } else if (res.length === 2 || res.length === 1) {\n              res = \"\";\n              lastSegmentLength = 0;\n              lastSlash = i;\n              dots = 0;\n              continue;\n            }\n          }\n          if (allowAboveRoot) {\n            if (res.length > 0) res += \"/..\";else res = \"..\";\n            lastSegmentLength = 2;\n          }\n        } else {\n          if (res.length > 0) res += \"/\" + path.slice(lastSlash + 1, i);else res = path.slice(lastSlash + 1, i);\n          lastSegmentLength = i - lastSlash - 1;\n        }\n        lastSlash = i;\n        dots = 0;\n      } else if (code === 46 /*.*/ && dots !== -1) {\n        ++dots;\n      } else {\n        dots = -1;\n      }\n    }\n    return res;\n  }\n  function _format(sep, pathObject) {\n    var dir = pathObject.dir || pathObject.root;\n    var base = pathObject.base || (pathObject.name || \"\") + (pathObject.ext || \"\");\n    if (!dir) {\n      return base;\n    }\n    if (dir === pathObject.root) {\n      return dir + base;\n    }\n    return dir + sep + base;\n  }\n  var posix = {\n    // path.resolve([from ...], to)\n    resolve: function resolve() {\n      var resolvedPath = \"\";\n      var resolvedAbsolute = false;\n      var cwd;\n      for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n        var path;\n        if (i >= 0) path = arguments[i];else {\n          if (cwd === undefined) cwd = process$1.cwd();\n          path = cwd;\n        }\n        assertPath(path);\n\n        // Skip empty entries\n        if (path.length === 0) {\n          continue;\n        }\n        resolvedPath = path + \"/\" + resolvedPath;\n        resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n      }\n\n      // At this point the path should be resolved to a full absolute path, but\n      // handle relative paths to be safe (might happen when process.cwd() fails)\n\n      // Normalize the path\n      resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n      if (resolvedAbsolute) {\n        if (resolvedPath.length > 0) return \"/\" + resolvedPath;else return \"/\";\n      } else if (resolvedPath.length > 0) {\n        return resolvedPath;\n      } else {\n        return \".\";\n      }\n    },\n    normalize: function normalize(path) {\n      assertPath(path);\n      if (path.length === 0) return \".\";\n      var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n      var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n      // Normalize the path\n      path = normalizeStringPosix(path, !isAbsolute);\n      if (path.length === 0 && !isAbsolute) path = \".\";\n      if (path.length > 0 && trailingSeparator) path += \"/\";\n      if (isAbsolute) return \"/\" + path;\n      return path;\n    },\n    isAbsolute: function isAbsolute(path) {\n      assertPath(path);\n      return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n    },\n    join: function join() {\n      if (arguments.length === 0) return \".\";\n      var joined;\n      for (var i = 0; i < arguments.length; ++i) {\n        var arg = arguments[i];\n        assertPath(arg);\n        if (arg.length > 0) {\n          if (joined === undefined) joined = arg;else joined += \"/\" + arg;\n        }\n      }\n      if (joined === undefined) return \".\";\n      return posix.normalize(joined);\n    },\n    relative: function relative(from, to) {\n      assertPath(from);\n      assertPath(to);\n      if (from === to) return \"\";\n      from = posix.resolve(from);\n      to = posix.resolve(to);\n      if (from === to) return \"\";\n\n      // Trim any leading backslashes\n      var fromStart = 1;\n      for (; fromStart < from.length; ++fromStart) {\n        if (from.charCodeAt(fromStart) !== 47 /*/*/) break;\n      }\n      var fromEnd = from.length;\n      var fromLen = fromEnd - fromStart;\n\n      // Trim any leading backslashes\n      var toStart = 1;\n      for (; toStart < to.length; ++toStart) {\n        if (to.charCodeAt(toStart) !== 47 /*/*/) break;\n      }\n      var toEnd = to.length;\n      var toLen = toEnd - toStart;\n\n      // Compare paths to find the longest common path from root\n      var length = fromLen < toLen ? fromLen : toLen;\n      var lastCommonSep = -1;\n      var i = 0;\n      for (; i <= length; ++i) {\n        if (i === length) {\n          if (toLen > length) {\n            if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n              // We get here if `from` is the exact base path for `to`.\n              // For example: from='/foo/bar'; to='/foo/bar/baz'\n              return to.slice(toStart + i + 1);\n            } else if (i === 0) {\n              // We get here if `from` is the root\n              // For example: from='/'; to='/foo'\n              return to.slice(toStart + i);\n            }\n          } else if (fromLen > length) {\n            if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n              // We get here if `to` is the exact base path for `from`.\n              // For example: from='/foo/bar/baz'; to='/foo/bar'\n              lastCommonSep = i;\n            } else if (i === 0) {\n              // We get here if `to` is the root.\n              // For example: from='/foo'; to='/'\n              lastCommonSep = 0;\n            }\n          }\n          break;\n        }\n        var fromCode = from.charCodeAt(fromStart + i);\n        var toCode = to.charCodeAt(toStart + i);\n        if (fromCode !== toCode) break;else if (fromCode === 47 /*/*/) lastCommonSep = i;\n      }\n      var out = \"\";\n      // Generate the relative path based on the path difference between `to`\n      // and `from`\n      for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n        if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n          if (out.length === 0) out += \"..\";else out += \"/..\";\n        }\n      }\n\n      // Lastly, append the rest of the destination (`to`) path that comes after\n      // the common path parts\n      if (out.length > 0) return out + to.slice(toStart + lastCommonSep);else {\n        toStart += lastCommonSep;\n        if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;\n        return to.slice(toStart);\n      }\n    },\n    _makeLong: function _makeLong(path) {\n      return path;\n    },\n    dirname: function dirname(path) {\n      assertPath(path);\n      if (path.length === 0) return \".\";\n      var code = path.charCodeAt(0);\n      var hasRoot = code === 47 /*/*/;\n      var end = -1;\n      var matchedSlash = true;\n      for (var i = path.length - 1; i >= 1; --i) {\n        code = path.charCodeAt(i);\n        if (code === 47 /*/*/) {\n          if (!matchedSlash) {\n            end = i;\n            break;\n          }\n        } else {\n          // We saw the first non-path separator\n          matchedSlash = false;\n        }\n      }\n      if (end === -1) return hasRoot ? \"/\" : \".\";\n      if (hasRoot && end === 1) return \"//\";\n      return path.slice(0, end);\n    },\n    basename: function basename(path, ext) {\n      if (ext !== undefined && typeof ext !== \"string\") throw new TypeError(\"\\\"ext\\\" argument must be a string\");\n      assertPath(path);\n      var start = 0;\n      var end = -1;\n      var matchedSlash = true;\n      var i;\n      if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n        if (ext.length === path.length && ext === path) return \"\";\n        var extIdx = ext.length - 1;\n        var firstNonSlashEnd = -1;\n        for (i = path.length - 1; i >= 0; --i) {\n          var code = path.charCodeAt(i);\n          if (code === 47 /*/*/) {\n            // If we reached a path separator that was not part of a set of path\n            // separators at the end of the string, stop now\n            if (!matchedSlash) {\n              start = i + 1;\n              break;\n            }\n          } else {\n            if (firstNonSlashEnd === -1) {\n              // We saw the first non-path separator, remember this index in case\n              // we need it if the extension ends up not matching\n              matchedSlash = false;\n              firstNonSlashEnd = i + 1;\n            }\n            if (extIdx >= 0) {\n              // Try to match the explicit extension\n              if (code === ext.charCodeAt(extIdx)) {\n                if (--extIdx === -1) {\n                  // We matched the extension, so mark this as the end of our path\n                  // component\n                  end = i;\n                }\n              } else {\n                // Extension does not match, so our result is the entire path\n                // component\n                extIdx = -1;\n                end = firstNonSlashEnd;\n              }\n            }\n          }\n        }\n        if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n        return path.slice(start, end);\n      } else {\n        for (i = path.length - 1; i >= 0; --i) {\n          if (path.charCodeAt(i) === 47 /*/*/) {\n            // If we reached a path separator that was not part of a set of path\n            // separators at the end of the string, stop now\n            if (!matchedSlash) {\n              start = i + 1;\n              break;\n            }\n          } else if (end === -1) {\n            // We saw the first non-path separator, mark this as the end of our\n            // path component\n            matchedSlash = false;\n            end = i + 1;\n          }\n        }\n        if (end === -1) return \"\";\n        return path.slice(start, end);\n      }\n    },\n    extname: function extname(path) {\n      assertPath(path);\n      var startDot = -1;\n      var startPart = 0;\n      var end = -1;\n      var matchedSlash = true;\n      // Track the state of characters (if any) we see before our first dot and\n      // after any path separator we find\n      var preDotState = 0;\n      for (var i = path.length - 1; i >= 0; --i) {\n        var code = path.charCodeAt(i);\n        if (code === 47 /*/*/) {\n          // If we reached a path separator that was not part of a set of path\n          // separators at the end of the string, stop now\n          if (!matchedSlash) {\n            startPart = i + 1;\n            break;\n          }\n          continue;\n        }\n        if (end === -1) {\n          // We saw the first non-path separator, mark this as the end of our\n          // extension\n          matchedSlash = false;\n          end = i + 1;\n        }\n        if (code === 46 /*.*/) {\n          // If this is our first dot, mark it as the start of our extension\n          if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n        } else if (startDot !== -1) {\n          // We saw a non-dot and non-path separator before our dot, so we should\n          // have a good chance at having a non-empty extension\n          preDotState = -1;\n        }\n      }\n      if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n        return \"\";\n      }\n      return path.slice(startDot, end);\n    },\n    format: function format(pathObject) {\n      if (pathObject === null || typeof pathObject !== \"object\") {\n        throw new TypeError(\"The \\\"pathObject\\\" argument must be of type Object. Received type \" + typeof pathObject);\n      }\n      return _format(\"/\", pathObject);\n    },\n    parse: function parse(path) {\n      assertPath(path);\n      var ret = {\n        root: \"\",\n        dir: \"\",\n        base: \"\",\n        ext: \"\",\n        name: \"\"\n      };\n      if (path.length === 0) return ret;\n      var code = path.charCodeAt(0);\n      var isAbsolute = code === 47 /*/*/;\n      var start;\n      if (isAbsolute) {\n        ret.root = \"/\";\n        start = 1;\n      } else {\n        start = 0;\n      }\n      var startDot = -1;\n      var startPart = 0;\n      var end = -1;\n      var matchedSlash = true;\n      var i = path.length - 1;\n\n      // Track the state of characters (if any) we see before our first dot and\n      // after any path separator we find\n      var preDotState = 0;\n\n      // Get non-dir info\n      for (; i >= start; --i) {\n        code = path.charCodeAt(i);\n        if (code === 47 /*/*/) {\n          // If we reached a path separator that was not part of a set of path\n          // separators at the end of the string, stop now\n          if (!matchedSlash) {\n            startPart = i + 1;\n            break;\n          }\n          continue;\n        }\n        if (end === -1) {\n          // We saw the first non-path separator, mark this as the end of our\n          // extension\n          matchedSlash = false;\n          end = i + 1;\n        }\n        if (code === 46 /*.*/) {\n          // If this is our first dot, mark it as the start of our extension\n          if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n        } else if (startDot !== -1) {\n          // We saw a non-dot and non-path separator before our dot, so we should\n          // have a good chance at having a non-empty extension\n          preDotState = -1;\n        }\n      }\n      if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n        if (end !== -1) {\n          if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n        }\n      } else {\n        if (startPart === 0 && isAbsolute) {\n          ret.name = path.slice(1, startDot);\n          ret.base = path.slice(1, end);\n        } else {\n          ret.name = path.slice(startPart, startDot);\n          ret.base = path.slice(startPart, end);\n        }\n        ret.ext = path.slice(startDot, end);\n      }\n      if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = \"/\";\n      return ret;\n    },\n    sep: \"/\",\n    delimiter: \":\",\n    win32: null,\n    posix: null\n  };\n  posix.posix = posix;\n  exports$1 = posix;\n  return exports$1;\n}\n\nconst exports = dew();\n\nexport { exports as e };\n", "import { e as exports } from './chunk-BlJi4mNy.js';\nimport './chunk-DEMDiNwt.js';\n\nvar _makeLong = exports._makeLong;\r\nvar basename = exports.basename;\r\nvar delimiter = exports.delimiter;\r\nvar dirname = exports.dirname;\r\nvar extname = exports.extname;\r\nvar format = exports.format;\r\nvar isAbsolute = exports.isAbsolute;\r\nvar join = exports.join;\r\nvar normalize = exports.normalize;\r\nvar parse = exports.parse;\r\nvar posix = exports.posix;\r\nvar relative = exports.relative;\r\nvar resolve = exports.resolve;\r\nvar sep = exports.sep;\r\nvar win32 = exports.win32;\n\nexport { _makeLong, basename, exports as default, delimiter, dirname, extname, format, isAbsolute, join, normalize, parse, posix, relative, resolve, sep, win32 };\n", "\nvar geoda = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  if (typeof __filename !== 'undefined') _scriptDir ||= __filename;\n  return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var nodePath=require(\"path\");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:\"utf8\")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:\"utf8\",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module[\"thisProgram\"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.startsWith(\"blob:\")){scriptDirectory=\"\"}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module[\"monitorRunDependencies\"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module[\"monitorRunDependencies\"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith(\"file://\");var wasmBinaryFile;wasmBinaryFile=\"geoda-lisa.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw`failed to load wasm binary file at '${binaryFile}'`}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);wasmMemory=wasmExports[\"v\"];updateMemoryViews();wasmTable=wasmExports[\"x\"];addOnInit(wasmExports[\"w\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module[\"noExitRuntime\"]||true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>>2>>>0]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){primitiveType>>>=0;name>>>=0;size>>>=0}var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret=\"\";var c=ptr;while(HEAPU8[c>>>0]){ret+=embind_charCodes[HEAPU8[c++>>>0]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;function __embind_register_bool(rawType,name,trueValue,falseValue){rawType>>>=0;name>>>=0;name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":function(pointer){return this[\"fromWireType\"](HEAPU8[pointer>>>0])},destructorFunction:null})}var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError(\"makeClassHandle requires ptr and ptrType\")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError(\"Both smartPtrType and smartPtr must be specified\")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance[\"clone\"]()}else{var rv=registeredInstance[\"clone\"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{\"isAliasOf\"(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},\"clone\"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},\"delete\"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},\"isDeleted\"(){return!this.$$.ptr},\"deleteLater\"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError(\"Object already scheduled for deletion\")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,\"name\",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError(\"Passing raw pointer to smart pointer is illegal\")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle[\"clone\"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle[\"delete\"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError(\"Unsupporting sharing policy\")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(handle)}\" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this[\"fromWireType\"](HEAPU32[pointer>>>2>>>0])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,\"fromWireType\":RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{var f=Module[\"dynCall_\"+sig];return f(ptr,...args)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args=[])=>{if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){rawType>>>=0;rawPointerType>>>=0;rawConstPointerType>>>=0;baseClassRawType>>>=0;getActualTypeSignature>>>=0;getActualType>>>=0;upcastSignature>>>=0;upcast>>>=0;downcastSignature>>>=0;downcast>>>=0;name>>>=0;destructorSignature>>>=0;rawDestructor>>>=0;name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>>2>>>0])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync){var needsDestructorStack=usesDestructorStack(argTypes);var argCount=argTypes.length;var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=`\\n        return function (${argsList}) {\\n        if (arguments.length !== ${argCount-2}) {\\n          throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${argCount-2}');\\n        }`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"humanName\",\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam['toWireType'](\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\"['toWireType'](\"+dtorStack+\", arg\"+i+\");\\n\";args1.push(\"argType\"+i)}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=`${paramName}_dtor(${paramName});\\n`;args1.push(`${paramName}_dtor`)}}}if(returns){invokerFnBody+=\"var ret = retType['fromWireType'](rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";return[args1,invokerFnBody]}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=argTypes[0].name!==\"void\";var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];for(var i=0;i<argCount-2;++i){closureArgs.push(argTypes[i+2])}if(!needsDestructorStack){for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){if(argTypes[i].destructorFunction!==null){closureArgs.push(argTypes[i].destructorFunction)}}}let[args,invokerFnBody]=createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync);args.push(invokerFnBody);var invokerFn=newFunc(Function,args)(...closureArgs);return createNamedFunction(humanName,invokerFn)}var __embind_register_class_constructor=function(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){rawClassType>>>=0;rawArgTypesAddr>>>=0;invokerSignature>>>=0;invoker>>>=0;rawConstructor>>>=0;var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){rawClassType>>>=0;methodName>>>=0;rawArgTypesAddr>>>=0;invokerSignature>>>=0;rawInvoker>>>=0;context>>>=0;var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[];function __emval_decref(handle){handle>>>=0;if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}}var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module[\"count_emval_handles\"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",\"fromWireType\":handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":(destructors,value)=>Emval.toHandle(value),\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction:null};function __embind_register_emval(rawType){rawType>>>=0;return registerType(rawType,EmValType)}var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>>2>>>0])};case 8:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>>3>>>0])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=function(rawType,name,size){rawType>>>=0;name>>>=0;size>>>=0;name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":value=>value,\"toWireType\":(destructors,value)=>value,\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":floatReadValueFromPointer(name,size),destructorFunction:null})};function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){name>>>=0;rawArgTypesAddr>>>=0;signature>>>=0;rawInvoker>>>=0;fn>>>=0;var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer>>>0]:pointer=>HEAPU8[pointer>>>0];case 2:return signed?pointer=>HEAP16[pointer>>>1>>>0]:pointer=>HEAPU16[pointer>>>1>>>0];case 4:return signed?pointer=>HEAP32[pointer>>>2>>>0]:pointer=>HEAPU32[pointer>>>2>>>0];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};function __embind_register_integer(primitiveType,name,size,minRange,maxRange){primitiveType>>>=0;name>>>=0;size>>>=0;name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){rawType>>>=0;name>>>=0;var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>>2>>>0];var data=HEAPU32[handle+4>>>2>>>0];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};function __embind_register_std_string(rawType,name){rawType>>>=0;name>>>=0;name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\"(value){var length=HEAPU32[value>>>2>>>0];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr>>>0]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i>>>0])}str=a.join(\"\")}_free(value);return str},\"toWireType\"(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>>2>>>0]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i>>>0]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i>>>0]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx>>>0])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr>>>0,endPtr>>>0));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>>1>>>0];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>>1>>>0]=codeUnit;outPtr+=2}HEAP16[outPtr>>>1>>>0]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>>2>>>0];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{outPtr>>>=0;maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>>2>>>0]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>>2>>>0]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){rawType>>>=0;charSize>>>=0;name>>>=0;name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>>1>>>0]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>>2>>>0]}registerType(rawType,{name:name,\"fromWireType\":value=>{var length=HEAPU32[value>>>2>>>0];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":(destructors,value)=>{if(!(typeof value==\"string\")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>>2>>>0]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=function(rawType,name){rawType>>>=0;name>>>=0;name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":()=>undefined,\"toWireType\":(destructors,o)=>undefined})};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};function __emval_take_value(type,arg){type>>>=0;arg>>>=0;type=requireRegisteredType(type,\"_emval_take_value\");var v=type[\"readValueFromPointer\"](arg);return Emval.toHandle(v)}var _abort=()=>{abort(\"\")};function _emscripten_memcpy_js(dest,src,num){dest>>>=0;src>>>=0;num>>>=0;return HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0)}var getHeapMax=()=>3221225472;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var _environ_get=function(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2>>>0]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};function _strftime(s,maxsize,format,tm){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;var tm_zone=HEAPU32[tm+40>>>2>>>0];var date={tm_sec:HEAP32[tm>>>2>>>0],tm_min:HEAP32[tm+4>>>2>>>0],tm_hour:HEAP32[tm+8>>>2>>>0],tm_mday:HEAP32[tm+12>>>2>>>0],tm_mon:HEAP32[tm+16>>>2>>>0],tm_year:HEAP32[tm+20>>>2>>>0],tm_wday:HEAP32[tm+24>>>2>>>0],tm_yday:HEAP32[tm+28>>>2>>>0],tm_isdst:HEAP32[tm+32>>>2>>>0],tm_gmtoff:HEAP32[tm+36>>>2>>>0],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":date=>WEEKDAYS[date.tm_wday].substring(0,3),\"%A\":date=>WEEKDAYS[date.tm_wday],\"%b\":date=>MONTHS[date.tm_mon].substring(0,3),\"%B\":date=>MONTHS[date.tm_mon],\"%C\":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":date=>leadingNulls(date.tm_mday,2),\"%e\":date=>leadingSomething(date.tm_mday,2,\" \"),\"%g\":date=>getWeekBasedYear(date).toString().substring(2),\"%G\":getWeekBasedYear,\"%H\":date=>leadingNulls(date.tm_hour,2),\"%I\":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),\"%m\":date=>leadingNulls(date.tm_mon+1,2),\"%M\":date=>leadingNulls(date.tm_min,2),\"%n\":()=>\"\\n\",\"%p\":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":date=>leadingNulls(date.tm_sec,2),\"%t\":()=>\"\\t\",\"%u\":date=>date.tm_wday||7,\"%U\":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":date=>date.tm_wday,\"%W\":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":date=>(date.tm_year+1900).toString().substring(2),\"%Y\":date=>date.tm_year+1900,\"%z\":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":date=>date.tm_zone,\"%%\":()=>\"%\"};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;loc>>>=0;return _strftime(s,maxsize,format,tm)}embind_init_charCodes();BindingError=Module[\"BindingError\"]=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};InternalError=Module[\"InternalError\"]=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");init_emval();var wasmImports={i:___cxa_throw,o:__embind_register_bigint,m:__embind_register_bool,d:__embind_register_class,f:__embind_register_class_constructor,a:__embind_register_class_function,u:__embind_register_emval,j:__embind_register_float,g:__embind_register_function,c:__embind_register_integer,b:__embind_register_memory_view,l:__embind_register_std_string,h:__embind_register_std_wstring,n:__embind_register_void,e:__emval_take_value,k:_abort,t:_emscripten_memcpy_js,s:_emscripten_resize_heap,q:_environ_get,r:_environ_sizes_get,p:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"w\"])();var _malloc=a0=>(_malloc=wasmExports[\"y\"])(a0);var _free=a0=>(_free=wasmExports[\"z\"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports[\"A\"])(a0);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports[\"B\"])(a0);var dynCall_viiij=Module[\"dynCall_viiij\"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_viiij=Module[\"dynCall_viiij\"]=wasmExports[\"C\"])(a0,a1,a2,a3,a4,a5);var dynCall_viiiij=Module[\"dynCall_viiiij\"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiij=Module[\"dynCall_viiiij\"]=wasmExports[\"D\"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ji=Module[\"dynCall_ji\"]=(a0,a1)=>(dynCall_ji=Module[\"dynCall_ji\"]=wasmExports[\"E\"])(a0,a1);var dynCall_vij=Module[\"dynCall_vij\"]=(a0,a1,a2,a3)=>(dynCall_vij=Module[\"dynCall_vij\"]=wasmExports[\"F\"])(a0,a1,a2,a3);var dynCall_jiii=Module[\"dynCall_jiii\"]=(a0,a1,a2,a3)=>(dynCall_jiii=Module[\"dynCall_jiii\"]=wasmExports[\"G\"])(a0,a1,a2,a3);var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=wasmExports[\"H\"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=wasmExports[\"I\"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=wasmExports[\"J\"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports[\"y\"]=makeWrapper_pp(wasmExports[\"y\"]);wasmExports[\"A\"]=makeWrapper_pp(wasmExports[\"A\"]);wasmExports[\"stackSave\"]=makeWrapper_p(wasmExports[\"stackSave\"]);wasmExports[\"stackAlloc\"]=makeWrapper_pp(wasmExports[\"stackAlloc\"]);return wasmExports}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n  return moduleArg.ready\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n  module.exports = geoda;\nelse if (typeof define === 'function' && define['amd'])\n  define([], () => geoda);\n", "export * from './init';\n\nexport * from './sa/local-g';\nexport * from './sa/local-geary';\nexport * from './sa/local-moran';\nexport * from './sa/quantile-lisa';\nexport * from './sa/spatial-lag';\n", "import { createWASMManager } from '@geoda/common';\nimport { VERSION } from '@geoda/common';\n// @ts-expect-error wasm module is not typed by emscripten\nimport wasmModule from '../wasm/index.cjs';\n\nimport { resolve } from 'path';\n\nconst wasmManager = createWASMManager(wasmModule);\n\n// Detect if we're in Node.js environment\nconst isNode =\n  typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n// use CDN URL by default\nwasmManager.setDeliveryWASM(\n  `https://cdn.jsdelivr.net/npm/@geoda/lisa@${VERSION}/wasm/geoda-lisa.wasm`\n);\n\n// if in Node.js, use local WASM file\nif (isNode) {\n  // For Node.js, construct absolute path to wasm file in node_modules\n  const wasmPath = resolve(__dirname, '../wasm/geoda-lisa.wasm');\n  const wasmUrl = `file://${wasmPath}`;\n  wasmManager.setDeliveryWASM(wasmUrl);\n}\n\nexport function setDeliveryWASM(wasmURL: string) {\n  wasmManager.setDeliveryWASM(wasmURL);\n}\n\nexport async function initWASM(wasmURL?: string) {\n  return await wasmManager.initWASM(wasmURL);\n}\n\nexport async function resetWASM() {\n  return await wasmManager.resetWASM();\n}\n", "import type { GeoDaModule } from './wasm';\n\nexport type WasmModule = (\n  options: { locateFile: () => string } | Record<string, never>\n) => Promise<GeoDaModule>;\n\n/**\n * Manages WebAssembly (WASM) initialization and configuration for GeoDa\n * Handles custom WASM URL settings and instance creation\n *\n * @class WASMManager\n */\nclass WASMManager {\n  private customWASMUrl: string | null = null;\n  private wasmInstancePromise: Promise<GeoDaModule> | null = null;\n  public id: string = '';\n  private wasmModule: WasmModule;\n\n  /**\n   * Creates a new WASMManager instance\n   * @param {WasmModule} wasmModule - The WebAssembly module function that returns a Promise<GeoDaModule>\n   */\n  constructor(wasmModule: WasmModule) {\n    this.wasmModule = wasmModule;\n    this.wasmInstancePromise = null;\n    this.customWASMUrl = null;\n    // random id\n    this.id =\n      Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n  }\n\n  /**\n   * Sets a custom URL for the WASM file\n   * @param {string} wasmUrl - The absolute URL where the WASM file is hosted\n   * @returns {void}\n   */\n  setDeliveryWASM(wasmUrl: string): void {\n    this.customWASMUrl = wasmUrl;\n  }\n\n  /**\n   * Retrieves the currently set custom WASM URL\n   * @returns {string | null} The custom WASM URL if set, null otherwise\n   */\n  getDeliveryWASM(): string | null {\n    return this.customWASMUrl;\n  }\n\n  /**\n   * Initializes the WASM instance with the configured settings\n   * @param {string} [publicWASMUrl] - Optional URL to set as the WASM delivery URL before initialization\n   * @returns {Promise<GeoDaModule>} Promise resolving to the initialized GeoDaModule\n   * @throws {Error} Throws an error if custom WASM URL is not set\n   */\n  async initWASM(publicWASMUrl?: string): Promise<GeoDaModule> {\n    if (publicWASMUrl) {\n      this.setDeliveryWASM(publicWASMUrl);\n    }\n    if (this.customWASMUrl === null) {\n      throw new Error('Custom WASM URL is not set');\n    }\n    if (this.wasmInstancePromise === null) {\n      const wasmUrl = this.customWASMUrl;\n      this.wasmInstancePromise = this.wasmModule(wasmUrl ? { locateFile: () => wasmUrl } : {});\n    }\n    return this.wasmInstancePromise;\n  }\n\n  /**\n   * Resets the WASM instance by clearing the stored promise\n   * Allows for re-initialization of the WASM module\n   * @returns {Promise<void>}\n   */\n  async resetWASM(): Promise<void> {\n    this.wasmInstancePromise = null;\n  }\n}\n\n/**\n * Factory function to create a new WASMManager instance\n * @param {WasmModule} wasmModule - The WebAssembly module function\n * @returns {WASMManager} A new WASMManager instance\n * @see {@link WASMManager} for detailed documentation of the manager class\n */\nexport const createWASMManager = (wasmModule: WasmModule) => new WASMManager(wasmModule);\n", "// generated by TSEMBIND\n\n// define type aliases for various native number types\ntype Char = number;\ntype SignedChar = number;\ntype UnsignedChar = number;\ntype Short = number;\ntype UnsignedShort = number;\ntype Int = number;\ntype UnsignedInt = number;\ntype Long = number;\ntype UnsignedLong = number;\ntype Float = number;\ntype Double = number;\n\n/**\n * Base class for geometry collections\n */\nexport class GeometryCollection {\n  /**\n   * Constructor for the base geometry collection class\n   */\n  constructor();\n  delete(): void;\n  size(): number;\n  getType(): number;\n  getCentroids(): VecVecDouble;\n  buffer(index: number, dist: number, pointsPerCircle: number): Polygon;\n  getArea(index: number): Double;\n  getLength(index: number): Double;\n  getPerimeter(index: number): Double;\n}\n\n/**\n * PolygonCollection class.\n */\nexport class PolygonCollection extends GeometryCollection {\n  /**\n   * Constructor for the polygon collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param holes VectorUInt Array of indices into parts where each hole starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param fixPolygon boolean Whether to fix polygon\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    holes: VectorUInt,\n    sizes: VectorUInt,\n    fixPolygon: boolean,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * LineCollection class.\n */\nexport class LineCollection extends GeometryCollection {\n  /**\n   * Constructor for the line collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    sizes: VectorUInt,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * Class representing a single point geometry\n */\nexport class Point {\n  /**\n   * Constructor for a single point geometry\n   */\n  constructor();\n  /**\n   * Get the x-coordinate of the point\n   */\n  getX(): VectorDouble;\n  /**\n   * Get the y-coordinate of the point\n   */\n  getY(): VectorDouble;\n}\n\n/**\n * PointCollection class.\n */\nexport class PointCollection extends GeometryCollection {\n  /**\n   * Constructor for the point collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    sizes: VectorUInt,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * Class representing a polygon geometry\n */\nexport class Polygon {\n  /**\n   * Constructor for the polygon class\n   */\n  constructor();\n  /**\n   * Get the x-coordinates of the polygon vertices\n   */\n  getX(): VectorDouble;\n  /**\n   * Get the y-coordinates of the polygon vertices\n   */\n  getY(): VectorDouble;\n  /**\n   * Get the indices of holes in the polygon\n   */\n  getHoles(): VectorUInt;\n  /**\n   * Get the indices where each part of the polygon starts\n   */\n  getParts(): VectorUInt;\n  /**\n   * Add a part to the polygon\n   * @param arg0 Array of x coordinates\n   * @param arg1 Array of y coordinates\n   * @param arg2 Whether to fix the polygon\n   */\n  addPart(arg0: VectorDouble, arg1: VectorDouble, arg2: boolean): void;\n  delete(): void;\n}\n\nexport class Line {\n  constructor();\n  getX(): VectorDouble;\n  getY(): VectorDouble;\n  getParts(): VectorUInt;\n  add(arg0: VectorDouble, arg1: VectorDouble): void;\n}\n\n/**\n * Vector class for unsigned integers\n */\nexport class VectorUInt {\n  /**\n   * Constructor for a vector of unsigned integers\n   */\n  constructor();\n  /**\n   * Add an element to the end of the vector\n   * @param arg0 Element to add\n   */\n  push_back(arg0: UnsignedInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: UnsignedInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: UnsignedInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of unsigned integers\n */\nexport class VecVecUInt {\n  /**\n   * Constructor for a vector of vectors of unsigned integers\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorUInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorUInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorUInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for integers\n */\nexport class VectorInt {\n  /**\n   * Constructor for a vector of integers\n   */\n  constructor();\n  /**\n   * Add an element to the end\n   * @param arg0 Element to add\n   */\n  push_back(arg0: Int): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Int): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Int): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of integers\n */\nexport class VecVecInt {\n  /**\n   * Constructor for a vector of vectors of integers\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for double precision floating point numbers\n */\nexport class VectorDouble {\n  /**\n   * Constructor for a vector of double precision floating point numbers\n   */\n  constructor();\n  /**\n   * Add an element to the end\n   * @param arg0 Element to add\n   */\n  push_back(arg0: Double): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Double): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Double): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of doubles\n */\nexport class VecVecDouble {\n  /**\n   * Constructor for a vector of vectors of doubles\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorDouble): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorDouble): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorDouble): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing polygons\n */\nexport class VectorPolygon {\n  /**\n   * Constructor for a vector of polygons\n   */\n  constructor();\n  /**\n   * Add a polygon to the end\n   * @param arg0 Polygon to add\n   */\n  push_back(arg0: Polygon): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Polygon): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get polygon at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set polygon at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Polygon): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing lines\n */\nexport class VectorLine {\n  constructor();\n  push_back(arg0: Line): void;\n  resize(arg0: UnsignedLong, arg1: Line): void;\n  size(): UnsignedLong;\n  get(arg0: UnsignedLong): any;\n}\n\n/**\n * Vector class for storing strings\n */\nexport class VectorString {\n  /**\n   * Constructor for a vector of strings\n   */\n  constructor();\n  /**\n   * Add a string to the end\n   * @param arg0 String to add\n   */\n  push_back(arg0: string): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: string): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get string at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): string;\n  /**\n   * Set string at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: string): boolean;\n  delete(): void;\n}\n\n/**\n * Class representing results from LISA (Local Indicators of Spatial Association) analysis\n */\nexport class LisaResult {\n  /**\n   * Check if the result is valid\n   */\n  isValid(): boolean;\n  /**\n   * Get the p-values for each observation\n   */\n  getPValues(): VectorDouble;\n  /**\n   * Get the cluster assignments for each observation\n   */\n  getClusters(): VectorUInt;\n  /**\n   * Get the spatial lag values\n   */\n  getLagValues(): VectorDouble;\n  /**\n   * Get the LISA statistic values\n   */\n  getLisaValues(): VectorDouble;\n  /**\n   * Get the significance categories\n   */\n  getSignificanceCategories(): VectorInt;\n  /**\n   * Get the number of neighbors for each observation\n   */\n  getNN(): VectorInt;\n  /**\n   * Get the labels for the clusters\n   */\n  getLabels(): VectorString;\n  /**\n   * Get the colors associated with each cluster\n   */\n  getColors(): VectorString;\n  delete(): void;\n}\n\n/**\n * Class for the diagnostic report of regression analysis\n */\nexport class DiagnosticReport {\n  delete(): void;\n  /**\n   * Get the number of observations\n   */\n  GetNoObservation(): number;\n  /**\n   * Get the number of variables\n   */\n  GetNoVariable(): number;\n  /**\n   * Check if the constant is included\n   */\n  IncludeConstant(): boolean;\n  /**\n   * Get the name of the independent variable at index\n   * @param i Index\n   */\n  GetXVarName(i: number): string;\n  /**\n   * Get the coefficient of the independent variable at index\n   * @param i Index\n   */\n  GetCoefficient(i: number): Double;\n  /**\n   * Get the standard error of the independent variable at index\n   * @param i Index\n   */\n  GetStdError(i: number): Double;\n  /**\n   * Get the z-value of the independent variable at index\n   * @param i Index\n   */\n  GetZValue(i: number): Double;\n  /**\n   * Get the probability of the independent variable at index\n   * @param i Index\n   */\n  GetProbability(i: number): Double;\n  /**\n   * Get the R-squared value\n   */\n  GetR2(): number;\n  /**\n   * Get the adjusted R-squared value\n   */\n  GetR2_adjust(): number;\n  /**\n   * Get the Buse R-squared value\n   */\n  GetR2_buse(): number;\n  /**\n   * Get the likelihood value\n   */\n  GetLIK(): number;\n  /**\n   * Get the Akaike Information Criterion (AIC) value\n   */\n  GetAIC(): number;\n  /**\n   * Get the OLS SC value\n   */\n  GetOLS_SC(): number;\n  /**\n   * Get the residual sum of squares (RSS) value\n   */\n  GetRSS(): number;\n  /**\n   * Get the Rho value\n   */\n  GetRho(): number;\n  /**\n   * Get the F-test value\n   */\n  GetFtest(): number;\n  /**\n   * Get the F-test probability value\n   */\n  GetFtestProb(): number;\n  /**\n   * Get the SIQ_SQ value\n   */\n  GetSIQ_SQ(): number;\n  /**\n   * Get the SIQ_SQLM value\n   */\n  GetSIQ_SQLM(): number;\n  /**\n   * Get the condition number\n   */\n  GetConditionNumber(): number;\n  /**\n   * Get the JB test value for the independent variable at index\n   * @param i Index\n   */\n  GetJBtest(i: number): Double;\n  /**\n   * Get the BP test value for the independent variable at index\n   * @param i Index\n   */\n  GetBPtest(i: number): Double;\n  /**\n   * Get the LR test value for the independent variable at index\n   * @param i Index\n   */\n  GetLRTestValue(i: number): Double;\n  /**\n   * Get the Spatial BP test value for the independent variable at index\n   * @param i Index\n   */\n  GetSpatialBPtest(i: number): Double;\n  /**\n   * Get the KB test value for the independent variable at index\n   * @param i Index\n   */\n  GetKBtest(i: number): Double;\n  /**\n   * Get the white test value for the independent variable at index\n   * @param i Index\n   */\n  GetWhitetest(i: number): Double;\n  /**\n   * Get the Moran I value for the independent variable at index\n   * @param i Index\n   */\n  GetMoranI(i: number): Double;\n  /**\n   * Get the LMLAG value for the independent variable at index\n   * @param i Index\n   */\n  GetLMLAG(i: number): Double;\n  /**\n   * Get the LMLAGRob value for the independent variable at index\n   * @param i Index\n   */\n  GetLMLAGRob(i: number): Double;\n  /**\n   * Get the LMERR value for the independent variable at index\n   * @param i Index\n   */\n  GetLMERR(i: number): Double;\n  /**\n   * Get the LMERRRob value for the independent variable at index\n   * @param i Index\n   */\n  GetLMERRRob(i: number): Double;\n  /**\n   * Get the LMSarma value for the independent variable at index\n   * @param i Index\n   */\n  GetLMSarma(i: number): Double;\n  /**\n   * Get the KelRobin value for the independent variable at index\n   * @param i Index\n   */\n  GetKelRobin(i: number): Double;\n  /**\n   * Get the mean of the dependent variable\n   */\n  GetMeanY(): number;\n  /**\n   * Get the standard deviation of the dependent variable\n   */\n  GetSDevY(): number;\n}\n\n/**\n * The result of the Cartogram\n */\nexport class CartogramResult {\n  getX(): VectorDouble;\n  getY(): VectorDouble;\n  getRadius(): VectorDouble;\n  getCircles(): VectorPolygon;\n}\n\nexport interface GeoDaModule {\n  /**\n   * Calculate the Thiessen polygons\n   * @param x - The centroid x coordinates\n   * @param y - The centroid y coordinates\n   * @returns The Thiessen polygons\n   */\n  thiessenPolygon(x: VectorDouble, y: VectorDouble): VectorPolygon;\n\n  /**\n   * Calculate the Minimum Spanning Tree\n   * @param x - The centroid x coordinates\n   * @param y - The centroid y coordinates\n   * @param weights - The weights of the edges\n   * @returns The Minimum Spanning Tree\n   */\n  mst(x: VectorDouble, y: VectorDouble, weights: VectorDouble): VectorLine;\n\n  /**\n   * Calculate the Cartogram\n   * @param geoms - The collection of geometries\n   * @param values - The values to be used for the cartogram\n   * @param iterations - The number of iterations to run the cartogram\n   * @returns The Cartogram Circles\n   */\n  cartogram(\n    geoms: GeometryCollection,\n    values: VectorDouble,\n    iterations: number,\n    numberOfPointsPerCircle: number\n  ): CartogramResult;\n\n  /**\n   * Calculate the deviation from the mean\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The deviation from the mean\n   */\n  deviationFromMean(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Standardize the data using the Median Absolute Deviation (MAD)\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The standardized data\n   */\n  standardizeMAD(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Range adjust the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The range adjusted data\n   */\n  rangeAdjust(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Range standardize the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The range standardized data\n   */\n  rangeStandardize(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Standardize the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The standardized data\n   */\n  standardize(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the raw rate\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The raw rate\n   */\n  rawRate(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the excess risk\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The excess risk\n   */\n  excessRisk(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the empirical Bayes\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The empirical Bayes\n   */\n  empiricalBayes(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the spatial rate\n   * @param neighbors - The neighbors of each observation\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The spatial rate\n   */\n  spatialRate(\n    neighbors: VecVecUInt,\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * Calculate the rate standardize empirical Bayes\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The rate standardize empirical Bayes\n   */\n  rateStandardizeEmpiricalBayes(\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * Calculate the spatial empirical Bayes\n   * @param neighbors - The neighbors of each observation\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The spatial empirical Bayes\n   */\n  spatialEmpiricalBayes(\n    neighbors: VecVecUInt,\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * get the contiguity neighbors using the centroids of a collection of geometries\n   * @param geometries\n   * @param isQueen\n   * @param precisionThreshold\n   * @param orderOfContiguity\n   * @param includeLowerOrder\n   */\n  getPointContiguityWeights(\n    geometries: GeometryCollection,\n    isQueen: boolean,\n    precisionThreshold: number,\n    orderOfContiguity: number,\n    includeLowerOrder: boolean\n  ): VecVecUInt;\n\n  /**\n   * get the contiguity neighbors of a collection of polygons\n   * @param geometries\n   * @param isQueen\n   * @param precisionThreshold\n   * @param orderOfContiguity\n   * @param includeLowerOrder\n   */\n  getPolygonContiguityWeights(\n    geometries: GeometryCollection,\n    isQueen: boolean,\n    precisionThreshold: number,\n    orderOfContiguity: number,\n    includeLowerOrder: boolean\n  ): VecVecUInt;\n\n  /**\n   * get the nearest neighbors of a collection of geometries\n   * @param geometries the collection of geometries\n   * @param k the number of nearest neighbors\n   */\n  getNearestNeighbors(geometries: GeometryCollection, k: UnsignedInt): VecVecUInt;\n\n  /**\n   * get the nearest neighbors of a collection of geometries\n   * @param geometries the collection of geometries\n   * @param threshold the distance threshold\n   * @param isMile the unit of distance\n   */\n  getDistanceWeights(\n    geometries: GeometryCollection,\n    threshold: Double,\n    isMile: boolean\n  ): VecVecUInt;\n\n  /**\n   * get the distance thresholds of a collection of geometries that guarantee 1 nearest neighbors\n   * @param geometries the collection of geometries\n   * @param isMile the unit of distance\n   */\n  getDistanceThresholds(geometries: GeometryCollection, isMile: boolean): VectorDouble;\n\n  /**\n   *\n   * @param k the number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the indices of data that are undefined\n   */\n  quantileBreaks(k: number, data: VectorDouble, undefs?: VectorUInt): VectorDouble;\n\n  /**\n   * Natural Jenks breaks classification\n   * @param k number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the indices of data that are undefined\n   */\n  naturalBreaks(k: number, data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Equal interval breaks classification\n   * @param k number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the flags of undefined values\n   */\n  equalIntervalBreaks(k: number, data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Percentile breaks classification: <1%, 1-10%, 10-50%, 50-90%, 90-99%, >99%\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   */\n  percentileBreaks(data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Box breaks classification: Lower outlier, < 25%, [25-50)%, [50-75)%, >= 75%, Upper outlier\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   * @param hinge the hinge value, default is 1.5 and could be 3.0\n   */\n  boxBreaks(data: VectorDouble, undefs: VectorInt, hinge: Double): VectorDouble;\n\n  /**\n   * Standard deviation breaks classification\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   */\n  standardDeviationBreaks(data: VectorDouble, undefs: VectorInt): VectorDouble;\n\n  /**\n   * Local Moran statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  localMoran(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Bivariate Local Moran statistics\n   * @param data1 the first data values\n   * @param data2 the second data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  bivariateLocalMoran(\n    data1: VectorDouble,\n    data2: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Local Getis-Ord statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   * @param isGStar whether to use G* or G\n   */\n  localG(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number,\n    isGStar: number\n  ): LisaResult;\n\n  /**\n   * Local Geary statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  localGeary(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Multivariate Local Geary statistics\n   * @param data the array of data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the array of undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  multivariateLocalGeary(\n    data: VecVecDouble,\n    neighbors: VecVecUInt,\n    undefs: VecVecUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Local Quantile LISA statistics\n   * @param k the number of breaks\n   * @param quantile which quantile to use\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  quantileLisa(\n    k: number,\n    quantile: number,\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  // test for dotProduct\n  dotProduct(x: VectorDouble, y: VectorDouble): number;\n\n  /**\n   *\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  linearRegression(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Lag regression\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  spatialLag(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Error regression\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  spatialError(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Join of two collections of geometries\n   * @param left The left collection of geometries\n   * @param right The right collection of geometries\n   * @returns The indices of the right geometries that are spatially joined to the left geometries\n   */\n  spatialJoin(left: GeometryCollection, right: GeometryCollection): VecVecUInt;\n\n  /**\n   * Spatial Dissolve of a collection of polygons\n   * @param polys The collection of polygons\n   * @returns The dissolved polygon\n   */\n  spatialDissolve(polys: GeometryCollection): Polygon;\n\n  GeometryCollection: typeof GeometryCollection;\n  PolygonCollection: typeof PolygonCollection;\n  LineCollection: typeof LineCollection;\n  PointCollection: typeof PointCollection;\n  Polygon: typeof Polygon;\n  Line: typeof Line;\n  VectorUInt: typeof VectorUInt;\n  VecVecUInt: typeof VecVecUInt;\n  VectorInt: typeof VectorInt;\n  VecVecInt: typeof VecVecInt;\n  VectorDouble: typeof VectorDouble;\n  VecVecDouble: typeof VecVecDouble;\n  VectorPolygon: typeof VectorPolygon;\n  VectorLine: typeof VectorLine;\n  VectorString: typeof VectorString;\n  LisaResult: typeof LisaResult;\n  DiagnosticReport: typeof DiagnosticReport;\n}\n// declare function factory(): Promise<GeoDaModule>;\n// export default factory;\n", "import { VectorDouble, VectorInt, VectorString } from './wasm/index.d';\n\nexport const earthRadius = 6371008.8;\nconst mileToMeters = 1609.344;\n\n// for lat and lng, we use the great circle distance or arc distance\n// in the unit of mile or kilometer (KM)\nexport enum DistanceUnit {\n  Mile = 'Mile',\n  KM = 'KM',\n}\n\n/**\n * Calculate the distance between two points on the earth in the unit of degree\n * @param distance The distance in the unit of mile or kilometer (KM)\n * @param unit The unit of the distance, Mile or KM\n * @returns The distance in the unit of degree\n */\nexport function lengthToDegrees(distance: number, unit: DistanceUnit): number {\n  // length to radians\n  const factor = unit === DistanceUnit.KM ? earthRadius / 1000 : earthRadius / mileToMeters;\n  const radians = distance / factor;\n  // radians to degrees\n  const degrees = radians % (2 * Math.PI);\n  return degrees;\n}\n\n/**\n * Calculate the distance between two points on the earth in the unit of meters\n * @param distance The distance in the unit of mile or kilometer (KM)\n * @param unit The unit of the distance, Mile or KM\n * @returns The distance in the unit of meters\n */\nexport function lengthToMeters(distance: number, unit: DistanceUnit): number {\n  return unit === DistanceUnit.Mile ? distance * mileToMeters : distance * 1000;\n}\n\n/**\n * Convert the std::vector<double> data to number[]\n * @param data The std::vector<double> data\n * @returns The values in number[] format.\n */\nexport function vecDoubleToNumber(data: VectorDouble): number[] {\n  const result: number[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n\n/**\n * Convert the std::vector<int> data to number[]\n * @param data The std::vector<int> data\n * @returns The values in number[] format.\n */\nexport function vecIntToNumber(data: VectorInt): number[] {\n  const result: number[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n\n/**\n * Convert the std::vector<string> data to string[]\n * @param data The std::vector<string> data\n * @returns The values in string[] format.\n */\nexport function vecStringToArray(data: VectorString): string[] {\n  const result: string[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n", "export const VERSION = '0.0.22';\n", "import { LocalMoranResult } from './local-moran';\nimport { initWASM } from '../init';\nimport { vecDoubleToNumber, vecIntToNumber, vecStringToArray } from '@geoda/common';\n\nexport type LocalGProps = {\n  data: number[] | Float32Array;\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n  isGStar?: boolean;\n};\n\n/**\n * Get local Getis-Ord G* statistics.\n *\n * ## Example\n * ```ts\n * import { localG } from '@geoda/lisa';\n *\n * const data = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await localGStar({\n *   data,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n */\nexport async function localGStar({\n  data,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: LocalGProps): Promise<LocalMoranResult> {\n  return localG({ data, neighbors, permutation, significanceCutoff, seed, isGStar: true });\n}\n\n/**\n * Get local Getis-Ord statistics.\n *\n * ## Example\n * ```ts\n * import { localG } from '@geoda/lisa';\n *\n * const data = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await localG({\n *   data,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n */\nexport async function localG({\n  data,\n  neighbors,\n  permutation,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n  isGStar = false,\n}: LocalGProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = data.length;\n  const wasmData = new wasm.VectorDouble();\n  wasmData.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData.set(i, Number(data[i]));\n  }\n\n  const wasmUndefs = new wasm.VectorUInt();\n  const wasmNeighbors = new wasm.VecVecUInt();\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i] ?? [];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.localG(\n    wasmData,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed,\n    isGStar ? 1 : 0\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n", "import { LocalMoranResult } from './local-moran';\nimport { initWASM } from '../init';\nimport { vecDoubleToNumber, vecIntToNumber, vecStringToArray } from '@geoda/common';\n\nexport type LocalGearyProps = {\n  data: number[] | Float32Array;\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n};\n\n/**\n * Get local Geary's C statistics.\n *\n * ## Example\n * ```ts\n * import { localGeary } from '@geoda/lisa';\n *\n * const data = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await localGeary({\n *   data,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n */\nexport async function localGeary({\n  data,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: LocalGearyProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = data.length;\n  const wasmData = new wasm.VectorDouble();\n  wasmData.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData.set(i, Number(data[i]));\n  }\n\n  const wasmNeighbors = new wasm.VecVecUInt();\n  const wasmUndefs = new wasm.VectorUInt();\n\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i] ?? [];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.localGeary(\n    wasmData,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n\nexport type MultivariateLocalGearyProps = {\n  data: number[][];\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n};\n\n/**\n * Get multivariate local Geary's C statistics.\n *\n * ## Example\n * ```ts\n * import { multivariateLocalGeary } from '@geoda/lisa';\n *\n * const data = [[1, 2], [3, 4], [5, 6]];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await multivariateLocalGeary({\n *   data,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n */\nexport async function multivariateLocalGeary({\n  data,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: MultivariateLocalGearyProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = neighbors.length;\n  const wasmData = new wasm.VecVecDouble();\n  for (let i = 0; i < data.length; ++i) {\n    const vals = new wasm.VectorDouble();\n    for (let j = 0; j < data[i].length; ++j) {\n      vals.push_back(data[i][j]);\n    }\n    wasmData.push_back(vals);\n  }\n\n  const wasmNeighbors = new wasm.VecVecUInt();\n  const wasmUndefs = new wasm.VecVecUInt();\n\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.multivariateLocalGeary(\n    wasmData,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n", "import { initWASM } from '../init';\nimport { vecDoubleToNumber, vecIntToNumber, vecStringToArray } from '@geoda/common';\n\n/**\n * Result object containing Local Moran's I statistics and cluster information\n *\n * @typedef {Object} LocalMoranResult\n * @property {boolean} isValid - Indicates if the analysis was successful\n * @property {number[]} clusters - Cluster assignments for each observation\n * @property {number[]} lagValues - Spatially lagged values\n * @property {number[]} pValues - Statistical significance values\n * @property {number[]} lisaValues - Local Moran's I statistics\n * @property {number[]} sigCategories - Significance categories (e.g., high-high, low-low)\n * @property {number[]} nn - Number of neighbors for each observation\n * @property {string[]} labels - Descriptive labels for clusters\n * @property {string[]} colors - Color codes for visualization\n */\nexport type LocalMoranResult = {\n  isValid: boolean;\n  clusters: number[];\n  lagValues: number[];\n  pValues: number[];\n  lisaValues: number[];\n  sigCategories: number[];\n  nn: number[];\n  labels: string[];\n  colors: string[];\n};\n\n/**\n * Configuration properties for univariate Local Moran's I calculation\n * @typedef {Object} LocalMoranProps\n * @property {number[] | Float32Array} data - Input data array\n * @property {number[][]} neighbors - Spatial weights matrix as adjacency list\n * @property {number} permutation - Number of permutations for significance testing\n * @property {number} [significanceCutoff=0.05] - Statistical significance threshold\n * @property {number} [seed=1234567890] - Random seed for reproducibility\n */\nexport type LocalMoranProps = {\n  data: number[] | Float32Array;\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n};\n\n/**\n * Calculates univariate Local Moran's I statistics for spatial autocorrelation\n *\n * ## Example\n * ```ts\n * import { localMoran } from '@geoda/lisa';\n *\n * const data = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await localMoran({\n *   data,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n * @param {LocalMoranProps} props - Configuration object for Local Moran's I calculation\n * @returns {Promise<LocalMoranResult>} Promise resolving to Local Moran statistics and cluster assignments\n */\nexport async function localMoran({\n  data,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: LocalMoranProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = data.length;\n  const wasmData = new wasm.VectorDouble();\n  wasmData.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData.set(i, Number(data[i]));\n  }\n\n  const wasmNeighbors = new wasm.VecVecUInt();\n  const wasmUndefs = new wasm.VectorUInt();\n\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i] ?? [];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.localMoran(\n    wasmData,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n\n/**\n * Configuration properties for bivariate Local Moran's I calculation\n * @typedef {Object} BivariateLocalMoranProps\n * @property {number[] | Float32Array} data1 - First variable's observations\n * @property {number[] | Float32Array} data2 - Second variable's observations\n * @property {number[][]} neighbors - Spatial weights matrix as adjacency list\n * @property {number} permutation - Number of permutations for significance testing\n * @property {number} [significanceCutoff=0.05] - Statistical significance threshold\n * @property {number} [seed=1234567890] - Random seed for reproducibility\n */\nexport type BivariateLocalMoranProps = {\n  data1: number[] | Float32Array;\n  data2: number[] | Float32Array;\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n};\n\n/**\n * Calculates bivariate Local Moran's I statistics to measure spatial correlation\n * between two variables\n *\n * ## Example\n * ```ts\n * import { bivariateLocalMoran } from '@geoda/lisa';\n *\n * const data1 = [1, 2, 3, 4, 5];\n * const data2 = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await bivariateLocalMoran({\n *   data1,\n *   data2,\n *   neighbors,\n * });\n *\n * console.log(result);\n * ```\n *\n * @param {BivariateLocalMoranProps} props - Configuration object for bivariate Local Moran's I\n * @returns {Promise<LocalMoranResult>} Promise resolving to Local Moran statistics and cluster assignments\n */\nexport async function bivariateLocalMoran({\n  data1,\n  data2,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: BivariateLocalMoranProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = data1.length;\n  const wasmData1 = new wasm.VectorDouble();\n  wasmData1.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData1.set(i, data1[i]);\n  }\n  const wasmData2 = new wasm.VectorDouble();\n  wasmData2.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData2.set(i, data2[i]);\n  }\n\n  const wasmNeighbors = new wasm.VecVecUInt();\n  const wasmUndefs = new wasm.VectorUInt();\n\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.bivariateLocalMoran(\n    wasmData1,\n    wasmData2,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n", "import { LocalMoranResult } from './local-moran';\nimport { initWASM } from '../init';\nimport { vecDoubleToNumber, vecIntToNumber, vecStringToArray } from '@geoda/common';\n\nexport type QuantileLisaProps = {\n  k: number;\n  quantile: number;\n  data: number[] | Float32Array;\n  neighbors: number[][];\n  permutation: number;\n  significanceCutoff?: number;\n  seed?: number;\n};\n\n/**\n * Get local Quantile Lisa statistics\n *\n * ## Example\n * ```ts\n * import { quantileLisa } from '@geoda/lisa';\n *\n * const data = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = await quantileLisa({\n *   k: 3,\n *   quantile: 0.5,\n *   data,\n *   neighbors,\n * });\n * ```\n *\n * @param k The number of classes/categories\n * @param quantile The quantile value\n * @param data The numeric values to be classified.\n * @param neighbors The neighbors of each observation\n * @param permutation The number of permutations\n * @param significanceCutoff The significance cutoff\n * @param seed The seed value\n * @returns LISA result\n */\nexport async function quantileLisa({\n  k,\n  quantile,\n  data,\n  neighbors,\n  permutation = 999,\n  significanceCutoff = 0.05,\n  seed = 1234567890,\n}: QuantileLisaProps): Promise<LocalMoranResult> {\n  const wasm = await initWASM();\n\n  const n = data.length;\n  const wasmData = new wasm.VectorDouble();\n  wasmData.resize(n, 0);\n  for (let i = 0; i < n; ++i) {\n    wasmData.set(i, Number(data[i]));\n  }\n\n  const wasmUndefs = new wasm.VectorUInt();\n  const wasmNeighbors = new wasm.VecVecUInt();\n  for (let i = 0; i < n; ++i) {\n    const nbrs = neighbors[i] ?? [];\n    const wasmNeighborIndices = new wasm.VectorUInt();\n    for (let j = 0, numNbrs = nbrs.length; j < numNbrs; ++j) {\n      wasmNeighborIndices.push_back(nbrs[j]);\n    }\n    wasmNeighbors.push_back(wasmNeighborIndices);\n  }\n\n  const result = wasm.quantileLisa(\n    k,\n    quantile,\n    wasmData,\n    wasmNeighbors,\n    wasmUndefs,\n    significanceCutoff,\n    permutation,\n    seed\n  );\n\n  return {\n    isValid: result.isValid(),\n    clusters: vecDoubleToNumber(result.getClusters()),\n    lagValues: vecDoubleToNumber(result.getLagValues()),\n    lisaValues: vecDoubleToNumber(result.getLisaValues()),\n    pValues: vecDoubleToNumber(result.getPValues()),\n    sigCategories: vecIntToNumber(result.getSignificanceCategories()),\n    nn: vecIntToNumber(result.getNN()),\n    labels: vecStringToArray(result.getLabels()),\n    colors: vecStringToArray(result.getColors()),\n  };\n}\n", "/**\n * Compute spatial lag of a list of values based on a list of neighbors and weights.\n *\n * ## Example\n * ```ts\n * import { spatialLag } from '@geoda/lisa';\n *\n * const values = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = spatialLag(values, neighbors);\n *\n * console.log(result);\n * ```\n *\n * @param values The numeric values to compute spatial lag for.\n * @param neighbors The list of neighbors for each value.\n * @param weights The weight values for each neighbor.\n * @param useSelfNeighbor The flag to include self as a neighbor.\n * @param rowStandardize The flag to row standardize the spatial lag.\n * @returns The spatial lag values.\n */\n// eslint-disable-next-line max-statements, complexity\nexport function spatialLag(\n  values: number[],\n  neighbors: number[][],\n  rowStandardize = true,\n  weights?: number[][],\n  useSelfNeighbor?: boolean\n): number[] {\n  const n = values.length;\n  const isBinaryWeights = weights === undefined;\n\n  const result = new Array(n).fill(0);\n  // for each observation\n  for (let i = 0; i < n; i++) {\n    let lag = 0;\n    let numOfNbrs = 0;\n    let isSelfIncluded = false;\n    // get neighbors of observation i\n    const nn = neighbors[i];\n    // for each neighbor\n    for (let j = 0; j < nn.length; j++) {\n      // skip self\n      if (i === nn[j]) {\n        isSelfIncluded = true;\n        continue;\n      }\n      if (isBinaryWeights) {\n        lag += values[nn[j]];\n        numOfNbrs += 1;\n      } else {\n        lag += values[nn[j]] * weights[i][j];\n        numOfNbrs += weights[i][j];\n      }\n    }\n    // compute spatial lag\n    if (isBinaryWeights) {\n      // contiguity weights\n      if (useSelfNeighbor) {\n        lag += values[i];\n        numOfNbrs += 1;\n      }\n      if (rowStandardize) {\n        lag = numOfNbrs > 0 ? lag / numOfNbrs : 0;\n      }\n    } else {\n      // inverse or kernel weights\n      if (rowStandardize) {\n        lag = numOfNbrs > 0 ? lag / numOfNbrs : 0;\n      }\n      // TODO why rowStandardize is before useSelfNeighbor?\n      if (useSelfNeighbor) {\n        // eslint-disable-next-line max-depth\n        if (isSelfIncluded) {\n          // only for kernel weights with diagonal elements\n          lag += values[i] * weights[i][nn.length];\n        } else {\n          lag += values[i];\n        }\n      }\n    }\n    result[i] = lag;\n  }\n  return result;\n}\n\n/**\n * Compute the median spatial lag of a list of values based on a list of neighbors and weights using the mean function.\n *\n * ## Example\n * ```ts\n * import { spatialLagMedian } from '@geoda/lisa';\n *\n * const values = [1, 2, 3, 4, 5];\n * const neighbors = [[1], [0, 2], [1, 3], [2, 4], [3]];\n *\n * const result = spatialLagMedian(values, neighbors);\n *\n * console.log(result);\n * ```\n *\n * @param values The numeric values to compute spatial lag for.\n * @param neighbors The list of neighbors for each value.\n * @returns The spatial lag values.\n */\nexport function spatialLagMedian(values: number[], neighbors: number[][]): number[] {\n  const n = values.length;\n\n  const result = new Array(n).fill(0);\n  // for each observation\n  for (let i = 0; i < n; i++) {\n    // exclude self i from neighbors\n    const nn = neighbors[i].filter(j => j !== i);\n    const vals = nn.map(j => values[j]);\n    vals.sort((a, b) => a - b);\n\n    // if odd number of neighbors, return the middle value\n    // if even number of neighbors, return the average of the two middle values\n    const mid = Math.floor(nn.length / 2);\n    if (nn.length % 2 === 0) {\n      result[i] = (vals[mid - 1] + vals[mid]) / 2;\n    } else {\n      result[i] = vals[mid];\n    }\n  }\n  return result;\n}\n"],
  "mappings": "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",
  "names": ["__dirname", "init_dirname", "__esmMin", "process_exports", "__export", "_debugEnd", "_debugProcess", "_events", "_eventsCount", "_exiting", "_fatalExceptions", "_getActiveHandles", "_getActiveRequests", "_kill", "_linkedBinding", "_maxListeners", "_preload_modules", "_rawDebug", "_startProfilerIdleNotifier", "_stopProfilerIdleNotifier", "_tickCallback", "abort", "addListener", "allowedNodeEnvironmentFlags", "arch", "argv", "argv0", "assert", "binding", "browser", "chdir", "config", "cpuUsage", "cwd", "debugPort", "process", "dlopen", "domain", "emit", "emitWarning", "env", "execArgv", "execPath", "exit", "features", "hasUncaughtExceptionCaptureCallback", "hrtime", "kill", "listeners", "memoryUsage", "moduleLoadList", "nextTick", "off", "on", "once", "openStdin", "pid", "platform", "ppid", "prependListener", "prependOnceListener", "reallyExit", "release", "removeAllListeners", "removeListener", "resourceUsage", "setSourceMapsEnabled", "setUncaughtExceptionCaptureCallback", "stderr", "stdin", "stdout", "title", "umask", "uptime", "version", "versions", "unimplemented", "name", "cleanUpNextTick", "draining", "currentQueue", "queue", "queueIndex", "drainQueue", "timeout", "len", "fun", "args", "i", "Item", "array", "noop", "condition", "message", "_performance", "previousTimestamp", "baseNow", "clocktime", "seconds", "nanoseconds", "nanoPerSec", "nowOffset", "init_process", "__esmMin", "init_dirname", "init_buffer", "type", "mask", "dir", "time", "diff", "init_process", "__esmMin", "dew$2", "_dewExec$2", "exports$2", "byteLength", "toByteArray", "fromByteArray", "lookup", "revLookup", "Arr", "code", "i", "len", "getLens", "b64", "validLen", "placeHoldersLen", "lens", "_byteLength", "tmp", "arr", "curByte", "tripletToBase64", "num", "encodeChunk", "uint8", "start", "end", "output", "extraBytes", "parts", "maxChunkLength", "len2", "dew$1", "_dewExec$1", "exports$1", "buffer", "offset", "isLE", "mLen", "nBytes", "e", "m", "eLen", "eMax", "eBias", "nBits", "d", "s", "value", "c", "rt", "dew", "_dewExec", "exports", "base64", "ieee754", "customInspectSymbol", "Buffer", "SlowBuffer", "K_MAX_LENGTH", "typedArraySupport", "proto", "createBuffer", "length", "buf", "arg", "encodingOrOffset", "allocUnsafe", "from", "fromString", "fromArrayView", "isInstance", "fromArrayBuffer", "valueOf", "b", "fromObject", "assertSize", "size", "alloc", "fill", "encoding", "checked", "string", "actual", "fromArrayLike", "array", "arrayView", "copy", "byteOffset", "obj", "numberIsNaN", "a", "x", "y", "list", "pos", "mustMatch", "loweredCase", "utf8ToBytes", "base64ToBytes", "slowToString", "hexSlice", "utf8Slice", "asciiSlice", "latin1Slice", "base64Slice", "utf16leSlice", "swap", "n", "str", "max", "target", "thisStart", "thisEnd", "thisCopy", "targetCopy", "bidirectionalIndexOf", "val", "dir", "arrayIndexOf", "indexSize", "arrLength", "valLength", "read", "foundIndex", "found", "j", "hexWrite", "remaining", "strLen", "parsed", "utf8Write", "blitBuffer", "asciiWrite", "asciiToBytes", "base64Write", "ucs2Write", "utf16leToBytes", "res", "firstByte", "codePoint", "bytesPerSequence", "secondByte", "thirdByte", "fourthByte", "tempCodePoint", "decodeCodePointsArray", "MAX_ARGUMENTS_LENGTH", "codePoints", "ret", "out", "hexSliceLookupTable", "bytes", "newBuf", "checkOffset", "ext", "noAssert", "mul", "defineBigIntMethod", "validateNumber", "first", "last", "boundsError", "lo", "hi", "checkInt", "min", "maxBytes", "wrtBigUInt64LE", "checkIntBI", "wrtBigUInt64BE", "limit", "sub", "checkIEEE754", "writeFloat", "littleEndian", "writeDouble", "targetStart", "errors", "E", "sym", "getMessage", "Base", "name", "range", "input", "msg", "received", "addNumericalSeparator", "checkBounds", "type", "INVALID_BASE64_RE", "base64clean", "units", "leadSurrogate", "byteArray", "src", "dst", "alphabet", "table", "i16", "fn", "BufferBigIntNotDefined", "init_chunk_DtuTasat", "__esmMin", "init_dirname", "init_buffer", "init_process", "exports", "Buffer", "INSPECT_MAX_BYTES", "kMaxLength", "init_buffer", "__esmMin", "init_dirname", "init_process", "init_chunk_DtuTasat", "dew", "init_buffer", "__esmMin", "empty_exports", "__export", "empty_default", "init_empty", "__esmMin", "init_dirname", "init_buffer", "init_process", "unimplemented", "name", "cleanUpNextTick", "draining", "currentQueue", "queue", "queueIndex", "drainQueue", "timeout", "len", "nextTick", "fun", "args", "i", "Item", "array", "noop", "_linkedBinding", "dlopen", "_getActiveRequests", "_getActiveHandles", "assert", "condition", "message", "hasUncaughtExceptionCaptureCallback", "uptime", "_performance", "hrtime", "previousTimestamp", "baseNow", "clocktime", "seconds", "nanoseconds", "nanoPerSec", "on", "process", "listeners", "title", "arch", "platform", "env", "argv", "execArgv", "version", "versions", "emitWarning", "binding", "umask", "cwd", "chdir", "release", "_rawDebug", "moduleLoadList", "domain", "_exiting", "config", "reallyExit", "_kill", "cpuUsage", "resourceUsage", "memoryUsage", "kill", "exit", "openStdin", "allowedNodeEnvironmentFlags", "features", "_fatalExceptions", "setUncaughtExceptionCaptureCallback", "_tickCallback", "_debugProcess", "_debugEnd", "_startProfilerIdleNotifier", "_stopProfilerIdleNotifier", "stdout", "stderr", "stdin", "abort", "pid", "ppid", "execPath", "debugPort", "argv0", "_preload_modules", "setSourceMapsEnabled", "nowOffset", "_maxListeners", "_events", "_eventsCount", "addListener", "once", "off", "removeListener", "removeAllListeners", "emit", "prependListener", "prependOnceListener", "init_chunk_DEMDiNwt", "__esmMin", "init_dirname", "init_buffer", "init_process", "type", "mask", "dir", "time", "diff", "dew", "_dewExec", "exports$1", "process$1", "process", "assertPath", "path", "normalizeStringPosix", "allowAboveRoot", "res", "lastSegmentLength", "lastSlash", "dots", "code", "i", "lastSlashIndex", "_format", "sep", "pathObject", "dir", "base", "posix", "resolvedPath", "resolvedAbsolute", "cwd", "isAbsolute", "trailingSeparator", "joined", "arg", "from", "to", "fromStart", "fromEnd", "fromLen", "toStart", "toEnd", "toLen", "length", "lastCommonSep", "fromCode", "toCode", "out", "hasRoot", "end", "matchedSlash", "ext", "start", "extIdx", "firstNonSlashEnd", "startDot", "startPart", "preDotState", "ret", "exports", "init_chunk_BlJi4mNy", "__esmMin", "init_dirname", "init_buffer", "init_process", "init_chunk_DEMDiNwt", "path_exports", "__export", "_makeLong", "basename", "exports", "delimiter", "dirname", "extname", "format", "isAbsolute", "join", "normalize", "parse", "posix", "relative", "resolve", "sep", "win32", "init_path", "__esmMin", "init_dirname", "init_buffer", "init_process", "init_chunk_BlJi4mNy", "init_chunk_DEMDiNwt", "require_wasm", "__commonJSMin", "exports", "module", "init_dirname", "init_buffer", "init_process", "geoda", "_scriptDir", "moduleArg", "Module", "readyPromiseResolve", "readyPromiseReject", "resolve", "reject", "moduleOverrides", "arguments_", "thisProgram", "quit_", "status", "toThrow", "ENVIRONMENT_IS_WEB", "ENVIRONMENT_IS_WORKER", "ENVIRONMENT_IS_NODE", "process_exports", "scriptDirectory", "locateFile", "path", "read_", "readAsync", "readBinary", "fs", "nodePath", "__dirname", "filename", "binary", "isFileURI", "ret", "onload", "onerror", "err", "data", "url", "xhr", "out", "wasmBinary", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "__ATPRERUN__", "__ATINIT__", "__ATPOSTRUN__", "runtimeInitialized", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "_a", "removeRunDependency", "callback", "what", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "instance", "wasmExports", "applySignatureConversions", "wasmTable", "receiveInstantiationResult", "callbacks", "noExitRuntime", "ExceptionInfo", "excPtr", "type", "destructor", "caught", "rethrown", "adjustedPtr", "isPointer", "___cxa_is_pointer_type", "adjusted", "exceptionLast", "uncaughtExceptionCount", "___cxa_throw", "ptr", "__embind_register_bigint", "primitiveType", "name", "size", "minRange", "maxRange", "embind_init_charCodes", "codes", "i", "embind_charCodes", "readLatin1String", "c", "awaitingDependencies", "registeredTypes", "typeDependencies", "BindingError", "throwBindingError", "message", "InternalError", "throwInternalError", "whenDependentTypesAreResolved", "myTypes", "dependentTypes", "getTypeConverters", "onComplete", "typeConverters", "myTypeConverters", "registerType", "unregisteredTypes", "registered", "dt", "sharedRegisterType", "rawType", "registeredInstance", "options", "GenericWireTypeSize", "__embind_register_bool", "trueValue", "falseValue", "wt", "destructors", "o", "pointer", "shallowCopyInternalPointer", "throwInstanceAlreadyDeleted", "obj", "getInstanceTypeName", "handle", "finalizationRegistry", "detachFinalizer", "runDestructor", "$$", "releaseClassHandle", "toDelete", "downcastPointer", "ptrClass", "desiredClass", "rv", "registeredPointers", "getInheritedInstanceCount", "registeredInstances", "getLiveInheritedInstances", "k", "deletionQueue", "flushPendingDeletes", "delayFunction", "setDelayFunction", "fn", "init_embind", "getBasestPointer", "class_", "getInheritedInstance", "makeClassHandle", "prototype", "record", "hasSmartPtrType", "hasSmartPtr", "attachFinalizer", "RegisteredPointer_fromWireType", "rawPointer", "makeDefaultHandle", "actualType", "registeredPointerRecord", "toType", "dp", "init_ClassHandle", "ClassHandle", "other", "leftClass", "left", "rightClass", "right", "clone", "createNamedFunction", "body", "ensureOverloadTable", "proto", "methodName", "humanName", "prevFunc", "args", "exposePublicSymbol", "value", "numArguments", "char_0", "char_9", "makeLegalFunctionName", "f", "RegisteredClass", "constructor", "instancePrototype", "rawDestructor", "baseClass", "getActualType", "upcast", "downcast", "upcastPointer", "constNoSmartPtrRawPointerToWireType", "embindRepr", "handleClass", "genericPointerToWireType", "clonedHandle", "Emval", "nonConstNoSmartPtrRawPointerToWireType", "readPointer", "init_RegisteredPointer", "RegisteredPointer", "registeredClass", "isReference", "isConst", "isSmartPointer", "pointeeType", "sharingPolicy", "rawGetPointee", "rawConstructor", "rawShare", "replacePublicSymbol", "dynCallLegacy", "sig", "wasmTableMirror", "getWasmTableEntry", "funcPtr", "func", "dynCall", "rtn", "getDynCaller", "embind__requireFunction", "signature", "rawFunction", "makeDynCaller", "fp", "extendError", "baseErrorType", "errorName", "errorClass", "stack", "UnboundTypeError", "getTypeName", "___getTypeName", "_free", "throwUnboundTypeError", "types", "unboundTypes", "seen", "visit", "__embind_register_class", "rawPointerType", "rawConstPointerType", "baseClassRawType", "getActualTypeSignature", "upcastSignature", "downcastSignature", "destructorSignature", "legalFunctionName", "base", "_b", "basePrototype", "referenceConverter", "pointerConverter", "constPointerConverter", "heap32VectorToArray", "count", "firstElement", "array", "runDestructors", "del", "usesDestructorStack", "argTypes", "newFunc", "argumentList", "dummy", "r", "createJsInvoker", "isClassMethodFunc", "returns", "isAsync", "needsDestructorStack", "argCount", "argsList", "argsListWired", "invokerFnBody", "dtorStack", "args1", "paramName", "craftInvokerFunction", "classType", "cppInvokerFunc", "cppTargetFunc", "closureArgs", "invokerFn", "__embind_register_class_constructor", "rawClassType", "rawArgTypesAddr", "invokerSignature", "invoker", "rawArgTypes", "getFunctionName", "argsIndex", "__embind_register_class_function", "rawInvoker", "context", "isPureVirtual", "unboundTypesHandler", "method", "memberFunction", "emval_freelist", "emval_handles", "__emval_decref", "count_emval_handles", "init_emval", "EmValType", "__embind_register_emval", "v", "t", "floatReadValueFromPointer", "width", "__embind_register_float", "__embind_register_function", "invokerArgsArray", "integerReadValueFromPointer", "signed", "__embind_register_integer", "fromWireType", "bitshift", "isUnsignedType", "checkAssertions", "toTypeName", "toWireType", "__embind_register_memory_view", "dataTypeIndex", "typeMapping", "TA", "decodeMemoryView", "stringToUTF8Array", "str", "heap", "outIdx", "maxBytesToWrite", "startIdx", "endIdx", "u", "u1", "stringToUTF8", "outPtr", "lengthBytesUTF8", "len", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endPtr", "u0", "u2", "ch", "UTF8ToString", "__embind_register_std_string", "stdStringIsUTF8", "length", "payload", "decodeStartPtr", "currentBytePtr", "maxRead", "stringSegment", "a", "valueIsOfTypeString", "_malloc", "charCode", "UTF16Decoder", "UTF16ToString", "maxIdx", "codeUnit", "stringToUTF16", "startPtr", "numCharsToWrite", "lengthBytesUTF16", "UTF32ToString", "utf32", "stringToUTF32", "trailSurrogate", "lengthBytesUTF32", "__embind_register_std_wstring", "charSize", "decodeString", "encodeString", "readCharAt", "lengthBytesUTF", "maxReadBytes", "__embind_register_void", "requireRegisteredType", "impl", "__emval_take_value", "arg", "_abort", "_emscripten_memcpy_js", "dest", "src", "num", "getHeapMax", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "x", "multiple", "cutDown", "overGrownHeapSize", "newSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "isLeapYear", "year", "arraySum", "index", "sum", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR", "addDays", "date", "days", "newDate", "leap", "currentMonth", "daysInCurrentMonth", "intArrayFromString", "stringy", "dontAddNull", "u8array", "numBytesWritten", "writeArrayToMemory", "_strftime", "s", "maxsize", "format", "tm", "tm_zone", "pattern", "EXPANSION_RULES_1", "rule", "WEEKDAYS", "MONTHS", "leadingSomething", "digits", "character", "leadingNulls", "compareByDay", "date1", "date2", "sgn", "compare", "getFirstWeekStartDate", "janFourth", "getWeekBasedYear", "thisDate", "janFourthThisYear", "janFourthNextYear", "firstWeekStartThisYear", "firstWeekStartNextYear", "EXPANSION_RULES_2", "twelveHour", "val", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "___wasm_call_ctors", "a0", "dynCall_viiij", "a1", "a2", "a3", "a4", "a5", "dynCall_viiiij", "a6", "dynCall_ji", "dynCall_vij", "dynCall_jiii", "dynCall_iiiiij", "dynCall_iiiiijj", "a7", "a8", "dynCall_iiiiiijj", "a9", "makeWrapper_pp", "makeWrapper_p", "calledRun", "runCaller", "run", "doRun", "src_exports", "__export", "bivariateLocalMoran", "initWASM", "localG", "localGStar", "localGeary", "localMoran", "multivariateLocalGeary", "quantileLisa", "resetWASM", "setDeliveryWASM", "spatialLag", "spatialLagMedian", "__toCommonJS", "init_dirname", "init_buffer", "init_process", "init_dirname", "init_buffer", "init_process", "init_dirname", "init_buffer", "init_process", "WASMManager", "wasmModule", "wasmUrl", "publicWASMUrl", "createWASMManager", "DistanceUnit", "vecDoubleToNumber", "data", "result", "n", "i", "vecIntToNumber", "vecStringToArray", "VERSION", "import_wasm", "init_path", "wasmManager", "S", "wasmModule", "isNode", "process_exports", "A", "wasmUrl", "resolve", "__dirname", "setDeliveryWASM", "wasmURL", "initWASM", "resetWASM", "init_dirname", "init_buffer", "init_process", "localGStar", "data", "neighbors", "permutation", "significanceCutoff", "seed", "localG", "isGStar", "_a", "wasm", "initWASM", "n", "wasmData", "i", "wasmUndefs", "wasmNeighbors", "nbrs", "wasmNeighborIndices", "j", "numNbrs", "result", "w", "k", "N", "init_dirname", "init_buffer", "init_process", "localGeary", "data", "neighbors", "permutation", "significanceCutoff", "seed", "_a", "wasm", "initWASM", "n", "wasmData", "i", "wasmNeighbors", "wasmUndefs", "nbrs", "wasmNeighborIndices", "j", "numNbrs", "result", "w", "k", "N", "multivariateLocalGeary", "vals", "init_dirname", "init_buffer", "init_process", "localMoran", "data", "neighbors", "permutation", "significanceCutoff", "seed", "_a", "wasm", "initWASM", "n", "wasmData", "i", "wasmNeighbors", "wasmUndefs", "nbrs", "wasmNeighborIndices", "j", "numNbrs", "result", "w", "k", "N", "bivariateLocalMoran", "data1", "data2", "wasmData1", "wasmData2", "init_dirname", "init_buffer", "init_process", "quantileLisa", "k", "quantile", "data", "neighbors", "permutation", "significanceCutoff", "seed", "_a", "wasm", "initWASM", "n", "wasmData", "i", "wasmUndefs", "wasmNeighbors", "nbrs", "wasmNeighborIndices", "j", "numNbrs", "result", "w", "N", "init_dirname", "init_buffer", "init_process", "spatialLag", "values", "neighbors", "rowStandardize", "weights", "useSelfNeighbor", "n", "isBinaryWeights", "result", "i", "lag", "numOfNbrs", "isSelfIncluded", "nn", "j", "spatialLagMedian", "vals", "a", "b", "mid"]
}
