{"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.7_@types+node@20.16.11__postcss@8.4.47_tsx@4.19.2_typescript@5.6.3/node_modules/tsup/assets/cjs_shims.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/utils.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/constants.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/types.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/tar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/lib/untar.js","../../../../node_modules/.pnpm/tinytar@0.1.0/node_modules/tinytar/index.js","../../src/fs/opfs-ahp.ts","../../src/fs/base.ts","../../src/fs/tarUtils.ts","../../src/initdb.ts","../../src/initdbModFactory.ts","../../release/initdb.js","../../src/argsParser.ts","../../../pglite-utils/src/utils.ts"],"sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n  typeof document === 'undefined'\n    ? new URL(`file:${__filename}`).href\n    : (document.currentScript && document.currentScript.src) ||\n      new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","'use strict';\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\nvar undefined = (function(undefined) {\n  return undefined;\n})();\n\nfunction isUndefined(value) {\n  return value === undefined;\n}\n\nfunction isString(value) {\n  return (typeof value == 'string') ||\n    (Object.prototype.toString.call(value) == '[object String]');\n}\n\nfunction isDateTime(value) {\n  return (Object.prototype.toString.call(value) == '[object Date]');\n}\n\nfunction isObject(value) {\n  return (value !== null) && (typeof value == 'object');\n}\n\nfunction isFunction(value) {\n  return typeof value == 'function';\n}\n\nfunction isLength(value) {\n  return (typeof value == 'number') &&\n    (value > -1) && (value % 1 == 0) &&\n    (value <= MAX_SAFE_INTEGER);\n}\n\nfunction isArray(value) {\n  return Object.prototype.toString.call(value) == '[object Array]';\n}\n\nfunction isArrayLike(value) {\n  return isObject(value) && !isFunction(value) && isLength(value.length);\n}\n\nfunction isArrayBuffer(value) {\n  return Object.prototype.toString.call(value) == '[object ArrayBuffer]';\n}\n\nfunction map(array, iteratee) {\n  return Array.prototype.map.call(array, iteratee);\n}\n\nfunction find(array, iteratee) {\n  var result = undefined;\n\n  if (isFunction(iteratee)) {\n    Array.prototype.every.call(array, function(item, index, array) {\n      var found = iteratee(item, index, array);\n      if (found) {\n        result = item;\n      }\n      return !found;  // continue if not found\n    });\n  }\n\n  return result;\n}\n\nfunction extend(target /* ...sources */) {\n  return Object.assign.apply(null, arguments);\n}\n\nfunction toUint8Array(value) {\n  var i;\n  var length;\n  var result;\n\n  if (isString(value)) {\n    length = value.length;\n    result = new Uint8Array(length);\n    for (i = 0; i < length; i++) {\n      result[i] = value.charCodeAt(i) & 0xFF;\n    }\n    return result;\n  }\n\n  if (isArrayBuffer(value)) {\n    return new Uint8Array(value);\n  }\n\n  if (isObject(value) && isArrayBuffer(value.buffer)) {\n    return new Uint8Array(value.buffer);\n  }\n\n  if (isArrayLike(value)) {\n    return new Uint8Array(value);\n  }\n\n  if (isObject(value) && isFunction(value.toString)) {\n    return toUint8Array(value.toString());\n  }\n\n  return new Uint8Array();\n}\n\nmodule.exports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\n\nmodule.exports.isUndefined = isUndefined;\nmodule.exports.isString = isString;\nmodule.exports.isObject = isObject;\nmodule.exports.isDateTime = isDateTime;\nmodule.exports.isFunction = isFunction;\nmodule.exports.isArray = isArray;\nmodule.exports.isArrayLike = isArrayLike;\nmodule.exports.isArrayBuffer = isArrayBuffer;\nmodule.exports.map = map;\nmodule.exports.find = find;\nmodule.exports.extend = extend;\nmodule.exports.toUint8Array = toUint8Array;\n","'use strict';\n\nvar NULL_CHAR = '\\u0000';\n\nmodule.exports = {\n  /* eslint-disable key-spacing */\n\n  NULL_CHAR: NULL_CHAR,\n\n  TMAGIC: 'ustar' + NULL_CHAR + '00',   // 'ustar', NULL, '00'\n  OLDGNU_MAGIC: 'ustar  ' + NULL_CHAR,  // 'ustar  ', NULL\n\n  // Values used in typeflag field.\n  REGTYPE:  0,  // regular file\n  LNKTYPE:  1,  // link\n  SYMTYPE:  2,  // reserved\n  CHRTYPE:  3,  // character special\n  BLKTYPE:  4,  // block special\n  DIRTYPE:  5,  // directory\n  FIFOTYPE: 6,  // FIFO special\n  CONTTYPE: 7,  // reserved\n\n  // Bits used in the mode field, values in octal.\n  TSUID: parseInt('4000', 8),  // set UID on execution\n  TSGID: parseInt('2000', 8),  // set GID on execution\n  TSVTX: parseInt('1000', 8),  // reserved\n\n  // file permissions\n  TUREAD:  parseInt('0400', 8),  // read by owner\n  TUWRITE: parseInt('0200', 8),  // write by owner\n  TUEXEC:  parseInt('0100', 8),  // execute/search by owner\n  TGREAD:  parseInt('0040', 8),  // read by group\n  TGWRITE: parseInt('0020', 8),  // write by group\n  TGEXEC:  parseInt('0010', 8),  // execute/search by group\n  TOREAD:  parseInt('0004', 8),  // read by other\n  TOWRITE: parseInt('0002', 8),  // write by other\n  TOEXEC:  parseInt('0001', 8),   // execute/search by other\n\n  TPERMALL:  parseInt('0777', 8),   // rwxrwxrwx\n  TPERMMASK: parseInt('0777', 8)    // permissions bitmask\n\n  /* eslint-enable key-spacing */\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar constants = require('./constants');\n\nvar recordSize = 512;\nvar defaultFileMode = constants.TPERMALL;  // rwxrwxrwx\nvar defaultUid = 0;  // root\nvar defaultGid = 0;  // root\n\n/*\n struct posix_header {           // byte offset\n char name[100];               //   0\n char mode[8];                 // 100\n char uid[8];                  // 108\n char gid[8];                  // 116\n char size[12];                // 124\n char mtime[12];               // 136\n char chksum[8];               // 148\n char typeflag;                // 156\n char linkname[100];           // 157\n char magic[6];                // 257\n char version[2];              // 263\n char uname[32];               // 265\n char gname[32];               // 297\n char devmajor[8];             // 329\n char devminor[8];             // 337\n char prefix[131];             // 345\n char atime[12];               // 476\n char ctime[12];               // 488\n };\n */\n\nvar posixHeader = [\n  // <field name>, <size>, <offset>, <used>, <format>, <parse>, [ <check> ]\n  ['name', 100, 0, function(file, field) {\n    return formatTarString(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarString(buffer.slice(offset, offset + field[1]));\n  }],\n  ['mode', 8, 100, function(file, field) {\n    var mode = file[field[0]] || defaultFileMode;\n    mode = mode & constants.TPERMMASK;\n    return formatTarNumber(mode, field[1], defaultFileMode);\n  }, function(buffer, offset, field) {\n    var result = parseTarNumber(buffer.slice(offset, offset + field[1]));\n    result &= constants.TPERMMASK;\n    return result;\n  }],\n  ['uid', 8, 108, function(file, field) {\n    return formatTarNumber(file[field[0]], field[1], defaultUid);\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['gid', 8, 116, function(file, field) {\n    return formatTarNumber(file[field[0]], field[1], defaultGid);\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['size', 12, 124, function(file, field) {\n    return formatTarNumber(file.data.length, field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['modifyTime', 12, 136, function(file, field) {\n    return formatTarDateTime(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n  }],\n  ['checksum', 8, 148, function(file, field) {\n    return '        ';  // placeholder\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['type', 1, 156, function(file, field) {\n    // get last octal digit; 0 - regular file\n    return '' + ((parseInt(file[field[0]], 10) || 0) % 8);\n  }, function(buffer, offset, field) {\n    return (parseInt(String.fromCharCode(buffer[offset]), 10) || 0) % 8;\n  }],\n  ['linkName', 100, 157, function(file, field) {\n    return '';  // only regular files are supported\n  }, function(buffer, offset, field) {\n    return parseTarString(buffer.slice(offset, offset + field[1]));\n  }],\n  ['ustar', 8, 257, function(file, field) {\n    return constants.TMAGIC;  // magic + version\n  }, function(buffer, offset, field) {\n    return fixUstarMagic(\n      parseTarString(buffer.slice(offset, offset + field[1]), true)\n    );\n  }, function(file, field) {\n    return (file[field[0]] == constants.TMAGIC) ||\n      (file[field[0]] == constants.OLDGNU_MAGIC);\n  }],\n  ['owner', 32, 265, function(file, field) {\n    return formatTarString(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarString(buffer.slice(offset, offset + field[1]));\n  }],\n  ['group', 32, 297, function(file, field) {\n    return formatTarString(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarString(buffer.slice(offset, offset + field[1]));\n  }],\n  ['majorNumber', 8, 329, function(file, field) {\n    return '';  // only regular files are supported\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['minorNumber', 8, 337, function(file, field) {\n    return '';  // only regular files are supported\n  }, function(buffer, offset, field) {\n    return parseTarNumber(buffer.slice(offset, offset + field[1]));\n  }],\n  ['prefix', 131, 345, function(file, field) {\n    return formatTarString(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarString(buffer.slice(offset, offset + field[1]));\n  }],\n  ['accessTime', 12, 476, function(file, field) {\n    return formatTarDateTime(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n  }],\n  ['createTime', 12, 488, function(file, field) {\n    return formatTarDateTime(file[field[0]], field[1]);\n  }, function(buffer, offset, field) {\n    return parseTarDateTime(buffer.slice(offset, offset + field[1]));\n  }]\n];\n\nvar effectiveHeaderSize = (function(header) {\n  var last = header[header.length - 1];\n  return last[2] + last[1];  // offset + size\n})(posixHeader);\n\nfunction fixUstarMagic(value) {\n  if (value.length == 8) {\n    var chars = value.split('');\n\n    if (chars[5] == constants.NULL_CHAR) {\n      // TMAGIC ?\n      if ((chars[6] == ' ') || (chars[6] == constants.NULL_CHAR)) {\n        chars[6] = '0';\n      }\n      if ((chars[7] == ' ') || (chars[7] == constants.NULL_CHAR)) {\n        chars[7] = '0';\n      }\n      chars = chars.join('');\n      return chars == constants.TMAGIC ? chars : value;\n    } else if (chars[7] == constants.NULL_CHAR) {\n      // OLDGNU_MAGIC ?\n      if (chars[5] == constants.NULL_CHAR) {\n        chars[5] = ' ';\n      }\n      if (chars[6] == constants.NULL_CHAR) {\n        chars[6] = ' ';\n      }\n      return chars == constants.OLDGNU_MAGIC ? chars : value;\n    }\n  }\n  return value;\n}\n\nfunction formatTarString(value, length) {\n  length -= 1;  // preserve space for trailing null-char\n  if (utils.isUndefined(value)) {\n    value = '';\n  }\n  value = ('' + value).substr(0, length);\n  return value + constants.NULL_CHAR;\n}\n\nfunction formatTarNumber(value, length, defaultValue) {\n  defaultValue = parseInt(defaultValue) || 0;\n  length -= 1;  // preserve space for trailing null-char\n  value = (parseInt(value) || defaultValue)\n    .toString(8).substr(-length, length);\n  while (value.length < length) {\n    value = '0' + value;\n  }\n  return value + constants.NULL_CHAR;\n}\n\nfunction formatTarDateTime(value, length) {\n  if (utils.isDateTime(value)) {\n    value = Math.floor(1 * value / 1000);\n  } else {\n    value = parseInt(value, 10);\n    if (isFinite(value)) {\n      if (value <= 0) {\n        return '';\n      }\n    } else {\n      value = Math.floor(1 * new Date() / 1000);\n    }\n  }\n  return formatTarNumber(value, length, 0);\n}\n\nfunction parseTarString(bytes, returnUnprocessed) {\n  var result = String.fromCharCode.apply(null, bytes);\n  if (returnUnprocessed) {\n    return result;\n  }\n  var index = result.indexOf(constants.NULL_CHAR);\n  return index >= 0 ? result.substr(0, index) : result;\n}\n\nfunction parseTarNumber(bytes) {\n  var result = String.fromCharCode.apply(null, bytes);\n  return parseInt(result.replace(/^0+$/g, ''), 8) || 0;\n}\n\nfunction parseTarDateTime(bytes) {\n  if ((bytes.length == 0) || (bytes[0] == 0)) {\n    return null;\n  }\n  return new Date(1000 * parseTarNumber(bytes));\n}\n\nfunction calculateChecksum(buffer, offset, skipChecksum) {\n  var from = parseInt(offset, 10) || 0;\n  var to = Math.min(from + effectiveHeaderSize, buffer.length);\n  var result = 0;\n\n  // When calculating checksum, `checksum` field should be\n  // threat as filled with space char (byte 32)\n  var skipFrom = 0;\n  var skipTo = 0;\n  if (skipChecksum) {\n    posixHeader.every(function(field) {\n      if (field[0] == 'checksum') {\n        skipFrom = from + field[2];\n        skipTo = skipFrom + field[1];\n        return false;\n      }\n      return true;\n    });\n  }\n\n  var whitespace = ' '.charCodeAt(0);\n  for (var i = from; i < to; i++) {\n    // 262144 = 8^6 - 6 octal digits - maximum possible value for checksum;\n    // wrap to avoid numeric overflow\n    var byte = (i >= skipFrom) && (i < skipTo) ? whitespace : buffer[i];\n    result = (result + byte) % 262144;\n  }\n  return result;\n}\n\nmodule.exports.recordSize = recordSize;\nmodule.exports.defaultFileMode = defaultFileMode;\nmodule.exports.defaultUid = defaultUid;\nmodule.exports.defaultGid = defaultGid;\nmodule.exports.posixHeader = posixHeader;\nmodule.exports.effectiveHeaderSize = effectiveHeaderSize;\n\nmodule.exports.calculateChecksum = calculateChecksum;\nmodule.exports.formatTarString = formatTarString;\nmodule.exports.formatTarNumber = formatTarNumber;\nmodule.exports.formatTarDateTime = formatTarDateTime;\nmodule.exports.parseTarString = parseTarString;\nmodule.exports.parseTarNumber = parseTarNumber;\nmodule.exports.parseTarDateTime = parseTarDateTime;\n\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nfunction headerSize(file) {\n  // header has fixed size\n  return types.recordSize;\n}\n\nfunction dataSize(file) {\n  // align to record boundary\n  return Math.ceil(file.data.length / types.recordSize) * types.recordSize;\n}\n\nfunction allocateBuffer(files) {\n  var totalSize = 0;\n\n  // Calculate space that will be used by each file\n  files.forEach(function(file) {\n    totalSize += headerSize(file) + dataSize(file);\n  });\n\n  // TAR must end with two empty records\n  totalSize += types.recordSize * 2;\n\n  // Array SHOULD be initialized with zeros:\n  // from TypedArray constructor docs:\n  // > When creating a TypedArray instance (i.e. instance of Int8Array\n  // > or similar), an array buffer is created internally\n  // from ArrayBuffer constructor docs:\n  // > A new ArrayBuffer object of the specified size.\n  // > Its contents are initialized to 0.\n  return new Uint8Array(totalSize);\n}\n\nfunction writeHeader(buffer, file, offset) {\n  offset = parseInt(offset) || 0;\n\n  var currentOffset = offset;\n  types.posixHeader.forEach(function(field) {\n    var value = field[3](file, field);\n    var length = value.length;\n    for (var i = 0; i < length; i += 1) {\n      buffer[currentOffset + i] = value.charCodeAt(i) & 0xFF;\n    }\n    currentOffset += field[1];  // move to the next field\n  });\n\n  var field = utils.find(types.posixHeader, function(field) {\n    return field[0] == 'checksum';\n  });\n\n  if (field) {\n    // Patch checksum field\n    var checksum = types.calculateChecksum(buffer, offset, true);\n    var value = types.formatTarNumber(checksum, field[1] - 2) +\n      constants.NULL_CHAR + ' ';\n    currentOffset = offset + field[2];\n    for (var i = 0; i < value.length; i += 1) {\n      // put bytes\n      buffer[currentOffset] = value.charCodeAt(i) & 0xFF;\n      currentOffset++;\n    }\n  }\n\n  return offset + headerSize(file);\n}\n\nfunction writeData(buffer, file, offset) {\n  offset = parseInt(offset, 10) || 0;\n  buffer.set(file.data, offset);\n  return offset + dataSize(file);\n}\n\nfunction tar(files) {\n  files = utils.map(files, function(file) {\n    return utils.extend({}, file, {\n      data: utils.toUint8Array(file.data)\n    });\n  });\n\n  var buffer = allocateBuffer(files);\n\n  var offset = 0;\n  files.forEach(function(file) {\n    offset = writeHeader(buffer, file, offset);\n    offset = writeData(buffer, file, offset);\n  });\n\n  return buffer;\n}\n\nmodule.exports.tar = tar;\n","'use strict';\n\nvar constants = require('./constants');\nvar utils = require('./utils');\nvar types = require('./types');\n\nvar defaultOptions = {\n  extractData: true,\n  checkHeader: true,\n  checkChecksum: true,\n  checkFileSize: true\n};\n\nvar excludeFields = {\n  size: true,\n  checksum: true,\n  ustar: true\n};\n\nvar messages = {\n  unexpectedEndOfFile: 'Unexpected end of file.',\n  fileCorrupted: 'File is corrupted.',\n  checksumCheckFailed: 'Checksum check failed.'\n};\n\nfunction headerSize(header) {\n  // header has fixed size\n  return types.recordSize;\n}\n\nfunction dataSize(size) {\n  // align to record boundary\n  return Math.ceil(size / types.recordSize) * types.recordSize;\n}\n\nfunction isEndOfFile(buffer, offset) {\n  var from = offset;\n  var to = Math.min(buffer.length, offset + types.recordSize * 2);\n  for (var i = from; i < to; i++) {\n    if (buffer[i] != 0) {\n      return false;\n    }\n  }\n  return true;\n}\n\nfunction readHeader(buffer, offset, options) {\n  if (buffer.length - offset < types.recordSize) {\n    if (options.checkFileSize) {\n      throw new Error(messages.unexpectedEndOfFile);\n    }\n    return null;\n  }\n\n  offset = parseInt(offset) || 0;\n\n  var result = {};\n  var currentOffset = offset;\n  types.posixHeader.forEach(function(field) {\n    result[field[0]] = field[4](buffer, currentOffset, field);\n    currentOffset += field[1];\n  });\n\n  if (result.type != 0) {  // only regular files can have data\n    result.size = 0;\n  }\n\n  if (options.checkHeader) {\n    types.posixHeader.forEach(function(field) {\n      if (utils.isFunction(field[5]) && !field[5](result, field)) {\n        var error = new Error(messages.fileCorrupted);\n        error.data = {\n          offset: offset + field[2],\n          field: field[0]\n        };\n        throw error;\n      }\n    });\n  }\n\n  if (options.checkChecksum) {\n    var checksum = types.calculateChecksum(buffer, offset, true);\n    if (checksum != result.checksum) {\n      var error = new Error(messages.checksumCheckFailed);\n      error.data = {\n        offset: offset,\n        header: result,\n        checksum: checksum\n      };\n      throw error;\n    }\n  }\n\n  return result;\n}\n\nfunction readData(buffer, offset, header, options) {\n  if (!options.extractData) {\n    return null;\n  }\n\n  if (header.size <= 0) {\n    return new Uint8Array();\n  }\n  return buffer.slice(offset, offset + header.size);\n}\n\nfunction createFile(header, data) {\n  var result = {};\n  types.posixHeader.forEach(function(field) {\n    var name = field[0];\n    if (!excludeFields[name]) {\n      result[name] = header[name];\n    }\n  });\n\n  result.isOldGNUFormat = header.ustar == constants.OLDGNU_MAGIC;\n\n  if (data) {\n    result.data = data;\n  }\n\n  return result;\n}\n\nfunction untar(buffer, options) {\n  options = utils.extend({}, defaultOptions, options);\n\n  var result = [];\n  var offset = 0;\n  var size = buffer.length;\n\n  while (size - offset >= types.recordSize) {\n    buffer = utils.toUint8Array(buffer);\n    var header = readHeader(buffer, offset, options);\n    if (!header) {\n      break;\n    }\n    offset += headerSize(header);\n\n    var data = readData(buffer, offset, header, options);\n    result.push(createFile(header, data));\n    offset += dataSize(header.size);\n\n    if (isEndOfFile(buffer, offset)) {\n      break;\n    }\n  }\n\n  return result;\n}\n\nmodule.exports.untar = untar;\n","'use strict';\n\n// http://www.gnu.org/software/tar/manual/html_node/Standard.html\n\nvar utils = require('./lib/utils');\nvar constants = require('./lib/constants');\nvar tar = require('./lib/tar');\nvar untar = require('./lib/untar');\n\nutils.extend(module.exports, tar, untar, constants);\n","import { BaseFilesystem, ERRNO_CODES, type FsStats } from './base.js'\nimport type { PostgresMod } from '../postgresMod.js'\nimport { PGlite } from '../pglite.js'\n\nexport interface OpfsAhpOptions {\n  initialPoolSize?: number\n  maintainedPoolSize?: number\n  debug?: boolean\n}\n\n// TypeScript doesn't have a built-in type for FileSystemSyncAccessHandle\nexport interface FileSystemSyncAccessHandle {\n  close(): void\n  flush(): void\n  getSize(): number\n  read(buffer: ArrayBuffer, options: { at: number }): number\n  truncate(newSize: number): void\n  write(buffer: ArrayBuffer, options: { at: number }): number\n}\n\n// State\n\nconst STATE_FILE = 'state.txt'\nconst DATA_DIR = 'data'\nconst INITIAL_MODE = {\n  DIR: 16384,\n  FILE: 32768,\n}\n\nexport interface State {\n  root: DirectoryNode\n  pool: PoolFilenames\n}\n\nexport type PoolFilenames = Array<string>\n\n// WAL\n\nexport interface WALEntry {\n  opp: string\n  args: any[]\n}\n\n// Node tree\n\nexport type NodeType = 'file' | 'directory'\n\ninterface BaseNode {\n  type: NodeType\n  lastModified: number\n  mode: number\n}\n\nexport interface FileNode extends BaseNode {\n  type: 'file'\n  backingFilename: string\n}\n\nexport interface DirectoryNode extends BaseNode {\n  type: 'directory'\n  children: { [filename: string]: Node }\n}\n\nexport type Node = FileNode | DirectoryNode\n\n/**\n * PGlite OPFS access handle pool filesystem.\n * Opens a pool of sync access handles and then allocates them as needed.\n */\nexport class OpfsAhpFS extends BaseFilesystem {\n  declare readonly dataDir: string\n  readonly initialPoolSize: number\n  readonly maintainedPoolSize: number\n\n  #opfsRootAh!: FileSystemDirectoryHandle\n  #rootAh!: FileSystemDirectoryHandle\n  #dataDirAh!: FileSystemDirectoryHandle\n\n  #stateFH!: FileSystemFileHandle\n  #stateSH!: FileSystemSyncAccessHandle\n\n  #fh: Map<string, FileSystemFileHandle> = new Map()\n  #sh: Map<string, FileSystemSyncAccessHandle> = new Map()\n\n  #handleIdCounter = 0\n  #openHandlePaths: Map<number, string> = new Map()\n  #openHandleIds: Map<string, number> = new Map()\n\n  state!: State\n  lastCheckpoint = 0\n  checkpointInterval = 1000 * 60 // 1 minute\n  poolCounter = 0\n\n  #unsyncedSH = new Set<FileSystemSyncAccessHandle>()\n\n  constructor(\n    dataDir: string,\n    {\n      initialPoolSize = 1000,\n      maintainedPoolSize = 100,\n      debug = false,\n    }: OpfsAhpOptions = {},\n  ) {\n    super(dataDir, { debug })\n    this.initialPoolSize = initialPoolSize\n    this.maintainedPoolSize = maintainedPoolSize\n  }\n\n  async init(pg: PGlite, opts: Partial<PostgresMod>) {\n    await this.#init()\n    return super.init(pg, opts)\n  }\n\n  async syncToFs(relaxedDurability = false) {\n    await this.maybeCheckpointState()\n    await this.maintainPool()\n    if (!relaxedDurability) {\n      this.flush()\n    }\n  }\n\n  async closeFs(): Promise<void> {\n    for (const sh of this.#sh.values()) {\n      sh.close()\n    }\n    this.#stateSH.flush()\n    this.#stateSH.close()\n    this.pg!.Module.FS.quit()\n  }\n\n  async #init() {\n    this.#opfsRootAh = await navigator.storage.getDirectory()\n    this.#rootAh = await this.#resolveOpfsDirectory(this.dataDir!, {\n      create: true,\n    })\n    this.#dataDirAh = await this.#resolveOpfsDirectory(DATA_DIR, {\n      from: this.#rootAh,\n      create: true,\n    })\n\n    this.#stateFH = await this.#rootAh.getFileHandle(STATE_FILE, {\n      create: true,\n    })\n    this.#stateSH = await (this.#stateFH as any).createSyncAccessHandle()\n\n    const stateAB = new ArrayBuffer(this.#stateSH.getSize())\n    this.#stateSH.read(stateAB, { at: 0 })\n    let state: State\n    const stateLines = new TextDecoder().decode(stateAB).split('\\n')\n    // Line 1 is a base state object.\n    // Lines 1+n are WAL entries.\n\n    let isNewState = false\n    try {\n      state = JSON.parse(stateLines[0])\n    } catch (e) {\n      state = {\n        root: {\n          type: 'directory',\n          lastModified: Date.now(),\n          mode: INITIAL_MODE.DIR,\n          children: {},\n        },\n        pool: [],\n      }\n      // write new state to file\n      this.#stateSH.truncate(0)\n      this.#stateSH.write(new TextEncoder().encode(JSON.stringify(state)), {\n        at: 0,\n      })\n      isNewState = true\n    }\n    this.state = state\n\n    // Apply WAL entries\n    const wal = stateLines\n      .slice(1)\n      .filter(Boolean)\n      .map((line) => JSON.parse(line))\n    for (const entry of wal) {\n      const methodName = `_${entry.opp}State`\n      if (typeof this[methodName as keyof this] === 'function') {\n        try {\n          const method = this[methodName as keyof this] as any\n          method.bind(this)(...entry.args)\n        } catch (e) {\n          console.warn('Error applying OPFS AHP WAL entry', entry, e)\n        }\n      }\n    }\n\n    // Open all file handles for dir tree\n    const walkPromises: Promise<void>[] = []\n    const walk = async (node: Node) => {\n      if (node.type === 'file') {\n        try {\n          const fh = await this.#dataDirAh.getFileHandle(node.backingFilename)\n          const sh: FileSystemSyncAccessHandle = await (\n            fh as any\n          ).createSyncAccessHandle()\n          this.#fh.set(node.backingFilename, fh)\n\n          this.#sh.set(node.backingFilename, sh)\n        } catch (e) {\n          console.error('Error opening file handle for node', node, e)\n        }\n      } else {\n        for (const child of Object.values(node.children)) {\n          walkPromises.push(walk(child))\n        }\n      }\n    }\n    await walk(this.state.root)\n\n    // Open all pool file handles\n    const poolPromises: Promise<void>[] = []\n    for (const filename of this.state.pool) {\n      poolPromises.push(\n        // eslint-disable-next-line no-async-promise-executor\n        new Promise<void>(async (resolve) => {\n          if (this.#fh.has(filename)) {\n            console.warn('File handle already exists for pool file', filename)\n          }\n          const fh = await this.#dataDirAh.getFileHandle(filename)\n          const sh: FileSystemSyncAccessHandle = await (\n            fh as any\n          ).createSyncAccessHandle()\n          this.#fh.set(filename, fh)\n          this.#sh.set(filename, sh)\n          resolve()\n        }),\n      )\n    }\n\n    await Promise.all([...walkPromises, ...poolPromises])\n\n    await this.maintainPool(\n      isNewState ? this.initialPoolSize : this.maintainedPoolSize,\n    )\n  }\n\n  async maintainPool(size?: number) {\n    size = size || this.maintainedPoolSize\n    const change = size - this.state.pool.length\n    const promises: Promise<void>[] = []\n    for (let i = 0; i < change; i++) {\n      promises.push(\n        // eslint-disable-next-line no-async-promise-executor\n        new Promise<void>(async (resolve) => {\n          ++this.poolCounter\n          const filename = `${(Date.now() - 1704063600).toString(16).padStart(8, '0')}-${this.poolCounter.toString(16).padStart(8, '0')}`\n          const fh = await this.#dataDirAh.getFileHandle(filename, {\n            create: true,\n          })\n          const sh: FileSystemSyncAccessHandle = await (\n            fh as any\n          ).createSyncAccessHandle()\n          this.#fh.set(filename, fh)\n          this.#sh.set(filename, sh)\n          this.#logWAL({\n            opp: 'createPoolFile',\n            args: [filename],\n          })\n          this.state.pool.push(filename)\n          resolve()\n        }),\n      )\n    }\n    for (let i = 0; i > change; i--) {\n      promises.push(\n        // eslint-disable-next-line no-async-promise-executor\n        new Promise<void>(async (resolve) => {\n          const filename = this.state.pool.pop()!\n          this.#logWAL({\n            opp: 'deletePoolFile',\n            args: [filename],\n          })\n          const fh = this.#fh.get(filename)!\n          const sh = this.#sh.get(filename)\n          sh?.close()\n          await this.#dataDirAh.removeEntry(fh.name)\n          this.#fh.delete(filename)\n          this.#sh.delete(filename)\n          resolve()\n        }),\n      )\n    }\n    await Promise.all(promises)\n  }\n\n  _createPoolFileState(filename: string) {\n    this.state.pool.push(filename)\n  }\n\n  _deletePoolFileState(filename: string) {\n    const index = this.state.pool.indexOf(filename)\n    if (index > -1) {\n      this.state.pool.splice(index, 1)\n    }\n  }\n\n  async maybeCheckpointState() {\n    if (Date.now() - this.lastCheckpoint > this.checkpointInterval) {\n      await this.checkpointState()\n    }\n  }\n\n  async checkpointState() {\n    const stateAB = new TextEncoder().encode(JSON.stringify(this.state))\n    this.#stateSH.truncate(0)\n    this.#stateSH.write(stateAB, { at: 0 })\n    this.#stateSH.flush()\n    this.lastCheckpoint = Date.now()\n  }\n\n  flush() {\n    for (const sh of this.#unsyncedSH) {\n      try {\n        sh.flush()\n      } catch (e) {\n        // The file may have been closed if it was deleted\n      }\n    }\n    this.#unsyncedSH.clear()\n  }\n\n  // Filesystem API:\n\n  chmod(path: string, mode: number): void {\n    this.#tryWithWAL({ opp: 'chmod', args: [path, mode] }, () => {\n      this._chmodState(path, mode)\n    })\n  }\n\n  _chmodState(path: string, mode: number): void {\n    const node = this.#resolvePath(path)\n    node.mode = mode\n  }\n\n  close(fd: number): void {\n    const path = this.#getPathFromFd(fd)\n    this.#openHandlePaths.delete(fd)\n    this.#openHandleIds.delete(path)\n  }\n\n  fstat(fd: number): FsStats {\n    const path = this.#getPathFromFd(fd)\n    return this.lstat(path)\n  }\n\n  lstat(path: string): FsStats {\n    const node = this.#resolvePath(path)\n    const size =\n      node.type === 'file' ? this.#sh.get(node.backingFilename)!.getSize() : 0\n    const blksize = 4096\n    return {\n      dev: 0,\n      ino: 0,\n      mode: node.mode,\n      nlink: 1,\n      uid: 0,\n      gid: 0,\n      rdev: 0,\n      size,\n      blksize,\n      blocks: Math.ceil(size / blksize),\n      atime: node.lastModified,\n      mtime: node.lastModified,\n      ctime: node.lastModified,\n    }\n  }\n\n  mkdir(path: string, options?: { recursive?: boolean; mode?: number }): void {\n    this.#tryWithWAL({ opp: 'mkdir', args: [path, options] }, () => {\n      this._mkdirState(path, options)\n    })\n  }\n\n  _mkdirState(\n    path: string,\n    options?: { recursive?: boolean; mode?: number },\n  ): void {\n    const parts = this.#pathParts(path)\n    const newDirName = parts.pop()!\n    const currentPath: string[] = []\n    let node = this.state.root\n    for (const part of parts) {\n      currentPath.push(path)\n      if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n        if (options?.recursive) {\n          this.mkdir(currentPath.join('/'))\n        } else {\n          throw new FsError('ENOENT', 'No such file or directory')\n        }\n      }\n      if (node.children[part].type !== 'directory') {\n        throw new FsError('ENOTDIR', 'Not a directory')\n      }\n      node = node.children[part] as DirectoryNode\n    }\n    if (Object.prototype.hasOwnProperty.call(node.children, newDirName)) {\n      throw new FsError('EEXIST', 'File exists')\n    }\n    const newDir: DirectoryNode = {\n      type: 'directory',\n      lastModified: Date.now(),\n      mode: options?.mode || INITIAL_MODE.DIR,\n      children: {},\n    }\n    node.children[newDirName] = newDir\n  }\n\n  open(path: string, _flags?: string, _mode?: number): number {\n    const node = this.#resolvePath(path)\n    if (node.type !== 'file') {\n      throw new FsError('EISDIR', 'Is a directory')\n    }\n    const handleId = this.#nextHandleId()\n    this.#openHandlePaths.set(handleId, path)\n    this.#openHandleIds.set(path, handleId)\n    return handleId\n  }\n\n  readdir(path: string): string[] {\n    const node = this.#resolvePath(path)\n    if (node.type !== 'directory') {\n      throw new FsError('ENOTDIR', 'Not a directory')\n    }\n    return Object.keys(node.children)\n  }\n\n  read(\n    fd: number,\n    buffer: Uint8Array, // Buffer to read into\n    offset: number, // Offset in buffer to start writing to\n    length: number, // Number of bytes to read\n    position: number, // Position in file to read from\n  ): number {\n    const path = this.#getPathFromFd(fd)\n    const node = this.#resolvePath(path)\n    if (node.type !== 'file') {\n      throw new FsError('EISDIR', 'Is a directory')\n    }\n    const sh = this.#sh.get(node.backingFilename)!\n    return sh.read(new Uint8Array(buffer.buffer, offset, length), {\n      at: position,\n    })\n  }\n\n  rename(oldPath: string, newPath: string): void {\n    this.#tryWithWAL({ opp: 'rename', args: [oldPath, newPath] }, () => {\n      this._renameState(oldPath, newPath, true)\n    })\n  }\n\n  _renameState(oldPath: string, newPath: string, doFileOps = false): void {\n    const oldPathParts = this.#pathParts(oldPath)\n    const oldFilename = oldPathParts.pop()!\n    const oldParent = this.#resolvePath(oldPathParts.join('/')) as DirectoryNode\n    if (\n      !Object.prototype.hasOwnProperty.call(oldParent.children, oldFilename)\n    ) {\n      throw new FsError('ENOENT', 'No such file or directory')\n    }\n    const newPathParts = this.#pathParts(newPath)\n    const newFilename = newPathParts.pop()!\n    const newParent = this.#resolvePath(newPathParts.join('/')) as DirectoryNode\n    if (\n      doFileOps &&\n      Object.prototype.hasOwnProperty.call(newParent.children, newFilename)\n    ) {\n      // Overwrite, so return the underlying file to the pool\n      const node = newParent.children[newFilename]! as FileNode\n      const sh = this.#sh.get(node.backingFilename)!\n      sh.truncate(0)\n      this.state.pool.push(node.backingFilename)\n    }\n    newParent.children[newFilename] = oldParent.children[oldFilename]!\n    delete oldParent.children[oldFilename]\n  }\n\n  rmdir(path: string): void {\n    this.#tryWithWAL({ opp: 'rmdir', args: [path] }, () => {\n      this._rmdirState(path)\n    })\n  }\n\n  _rmdirState(path: string): void {\n    const pathParts = this.#pathParts(path)\n    const dirName = pathParts.pop()!\n    const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n    if (!Object.prototype.hasOwnProperty.call(parent.children, dirName)) {\n      throw new FsError('ENOENT', 'No such file or directory')\n    }\n    const node = parent.children[dirName]!\n    if (node.type !== 'directory') {\n      throw new FsError('ENOTDIR', 'Not a directory')\n    }\n    if (Object.keys(node.children).length > 0) {\n      throw new FsError('ENOTEMPTY', 'Directory not empty')\n    }\n    delete parent.children[dirName]\n  }\n\n  truncate(path: string, len = 0): void {\n    const node = this.#resolvePath(path)\n    if (node.type !== 'file') {\n      throw new FsError('EISDIR', 'Is a directory')\n    }\n    const sh = this.#sh.get(node.backingFilename)\n    if (!sh) {\n      throw new FsError('ENOENT', 'No such file or directory')\n    }\n    sh.truncate(len)\n    this.#unsyncedSH.add(sh)\n  }\n\n  unlink(path: string): void {\n    this.#tryWithWAL({ opp: 'unlink', args: [path] }, () => {\n      this._unlinkState(path, true)\n    })\n  }\n\n  _unlinkState(path: string, doFileOps = false): void {\n    const pathParts = this.#pathParts(path)\n    const filename = pathParts.pop()!\n    const dir = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n    if (!Object.prototype.hasOwnProperty.call(dir.children, filename)) {\n      throw new FsError('ENOENT', 'No such file or directory')\n    }\n    const node = dir.children[filename]!\n    if (node.type !== 'file') {\n      throw new FsError('EISDIR', 'Is a directory')\n    }\n    delete dir.children[filename]\n    if (doFileOps) {\n      const sh = this.#sh.get(node.backingFilename)!\n      // We don't delete the file, it's truncated and returned to the pool\n      sh?.truncate(0)\n      this.#unsyncedSH.add(sh)\n      if (this.#openHandleIds.has(path)) {\n        this.#openHandlePaths.delete(this.#openHandleIds.get(path)!)\n        this.#openHandleIds.delete(path)\n      }\n    }\n    this.state.pool.push(node.backingFilename)\n  }\n\n  utimes(path: string, atime: number, mtime: number): void {\n    this.#tryWithWAL({ opp: 'utimes', args: [path, atime, mtime] }, () => {\n      this._utimesState(path, atime, mtime)\n    })\n  }\n\n  _utimesState(path: string, _atime: number, mtime: number): void {\n    const node = this.#resolvePath(path)\n    node.lastModified = mtime\n  }\n\n  writeFile(\n    path: string,\n    data: string | Uint8Array,\n    options?: { encoding?: string; mode?: number; flag?: string },\n  ): void {\n    const pathParts = this.#pathParts(path)\n    const filename = pathParts.pop()!\n    const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n\n    if (!Object.prototype.hasOwnProperty.call(parent.children, filename)) {\n      if (this.state.pool.length === 0) {\n        throw new Error('No more file handles available in the pool')\n      }\n      const node: Node = {\n        type: 'file',\n        lastModified: Date.now(),\n        mode: options?.mode || INITIAL_MODE.FILE,\n        backingFilename: this.state.pool.pop()!,\n      }\n      parent.children[filename] = node\n      this.#logWAL({\n        opp: 'createFileNode',\n        args: [path, node],\n      })\n    } else {\n      const node = parent.children[filename] as FileNode\n      node.lastModified = Date.now()\n      this.#logWAL({\n        opp: 'setLastModified',\n        args: [path, node.lastModified],\n      })\n    }\n    const node = parent.children[filename] as FileNode\n    const sh = this.#sh.get(node.backingFilename)!\n    // Files in pool are empty, only write if data is provided\n    if (data.length > 0) {\n      sh.write(\n        typeof data === 'string'\n          ? new TextEncoder().encode(data)\n          : new Uint8Array(data),\n        { at: 0 },\n      )\n      if (path.startsWith('/pg_wal')) {\n        this.#unsyncedSH.add(sh)\n      }\n    }\n  }\n\n  _createFileNodeState(path: string, node: FileNode): FileNode {\n    const pathParts = this.#pathParts(path)\n    const filename = pathParts.pop()!\n    const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n    parent.children[filename] = node\n    // remove backingFilename from pool\n    const index = this.state.pool.indexOf(node.backingFilename)\n    if (index > -1) {\n      this.state.pool.splice(index, 1)\n    }\n    return node\n  }\n\n  _setLastModifiedState(path: string, lastModified: number): void {\n    const node = this.#resolvePath(path)\n    node.lastModified = lastModified\n  }\n\n  write(\n    fd: number,\n    buffer: Uint8Array, // Buffer to read from\n    offset: number, // Offset in buffer to start reading from\n    length: number, // Number of bytes to write\n    position: number, // Position in file to write to\n  ): number {\n    const path = this.#getPathFromFd(fd)\n    const node = this.#resolvePath(path)\n    if (node.type !== 'file') {\n      throw new FsError('EISDIR', 'Is a directory')\n    }\n    const sh = this.#sh.get(node.backingFilename)\n    if (!sh) {\n      throw new FsError('EBADF', 'Bad file descriptor')\n    }\n    const ret = sh.write(new Uint8Array(buffer, offset, length), {\n      at: position,\n    })\n    if (path.startsWith('/pg_wal')) {\n      this.#unsyncedSH.add(sh)\n    }\n    return ret\n  }\n\n  // Internal methods:\n\n  #tryWithWAL(entry: WALEntry, fn: () => void) {\n    const offset = this.#logWAL(entry)\n    try {\n      fn()\n    } catch (e) {\n      // Rollback WAL entry\n      this.#stateSH.truncate(offset)\n      throw e\n    }\n  }\n\n  #logWAL(entry: WALEntry) {\n    const entryJSON = JSON.stringify(entry)\n    const stateAB = new TextEncoder().encode(`\\n${entryJSON}`)\n    const offset = this.#stateSH.getSize()\n    this.#stateSH.write(stateAB, { at: offset })\n    this.#unsyncedSH.add(this.#stateSH)\n    return offset\n  }\n\n  #pathParts(path: string): string[] {\n    return path.split('/').filter(Boolean)\n  }\n\n  #resolvePath(path: string, from?: DirectoryNode): Node {\n    const parts = this.#pathParts(path)\n    let node: Node = from || this.state.root\n    for (const part of parts) {\n      if (node.type !== 'directory') {\n        throw new FsError('ENOTDIR', 'Not a directory')\n      }\n      if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n        throw new FsError('ENOENT', 'No such file or directory')\n      }\n      node = node.children[part]!\n    }\n    return node\n  }\n\n  #getPathFromFd(fd: number): string {\n    const path = this.#openHandlePaths.get(fd)\n    if (!path) {\n      throw new FsError('EBADF', 'Bad file descriptor')\n    }\n    return path\n  }\n\n  #nextHandleId(): number {\n    const id = ++this.#handleIdCounter\n    while (this.#openHandlePaths.has(id)) {\n      this.#handleIdCounter++\n    }\n    return id\n  }\n\n  async #resolveOpfsDirectory(\n    path: string,\n    options?: {\n      from?: FileSystemDirectoryHandle\n      create?: boolean\n    },\n  ): Promise<FileSystemDirectoryHandle> {\n    const parts = this.#pathParts(path)\n    let ah = options?.from || this.#opfsRootAh\n    for (const part of parts) {\n      ah = await ah.getDirectoryHandle(part, { create: options?.create })\n    }\n    return ah\n  }\n}\n\nclass FsError extends Error {\n  code?: number\n  constructor(code: number | keyof typeof ERRNO_CODES | null, message: string) {\n    super(message)\n    if (typeof code === 'number') {\n      this.code = code\n    } else if (typeof code === 'string') {\n      this.code = ERRNO_CODES[code]\n    }\n  }\n}\n","import type { PostgresMod } from '../postgresMod.js'\nimport type { PGlite } from '../pglite.js'\nimport { dumpTar, type DumpTarCompressionOptions } from './tarUtils.js'\nimport { PGDATA } from '../initdb.js'\n\nexport const WASM_PREFIX = '/pglite'\n\nexport type FsType = 'nodefs' | 'idbfs' | 'memoryfs' | 'opfs-ahp'\n\n/**\n * Filesystem interface.\n * All virtual filesystems that are compatible with PGlite must implement\n * this interface.\n */\nexport interface Filesystem {\n  /**\n   * Initiate the filesystem and return the options to pass to the emscripten module.\n   */\n  init(\n    pg: PGlite,\n    emscriptenOptions: Partial<PostgresMod>,\n  ): Promise<{ emscriptenOpts: Partial<PostgresMod> }>\n\n  /**\n   * Sync the filesystem to any underlying storage.\n   */\n  syncToFs(relaxedDurability?: boolean): Promise<void>\n\n  /**\n   * Sync the filesystem from any underlying storage.\n   */\n  initialSyncFs(): Promise<void>\n\n  /**\n   * Dump the PGDATA dir from the filesystem to a gzipped tarball.\n   */\n  dumpTar(\n    dbname: string,\n    compression?: DumpTarCompressionOptions,\n  ): Promise<File | Blob>\n\n  /**\n   * Close the filesystem.\n   */\n  closeFs(): Promise<void>\n}\n\n/**\n * Base class for all emscripten built-in filesystems.\n */\nexport class EmscriptenBuiltinFilesystem implements Filesystem {\n  protected dataDir?: string\n  protected pg?: PGlite\n\n  constructor(dataDir?: string) {\n    this.dataDir = dataDir\n  }\n\n  async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n    this.pg = pg\n    return { emscriptenOpts: emscriptenOptions }\n  }\n\n  async syncToFs(_relaxedDurability?: boolean) {}\n\n  async initialSyncFs() {}\n\n  async closeFs() {}\n\n  async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n    return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n  }\n}\n\n/**\n * Abstract base class for all custom virtual filesystems.\n * Each custom filesystem needs to implement an interface similar to the NodeJS FS API.\n */\nexport abstract class BaseFilesystem implements Filesystem {\n  protected dataDir?: string\n  protected pg?: PGlite\n  readonly debug: boolean\n\n  constructor(dataDir?: string, { debug = false }: { debug?: boolean } = {}) {\n    this.dataDir = dataDir\n    this.debug = debug\n  }\n\n  async syncToFs(_relaxedDurability?: boolean) {}\n\n  async initialSyncFs() {}\n\n  async closeFs() {}\n\n  async dumpTar(dbname: string, compression?: DumpTarCompressionOptions) {\n    return dumpTar(this.pg!.Module.FS, PGDATA, dbname, compression)\n  }\n\n  async init(pg: PGlite, emscriptenOptions: Partial<PostgresMod>) {\n    this.pg = pg\n    const options: Partial<PostgresMod> = {\n      ...emscriptenOptions,\n      preRun: [\n        ...(emscriptenOptions.preRun || []),\n        (mod: PostgresMod) => {\n          const EMFS = createEmscriptenFS(mod, this)\n          mod.FS.mkdir(PGDATA)\n          mod.FS.mount(EMFS, {}, PGDATA)\n        },\n      ],\n    }\n    return { emscriptenOpts: options }\n  }\n\n  // Filesystem API\n\n  abstract chmod(path: string, mode: number): void\n  abstract close(fd: number): void\n  abstract fstat(fd: number): FsStats\n  abstract lstat(path: string): FsStats\n  abstract mkdir(\n    path: string,\n    options?: { recursive?: boolean; mode?: number },\n  ): void\n  abstract open(path: string, flags?: string, mode?: number): number\n  abstract readdir(path: string): string[]\n  abstract read(\n    fd: number,\n    buffer: Uint8Array, // Buffer to read into\n    offset: number, // Offset in buffer to start writing to\n    length: number, // Number of bytes to read\n    position: number, // Position in file to read from\n  ): number\n  abstract rename(oldPath: string, newPath: string): void\n  abstract rmdir(path: string): void\n  abstract truncate(\n    path: string,\n    len: number, // Length to truncate to - defaults to 0\n  ): void\n  abstract unlink(path: string): void\n  abstract utimes(path: string, atime: number, mtime: number): void\n  abstract writeFile(\n    path: string,\n    data: string | Uint8Array,\n    options?: { encoding?: string; mode?: number; flag?: string },\n  ): void\n  abstract write(\n    fd: number,\n    buffer: Uint8Array, // Buffer to read from\n    offset: number, // Offset in buffer to start reading from\n    length: number, // Number of bytes to write\n    position: number, // Position in file to write to\n  ): number\n}\n\nexport type FsStats = {\n  dev: number\n  ino: number\n  mode: number\n  nlink: number\n  uid: number\n  gid: number\n  rdev: number\n  size: number\n  blksize: number\n  blocks: number\n  atime: number\n  mtime: number\n  ctime: number\n}\n\ntype EmscriptenFileSystem = Emscripten.FileSystemType & {\n  createNode: (\n    parent: FSNode | null,\n    name: string,\n    mode: number,\n    dev?: any,\n  ) => FSNode\n  node_ops: FS.NodeOps\n  stream_ops: FS.StreamOps & {\n    dup: (stream: FSStream) => void\n    mmap: (\n      stream: FSStream,\n      length: number,\n      position: number,\n      prot: any,\n      flags: any,\n    ) => { ptr: number; allocated: boolean }\n    msync: (\n      stream: FSStream,\n      buffer: Uint8Array,\n      offset: number,\n      length: number,\n      mmapFlags: any,\n    ) => number\n  }\n} & { [key: string]: any }\n\ntype FSNode = FS.FSNode & {\n  node_ops: FS.NodeOps\n  stream_ops: FS.StreamOps\n}\n\ntype FSStream = FS.FSStream & {\n  node: FSNode\n  shared: {\n    refcount: number\n  }\n}\n\ntype FSMount = FS.Mount & {\n  opts: {\n    root: string\n  }\n}\n\ntype EmscriptenFS = PostgresMod['FS'] & {\n  createNode: (\n    parent: FSNode | null,\n    name: string,\n    mode: number,\n    dev?: any,\n  ) => FSNode\n}\n\nexport const ERRNO_CODES = {\n  EBADF: 8,\n  EBADFD: 127,\n  EEXIST: 20,\n  EINVAL: 28,\n  EISDIR: 31,\n  ENODEV: 43,\n  ENOENT: 44,\n  ENOTDIR: 54,\n  ENOTEMPTY: 55,\n} as const\n\n/**\n * Create an emscripten filesystem that uses the BaseFilesystem.\n * @param Module The emscripten module\n * @param baseFS The BaseFilesystem implementation\n * @returns The emscripten filesystem\n */\nconst createEmscriptenFS = (Module: PostgresMod, baseFS: BaseFilesystem) => {\n  const FS = Module.FS as EmscriptenFS\n  const log = baseFS.debug ? console.log : null\n  const EMFS = {\n    tryFSOperation<T>(f: () => T): T {\n      try {\n        return f()\n      } catch (e: any) {\n        if (!e.code) throw e\n        if (e.code === 'UNKNOWN') throw new FS.ErrnoError(ERRNO_CODES.EINVAL)\n        throw new FS.ErrnoError(e.code)\n      }\n    },\n    mount(_mount: FSMount): FSNode {\n      return EMFS.createNode(null, '/', 16384 | 511, 0)\n    },\n    syncfs(\n      _mount: FS.Mount,\n      _populate: any, // This has the wrong type in @types/emscripten\n      _done: (err?: number | null) => unknown,\n    ): void {\n      // noop\n    },\n    createNode(\n      parent: FSNode | null,\n      name: string,\n      mode: number,\n      _dev?: any,\n    ): FSNode {\n      if (!FS.isDir(mode) && !FS.isFile(mode)) {\n        throw new FS.ErrnoError(28)\n      }\n      const node = FS.createNode(parent, name, mode)\n      node.node_ops = EMFS.node_ops\n      node.stream_ops = EMFS.stream_ops\n      return node\n    },\n    getMode: function (path: string): number {\n      log?.('getMode', path)\n      return EMFS.tryFSOperation(() => {\n        const stats = baseFS.lstat(path)\n        return stats.mode\n      })\n    },\n    realPath: function (node: FSNode): string {\n      const parts: string[] = []\n      while (node.parent !== node) {\n        parts.push(node.name)\n        node = node.parent as FSNode\n      }\n      parts.push((node.mount as FSMount).opts.root)\n      parts.reverse()\n      return parts.join('/')\n    },\n    node_ops: {\n      getattr(node: FSNode): FS.Stats {\n        log?.('getattr', EMFS.realPath(node))\n        const path = EMFS.realPath(node)\n        return EMFS.tryFSOperation(() => {\n          const stats = baseFS.lstat(path)\n          return {\n            ...stats,\n            dev: 0,\n            ino: node.id,\n            nlink: 1,\n            rdev: node.rdev,\n            atime: new Date(stats.atime),\n            mtime: new Date(stats.mtime),\n            ctime: new Date(stats.ctime),\n          }\n        })\n      },\n      setattr(node: FSNode, attr: FS.Stats): void {\n        log?.('setattr', EMFS.realPath(node), attr)\n        const path = EMFS.realPath(node)\n        EMFS.tryFSOperation(() => {\n          if (attr.mode !== undefined) {\n            baseFS.chmod(path, attr.mode)\n          }\n          if (attr.size !== undefined) {\n            baseFS.truncate(path, attr.size)\n          }\n          if (attr.timestamp !== undefined) {\n            baseFS.utimes(path, attr.timestamp, attr.timestamp)\n          }\n          if (attr.size !== undefined) {\n            baseFS.truncate(path, attr.size)\n          }\n        })\n      },\n      lookup(parent: FSNode, name: string): FSNode {\n        log?.('lookup', EMFS.realPath(parent), name)\n        const path = [EMFS.realPath(parent), name].join('/')\n        const mode = EMFS.getMode(path)\n        return EMFS.createNode(parent, name, mode)\n      },\n      mknod(parent: FSNode, name: string, mode: number, dev: unknown): FSNode {\n        log?.('mknod', EMFS.realPath(parent), name, mode, dev)\n        const node = EMFS.createNode(parent, name, mode, dev)\n        // create the backing node for this in the fs root as well\n        const path = EMFS.realPath(node)\n        return EMFS.tryFSOperation(() => {\n          if (FS.isDir(node.mode)) {\n            baseFS.mkdir(path, { mode })\n          } else {\n            baseFS.writeFile(path, '', { mode })\n          }\n          return node\n        })\n      },\n      rename(oldNode: FSNode, newDir: FSNode, newName: string): void {\n        log?.('rename', EMFS.realPath(oldNode), EMFS.realPath(newDir), newName)\n        const oldPath = EMFS.realPath(oldNode)\n        const newPath = [EMFS.realPath(newDir), newName].join('/')\n        EMFS.tryFSOperation(() => {\n          baseFS.rename(oldPath, newPath)\n        })\n        oldNode.name = newName\n      },\n      unlink(parent: FSNode, name: string): void {\n        log?.('unlink', EMFS.realPath(parent), name)\n        const path = [EMFS.realPath(parent), name].join('/')\n        try {\n          baseFS.unlink(path)\n        } catch (e: any) {\n          // no-op\n        }\n      },\n      rmdir(parent: FSNode, name: string): void {\n        log?.('rmdir', EMFS.realPath(parent), name)\n        const path = [EMFS.realPath(parent), name].join('/')\n        return EMFS.tryFSOperation(() => {\n          baseFS.rmdir(path)\n        })\n      },\n      readdir(node: FSNode): string[] {\n        log?.('readdir', EMFS.realPath(node))\n        const path = EMFS.realPath(node)\n        return EMFS.tryFSOperation(() => {\n          return baseFS.readdir(path)\n        })\n      },\n      symlink(parent: FSNode, newName: string, oldPath: string): void {\n        log?.('symlink', EMFS.realPath(parent), newName, oldPath)\n        // This is not supported by EMFS\n        throw new FS.ErrnoError(63)\n      },\n      readlink(node: FSNode): string {\n        log?.('readlink', EMFS.realPath(node))\n        // This is not supported by EMFS\n        throw new FS.ErrnoError(63)\n      },\n    },\n    stream_ops: {\n      open(stream: FSStream): void {\n        log?.('open stream', EMFS.realPath(stream.node))\n        const path = EMFS.realPath(stream.node)\n        return EMFS.tryFSOperation(() => {\n          if (FS.isFile(stream.node.mode)) {\n            stream.shared.refcount = 1\n            stream.nfd = baseFS.open(path)\n          }\n        })\n      },\n      close(stream: FSStream): void {\n        log?.('close stream', EMFS.realPath(stream.node))\n        return EMFS.tryFSOperation(() => {\n          if (\n            FS.isFile(stream.node.mode) &&\n            stream.nfd &&\n            --stream.shared.refcount === 0\n          ) {\n            baseFS.close(stream.nfd)\n          }\n        })\n      },\n      dup(stream: FSStream) {\n        log?.('dup stream', EMFS.realPath(stream.node))\n        stream.shared.refcount++\n      },\n      read(\n        stream: FSStream, // Stream to read from\n        buffer: Uint8Array, // Buffer to read into - Wrong type in @types/emscripten\n        offset: number, // Offset in buffer to start writing to\n        length: number, // Number of bytes to read\n        position: number, // Position in file to read from\n      ): number {\n        log?.(\n          'read stream',\n          EMFS.realPath(stream.node),\n          offset,\n          length,\n          position,\n        )\n        if (length === 0) return 0\n        const ret = EMFS.tryFSOperation(() =>\n          baseFS.read(\n            stream.nfd!,\n            buffer as unknown as Uint8Array,\n            offset,\n            length,\n            position,\n          ),\n        )\n        return ret\n      },\n      write(\n        stream: FSStream, // Stream to write to\n        buffer: Uint8Array, // Buffer to read from - Wrong type in @types/emscripten\n        offset: number, // Offset in buffer to start writing from\n        length: number, // Number of bytes to write\n        position: number, // Position in file to write to\n      ): number {\n        log?.(\n          'write stream',\n          EMFS.realPath(stream.node),\n          offset,\n          length,\n          position,\n        )\n        return EMFS.tryFSOperation(() =>\n          baseFS.write(\n            stream.nfd!,\n            buffer.buffer as unknown as Uint8Array,\n            offset,\n            length,\n            position,\n          ),\n        )\n      },\n      llseek(stream: FSStream, offset: number, whence: number): number {\n        log?.('llseek stream', EMFS.realPath(stream.node), offset, whence)\n        let position = offset\n        if (whence === 1) {\n          position += stream.position\n        } else if (whence === 2) {\n          if (FS.isFile(stream.node.mode)) {\n            EMFS.tryFSOperation(() => {\n              const stat = baseFS.fstat(stream.nfd!)\n              position += stat.size\n            })\n          }\n        }\n        if (position < 0) {\n          throw new FS.ErrnoError(28)\n        }\n        return position\n      },\n      mmap(\n        stream: FSStream,\n        length: number,\n        position: number,\n        prot: any,\n        flags: any,\n      ) {\n        log?.(\n          'mmap stream',\n          EMFS.realPath(stream.node),\n          length,\n          position,\n          prot,\n          flags,\n        )\n        if (!FS.isFile(stream.node.mode)) {\n          throw new FS.ErrnoError(ERRNO_CODES.ENODEV)\n        }\n\n        const ptr = (Module as any).mmapAlloc(length) // TODO: Fix type and check this is exported\n\n        EMFS.stream_ops.read(\n          stream,\n          Module.HEAP8 as unknown as Uint8Array,\n          ptr,\n          length,\n          position,\n        )\n        return { ptr, allocated: true }\n      },\n      msync(\n        stream: FSStream,\n        buffer: Uint8Array,\n        offset: number,\n        length: number,\n        mmapFlags: any,\n      ) {\n        log?.(\n          'msync stream',\n          EMFS.realPath(stream.node),\n          offset,\n          length,\n          mmapFlags,\n        )\n        EMFS.stream_ops.write(stream, buffer, 0, length, offset)\n        return 0\n      },\n    },\n  } satisfies EmscriptenFileSystem\n  return EMFS\n}\n","import { tar, untar, type TarFile, REGTYPE, DIRTYPE } from 'tinytar'\nimport type { FS } from '../postgresMod.js'\n\nexport type DumpTarCompressionOptions = 'none' | 'gzip' | 'auto'\n\nexport async function dumpTar(\n  FS: FS,\n  pgDataDir: string,\n  dbname: string = 'pgdata',\n  compression: DumpTarCompressionOptions = 'auto',\n): Promise<File | Blob> {\n  const tarball = createTarball(FS, pgDataDir)\n  const [compressed, zipped] = await maybeZip(tarball, compression)\n  const filename = dbname + (zipped ? '.tar.gz' : '.tar')\n  const type = zipped ? 'application/x-gzip' : 'application/x-tar'\n  if (typeof File !== 'undefined') {\n    return new File([compressed], filename, {\n      type,\n    })\n  } else {\n    return new Blob([compressed], {\n      type,\n    })\n  }\n}\n\nconst compressedMimeTypes = [\n  'application/x-gtar',\n  'application/x-tar+gzip',\n  'application/x-gzip',\n  'application/gzip',\n]\n\nexport async function loadTar(\n  FS: FS,\n  file: File | Blob,\n  pgDataDir: string,\n): Promise<void> {\n  let tarball = new Uint8Array(await file.arrayBuffer())\n  const filename =\n    typeof File !== 'undefined' && file instanceof File ? file.name : undefined\n  const compressed =\n    compressedMimeTypes.includes(file.type) ||\n    filename?.endsWith('.tgz') ||\n    filename?.endsWith('.tar.gz')\n  if (compressed) {\n    tarball = await unzip(tarball)\n  }\n\n  let files\n  try {\n    files = untar(tarball)\n  } catch (e) {\n    if (e instanceof Error && e.message.includes('File is corrupted')) {\n      // The file may be compressed, but had the wrong mime type, try unzipping it\n      tarball = await unzip(tarball)\n      files = untar(tarball)\n    } else {\n      throw e\n    }\n  }\n\n  for (const file of files) {\n    const filePath = pgDataDir + file.name\n\n    // Ensure the directory structure exists\n    const dirPath = filePath.split('/').slice(0, -1)\n    for (let i = 1; i <= dirPath.length; i++) {\n      const dir = dirPath.slice(0, i).join('/')\n      if (!FS.analyzePath(dir).exists) {\n        FS.mkdir(dir)\n      }\n    }\n\n    // Write the file or directory\n    if (file.type === REGTYPE) {\n      FS.writeFile(filePath, file.data)\n      FS.utime(\n        filePath,\n        dateToUnixTimestamp(file.modifyTime),\n        dateToUnixTimestamp(file.modifyTime),\n      )\n    } else if (file.type === DIRTYPE) {\n      FS.mkdir(filePath)\n    }\n  }\n}\n\nfunction readDirectory(FS: FS, path: string) {\n  const files: TarFile[] = []\n\n  const traverseDirectory = (currentPath: string) => {\n    const entries = FS.readdir(currentPath)\n    entries.forEach((entry) => {\n      if (entry === '.' || entry === '..') {\n        return\n      }\n      const fullPath = currentPath + '/' + entry\n      const stats = FS.stat(fullPath)\n      const data = FS.isFile(stats.mode)\n        ? FS.readFile(fullPath, { encoding: 'binary' })\n        : new Uint8Array(0)\n      files.push({\n        name: fullPath.substring(path.length), // remove the root path\n        mode: stats.mode,\n        size: stats.size,\n        type: FS.isFile(stats.mode) ? REGTYPE : DIRTYPE,\n        modifyTime: stats.mtime,\n        data,\n      })\n      if (FS.isDir(stats.mode)) {\n        traverseDirectory(fullPath)\n      }\n    })\n  }\n\n  traverseDirectory(path)\n  return files\n}\n\nexport function createTarball(FS: FS, directoryPath: string) {\n  const files = readDirectory(FS, directoryPath)\n  const tarball = tar(files)\n  return tarball\n}\n\nexport async function maybeZip(\n  file: Uint8Array,\n  compression: DumpTarCompressionOptions = 'auto',\n): Promise<[Uint8Array, boolean]> {\n  if (compression === 'none') {\n    return [file, false]\n  } else if (typeof CompressionStream !== 'undefined') {\n    return [await zipBrowser(file), true]\n  } else if (\n    typeof process !== 'undefined' &&\n    process.versions &&\n    process.versions.node\n  ) {\n    return [await zipNode(file), true]\n  } else if (compression === 'auto') {\n    return [file, false]\n  } else {\n    throw new Error('Compression not supported in this environment')\n  }\n}\n\nexport async function zipBrowser(file: Uint8Array): Promise<Uint8Array> {\n  const cs = new CompressionStream('gzip')\n  const writer = cs.writable.getWriter()\n  const reader = cs.readable.getReader()\n\n  writer.write(file)\n  writer.close()\n\n  const chunks: Uint8Array[] = []\n\n  while (true) {\n    const { value, done } = await reader.read()\n    if (done) break\n    if (value) chunks.push(value)\n  }\n\n  const compressed = new Uint8Array(\n    chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n  )\n  let offset = 0\n  chunks.forEach((chunk) => {\n    compressed.set(chunk, offset)\n    offset += chunk.length\n  })\n\n  return compressed\n}\n\nexport async function zipNode(file: Uint8Array): Promise<Uint8Array> {\n  const { promisify } = await import('util')\n  const { gzip } = await import('zlib')\n  const gzipPromise = promisify(gzip)\n  return await gzipPromise(file)\n}\n\nexport async function unzip(file: Uint8Array): Promise<Uint8Array> {\n  if (typeof CompressionStream !== 'undefined') {\n    return await unzipBrowser(file)\n  } else if (\n    typeof process !== 'undefined' &&\n    process.versions &&\n    process.versions.node\n  ) {\n    return await unzipNode(file)\n  } else {\n    throw new Error('Unsupported environment for decompression')\n  }\n}\n\nexport async function unzipBrowser(file: Uint8Array): Promise<Uint8Array> {\n  const ds = new DecompressionStream('gzip')\n  const writer = ds.writable.getWriter()\n  const reader = ds.readable.getReader()\n\n  writer.write(file)\n  writer.close()\n\n  const chunks: Uint8Array[] = []\n\n  while (true) {\n    const { value, done } = await reader.read()\n    if (done) break\n    if (value) chunks.push(value)\n  }\n\n  const decompressed = new Uint8Array(\n    chunks.reduce((acc, chunk) => acc + chunk.length, 0),\n  )\n  let offset = 0\n  chunks.forEach((chunk) => {\n    decompressed.set(chunk, offset)\n    offset += chunk.length\n  })\n\n  return decompressed\n}\n\nexport async function unzipNode(file: Uint8Array): Promise<Uint8Array> {\n  const { promisify } = await import('util')\n  const { gunzip } = await import('zlib')\n  const gunzipPromise = promisify(gunzip)\n  return await gunzipPromise(file)\n}\n\nfunction dateToUnixTimestamp(date: Date | number | undefined): number {\n  if (!date) {\n    return Math.floor(Date.now() / 1000)\n  } else {\n    return typeof date === 'number' ? date : Math.floor(date.getTime() / 1000)\n  }\n}\n","import InitdbModFactory, { InitdbMod } from './initdbModFactory'\nimport parse from './argsParser'\nimport { pglUtils } from '@electric-sql/pglite-utils'\n\nfunction assert(condition: unknown, message?: string): asserts condition {\n  if (!condition) {\n    throw new Error(message ?? 'Assertion failed')\n  }\n}\n\nexport const PG_ROOT = '/pglite'\nexport const PGDATA = PG_ROOT + '/data'\n\nconst initdbExePath = PG_ROOT + '/bin/initdb'\nconst pgstdoutPath = PG_ROOT + '/pgstdout'\nconst pgstdinPath = PG_ROOT + '/pgstdin'\n\n/**\n * Interface defining what initdb needs from a PGlite instance.\n * This avoids a circular dependency between pglite and pglite-initdb.\n */\nexport interface PGliteForInitdb {\n  Module: {\n    HEAPU8: Uint8Array\n    stringToUTF8OnStack(str: string): number\n    _pgl_freopen(path: number, mode: number, fd: number): void\n    FS: any\n  }\n  callMain(args: string[]): number\n}\n\ninterface ExecResult {\n  exitCode: number\n  stderr: string\n  stdout: string\n  dataFolder: string\n}\n\nfunction log(debug?: number, ...args: any[]) {\n  if (debug && debug > 0) {\n    console.log('initdb: ', ...args)\n  }\n}\n\nasync function execInitdb({\n  pg,\n  debug,\n  args,\n  wasmModule,\n}: {\n  pg: PGliteForInitdb\n  debug?: number\n  args: string[]\n  wasmModule?: WebAssembly.Module\n}): Promise<ExecResult> {\n  let system_fn, popen_fn, pclose_fn\n\n  let needToCallPGmain = false\n  let postgresArgs: string[] = []\n\n  let pgMainResult = 0\n\n  let initdb_stdin_fd = -1\n  let initdb_stdout_fd = -1\n  let stderrOutput: string = ''\n  let stdoutOutput: string = ''\n\n  const callPgMain = (args: string[]) => {\n    const firstArg = args.shift()\n    log(debug, 'initdb: firstArg', firstArg)\n    assert(firstArg === '/pglite/bin/postgres', `trying to execute ${firstArg}`)\n\n    pg.Module.HEAPU8.set(origHEAPU8)\n\n    log(debug, 'executing pg main with', args)\n    const result = pg.callMain(args)\n\n    log(debug, result)\n\n    postgresArgs = []\n\n    return result\n  }\n\n  const origHEAPU8 = pg.Module.HEAPU8.slice()\n\n  const emscriptenOpts: Partial<InitdbMod> = {\n    arguments: args,\n    noExitRuntime: false,\n    thisProgram: initdbExePath,\n    // Provide a stdin that returns EOF to avoid browser prompt\n    stdin: () => null,\n    print: (text) => {\n      stdoutOutput += text\n      log(debug, 'initdbout', text)\n    },\n    printErr: (text) => {\n      stderrOutput += text\n      log(debug, 'initdberr', text)\n    },\n    instantiateWasm: (imports, successCallback) => {\n      const moduleUrl = new URL('../release/initdb.wasm', import.meta.url)\n      pglUtils\n        .instantiateWasm(imports, moduleUrl, wasmModule)\n        .then(({ instance, module }) => {\n          // @ts-ignore wrong type in Emscripten typings\n          successCallback(instance, module)\n        })\n      return {}\n    },\n    preRun: [\n      (mod: InitdbMod) => {\n        mod.ENV.PGDATA = PGDATA\n        mod.ENV.HOME = '/home/postgres'\n        mod.ENV.USER = 'postgres'\n        mod.ENV.LOGNAME = 'postgres'\n      },\n      (mod: InitdbMod) => {\n        mod.onRuntimeInitialized = () => {\n          system_fn = mod.addFunction((cmd_ptr: number) => {\n            postgresArgs = getArgs(mod.UTF8ToString(cmd_ptr))\n            return callPgMain(postgresArgs)\n          }, 'pi')\n\n          mod._pgl_set_system_fn(system_fn)\n\n          popen_fn = mod.addFunction((cmd_ptr: number, mode: number) => {\n            const smode = mod.UTF8ToString(mode)\n            postgresArgs = getArgs(mod.UTF8ToString(cmd_ptr))\n\n            if (smode === 'r') {\n              pgMainResult = callPgMain(postgresArgs)\n              return initdb_stdin_fd\n            } else {\n              if (smode === 'w') {\n                needToCallPGmain = true\n                return initdb_stdout_fd\n              } else {\n                throw `Unexpected popen mode value ${smode}`\n              }\n            }\n          }, 'ppi')\n\n          mod._pgl_set_popen_fn(popen_fn)\n\n          pclose_fn = mod.addFunction((stream: number) => {\n            if (stream === initdb_stdin_fd || stream === initdb_stdout_fd) {\n              // if the last popen had mode w, execute now postgres' main()\n              if (needToCallPGmain) {\n                needToCallPGmain = false\n                pgMainResult = callPgMain(postgresArgs)\n              }\n              return pgMainResult\n            } else {\n              return mod._pclose(stream)\n            }\n          }, 'pi')\n\n          mod._pgl_set_pclose_fn(pclose_fn)\n\n          {\n            const pglite_stdin_path = pg.Module.stringToUTF8OnStack(pgstdinPath)\n            const rmode = pg.Module.stringToUTF8OnStack('r')\n            pg.Module._pgl_freopen(pglite_stdin_path, rmode, 0)\n            const pglite_stdout_path =\n              pg.Module.stringToUTF8OnStack(pgstdoutPath)\n            const wmode = pg.Module.stringToUTF8OnStack('w')\n            pg.Module._pgl_freopen(pglite_stdout_path, wmode, 1)\n          }\n\n          {\n            const initdb_path = mod.stringToUTF8OnStack(pgstdoutPath)\n            const rmode = mod.stringToUTF8OnStack('r')\n            initdb_stdin_fd = mod._fopen(initdb_path, rmode)\n\n            const path = mod.stringToUTF8OnStack(pgstdinPath)\n            const wmode = mod.stringToUTF8OnStack('w')\n            initdb_stdout_fd = mod._fopen(path, wmode)\n          }\n        }\n      },\n      (mod: InitdbMod) => {\n        mod.FS.mkdir(PG_ROOT)\n        mod.FS.mount(\n          mod.PROXYFS,\n          {\n            root: PG_ROOT,\n            fs: pg.Module.FS,\n          },\n          PG_ROOT,\n        )\n      },\n    ],\n  }\n\n  const initDbMod = await InitdbModFactory(emscriptenOpts)\n\n  log(debug, 'calling initdb.main with', args)\n  const result = initDbMod.callMain(args)\n\n  return {\n    exitCode: result,\n    stderr: stderrOutput,\n    stdout: stdoutOutput,\n    dataFolder: PGDATA,\n  }\n}\n\ninterface InitdbOptions {\n  pg: PGliteForInitdb\n  debug?: number\n  args?: string[]\n  wasmModule?: WebAssembly.Module\n}\n\nfunction getArgs(cmd: string) {\n  const a: string[] = []\n  const parsed = parse(cmd)\n  for (let i = 0; i < parsed.length; i++) {\n    const token = parsed[i]\n    if (typeof token === 'object' && 'op' in token) break\n    if (typeof token === 'string') a.push(token)\n  }\n  return a\n}\n\n/**\n * Execute initdb\n */\nexport async function initdb({\n  pg,\n  debug,\n  args,\n  wasmModule,\n}: InitdbOptions): Promise<ExecResult> {\n  const execResult = await execInitdb({\n    pg,\n    debug,\n    args: [\n      '--allow-group-access',\n      '--encoding',\n      'UTF8',\n      '--locale=C.UTF-8',\n      '--locale-provider=libc',\n      '--auth=trust',\n      ...(args ?? []),\n    ],\n    wasmModule,\n  })\n\n  return execResult\n}\n","import InitdbModFactory from '../release/initdb'\n\ntype IDBFS = Emscripten.FileSystemType & {\n  quit: () => void\n  dbs: Record<string, IDBDatabase>\n}\n\nexport type FS = typeof FS & {\n  filesystems: {\n    MEMFS: Emscripten.FileSystemType\n    NODEFS: Emscripten.FileSystemType\n    IDBFS: IDBFS\n  }\n  quit: () => void\n}\n\nexport interface InitdbMod\n  extends Omit<EmscriptenModule, 'preInit' | 'preRun' | 'postRun'> {\n  preInit: Array<{ (mod: InitdbMod): void }>\n  preRun: Array<{ (mod: InitdbMod): void }>\n  postRun: Array<{ (mod: InitdbMod): void }>\n  thisProgram: string\n  stdin: (() => number | null) | null\n  ENV: Record<string, string>\n  FS: FS\n  PROXYFS: Emscripten.FileSystemType\n  WASM_PREFIX: string\n  INITIAL_MEMORY: number\n  UTF8ToString: (ptr: number, maxBytesToRead?: number) => string\n  stringToUTF8OnStack: (s: string) => number\n  ___errno_location: () => number\n  _strerror: (errno: number) => number\n  _pgl_set_rw_cbs: (read_cb: number, write_cb: number) => void\n  _pgl_set_system_fn: (system_fn: number) => void\n  _pgl_set_popen_fn: (popen_fn: number) => void\n  _pgl_set_pclose_fn: (pclose_fn: number) => void\n  _pgl_set_pipe_fn: (pipe_fn: number) => void\n  _pclose: (stream: number) => number\n  _pipe: (fd: number) => number\n  _pgl_freopen: (filepath: number, mode: number, stream: number) => number\n  // _pgl_set_fgets_fn: (fgets_fn: number) => void\n  // _pgl_set_fputs_fn: (fputs_fn: number) => void\n  // _pgl_set_errno: (errno: number) => number\n  // _fgets: (str: number, size: number, stream: number) => number\n  // _fputs: (s: number, stream: number) => number\n  _fopen: (path: number, mode: number) => number\n  _fclose: (stream: number) => number\n  _fflush: (stream: number) => number\n  addFunction: (fn: CallableFunction, signature: string) => number\n  removeFunction: (f: number) => void\n  callMain: (args: string[]) => number\n  onExit: (status: number) => void\n  print: (test: string) => void\n  printErr: (text: string) => void\n}\n\ntype PgDumpFactory<T extends InitdbMod = InitdbMod> = (\n  moduleOverrides?: Partial<T>,\n) => Promise<T>\n\nexport default InitdbModFactory as PgDumpFactory<InitdbMod>\n","\nvar Module = (() => {\n  var _scriptName = import.meta.url;\n  \n  return (\nasync function(moduleArg = {}) {\n  var moduleRtn;\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!=\"undefined\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\"&&process.type!=\"renderer\";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import(\"module\");let dirname=import.meta.url;if(dirname.startsWith(\"data:\")){dirname=\"/\"}var require=createRequire(dirname)}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var nodePath=require(\"path\");if(!import.meta.url.startsWith(\"data:\")){scriptDirectory=nodePath.dirname(require(\"url\").fileURLToPath(import.meta.url))+\"/\"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");return ret};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(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith(\"blob:\")){scriptDirectory=\"\"}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}{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=async url=>{var response=await fetch(url,{credentials:\"same-origin\"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+\" : \"+response.url)}}}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\"];var dynamicLibraries=Module[\"dynamicLibraries\"]||[];var wasmBinary=Module[\"wasmBinary\"];function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!=\"undefined\"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,\"base64\");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,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);Module[\"HEAP64\"]=HEAP64=new BigInt64Array(b);Module[\"HEAPU64\"]=HEAPU64=new BigUint64Array(b)}if(Module[\"wasmMemory\"]){wasmMemory=Module[\"wasmMemory\"]}else{var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||33554432;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var __RELOC_FUNCS__=[];var runtimeInitialized=false;var runtimeExited=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(__RELOC_FUNCS__);if(!Module[\"noFSInit\"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();runtimeExited=true}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 dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module[\"monitorRunDependencies\"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module[\"monitorRunDependencies\"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;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://\");function findWasmBinary(){if(Module[\"locateFile\"]){var f=\"initdb.wasm\";if(!isDataURI(f)){return locateFile(f)}return f}return new URL(\"initdb.wasm\",import.meta.url).href}var 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\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch==\"function\"){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,\"GOT.mem\":new Proxy(wasmImports,GOTHandler),\"GOT.func\":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,\"main\");LDSO.init();loadDylibs();addOnInit(wasmExports[\"__wasm_call_ctors\"]);__RELOC_FUNCS__.push(wasmExports[\"__wasm_apply_data_relocs\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"],result[\"module\"])}var info=getWasmImports();if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}var ASM_CONSTS={};class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:\"i32\",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{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 getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function failIf(condition,message){if(condition)throw new Error(message)}var name=\"dylink.0\";if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,name);if(dylinkSection.length===0){name=\"dylink\";dylinkSection=WebAssembly.Module.customSections(binary,name)}failIf(dylinkSection.length===0,\"need dylink section\");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,\"need to see wasm magic number\");failIf(binary[8]!==0,\"need the dylink section to be first\");offset=9;var section_size=getLEB();end=offset+section_size;name=getString()}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(name==\"dylink\"){customSection.memorySize=getLEB();customSection.memoryAlign=getLEB();customSection.tableSize=getLEB();customSection.tableAlign=getLEB();var neededDynlibsCount=getLEB();for(var i=0;i<neededDynlibsCount;++i){var libname=getString();customSection.neededDynlibs.push(libname)}}else{failIf(name!==\"dylink.0\");var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset<end){var subsectionType=getU8();var subsectionSize=getLEB();if(subsectionType===WASM_DYLINK_MEM_INFO){customSection.memorySize=getLEB();customSection.memoryAlign=getLEB();customSection.tableSize=getLEB();customSection.tableAlign=getLEB()}else if(subsectionType===WASM_DYLINK_NEEDED){var neededDynlibsCount=getLEB();for(var i=0;i<neededDynlibsCount;++i){libname=getString();customSection.neededDynlibs.push(libname)}}else if(subsectionType===WASM_DYLINK_EXPORT_INFO){var count=getLEB();while(count--){var symname=getString();var flags=getLEB();if(flags&WASM_SYMBOL_TLS){customSection.tlsExports.add(symname)}}}else if(subsectionType===WASM_DYLINK_IMPORT_INFO){var count=getLEB();while(count--){var modname=getString();var symname=getString();var flags=getLEB();if((flags&WASM_SYMBOL_BINDING_MASK)==WASM_SYMBOL_BINDING_WEAK){customSection.weakImports.add(symname)}}}else{offset+=subsectionSize}}}return customSection};var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO(\"__main__\",0,wasmImports)}};var ___heap_base=137184;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT[\"__heap_base\"].value=end;return ret};var isInternalSym=symName=>[\"__cpp_exception\",\"__c_longjmp\",\"__wasm_apply_data_relocs\",\"__dso_handle\",\"__tls_size\",\"__tls_align\",\"__set_stack_limits\",\"_emscripten_tls_init\",\"__wasm_init_tls\",\"__wasm_call_ctors\",\"__start_em_asm\",\"__stop_em_asm\",\"__start_em_js\",\"__stop_em_js\"].includes(symName)||symName.startsWith(\"__em_js__\");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\",e:\"externref\",p:\"i32\"};var type={parameters:[],results:sig[0]==\"v\"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){type.parameters.push(typeNames[sig[i]])}return type};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i<sigParam.length;++i){target.push(typeCodes[sigParam[i]])}if(sigRet==\"v\"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function==\"function\"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports[\"f\"];return wrappedFunc};var wasmTableMirror=[];var wasmTable=new WebAssembly.Table({initial:21,element:\"anyfunc\"});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 updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}};var functionsInTableMap;var getFunctionAddress=func=>{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw\"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.\"}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];GOT[symName]||=new WebAssembly.Global({value:\"i32\",mutable:true});if(replace||GOT[symName].value==0){if(typeof value==\"function\"){GOT[symName].value=addFunction(value)}else if(typeof value==\"number\"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value==\"object\"){value=value.value}if(typeof value==\"number\"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};var dynCall=(sig,ptr,args=[])=>{var rtn=getWasmTableEntry(ptr)(...args);return rtn};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var createInvokeFunction=sig=>(ptr,...args)=>{var sp=stackSave();try{return dynCall(sig,ptr,args)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);if(sig[0]==\"j\")return 0n}};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith(\"invoke_\")){sym=wasmImports[symName]=createInvokeFunction(symName.split(\"_\")[1])}return{sym,name:symName}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\";var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}}else{memoryBase=HEAPU32[handle+12>>2];tableBase=HEAPU32[handle+20>>2]}var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;if(tableGrowthNeeded>0){wasmTable.grow(tableGrowthNeeded)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case\"__memory_base\":return memoryBase;case\"__table_base\":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){return wasmImports[prop]}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={\"GOT.mem\":new Proxy({},GOTHandler),\"GOT.func\":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf(\"$\"+arity)!=-1){args.push(\"$\"+arity)}else{break}}args=args.join(\",\");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(\"__start_em_asm\"in moduleExports){var start=moduleExports[\"__start_em_asm\"];var stop=moduleExports[\"__stop_em_asm\"];while(start<stop){var jsString=UTF8ToString(start);addEmAsm(start,jsString);start=HEAPU8.indexOf(0,start)+1}}function addEmJs(name,cSig,body){var jsArgs=[];cSig=cSig.slice(1,-1);if(cSig!=\"void\"){cSig=cSig.split(\",\");for(var i in cSig){var jsArg=cSig[i].split(\" \").pop();jsArgs.push(jsArg.replace(\"*\",\"\"))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith(\"__em_js__\")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split(\"<::>\");addEmJs(name.replace(\"__em_js__\",\"\"),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports[\"__wasm_apply_data_relocs\"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports[\"__wasm_call_ctors\"];if(init){if(runtimeInitialized){init()}else{__ATINIT__.push(init)}}return moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(result=>postInstantiation(result.module,result.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags,localScope)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};var mergeLibSymbols=(exports,libName)=>{for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym);const main_alias=\"__main_argc_argv\";if(sym==\"main\"){setImport(main_alias)}if(sym==main_alias){setImport(\"main\")}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var preloadPlugins=Module[\"preloadPlugins\"]||[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module[\"noWasmDecoding\"]&&name.endsWith(\".so\"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin[\"promiseChainEnd\"]=wasmPlugin[\"promiseChainEnd\"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,\"loading\");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value==\"function\"){entry.value=addFunction(value,value.sig)}else if(typeof value==\"number\"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(\"loadDylibs\");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency(\"loadDylibs\")})};var noExitRuntime=Module[\"noExitRuntime\"]||false;var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);___call_sighandler.sig=\"vpi\";var ___memory_base=new WebAssembly.Global({value:\"i32\",mutable:false},1024);var ___stack_pointer=new WebAssembly.Global({value:\"i32\",mutable:true},137184);var PATH={isAbs:path=>path.charAt(0)===\"/\",splitPath:filename=>{var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path===\"/\")return\"/\";path=PATH.normalize(path);path=path.replace(/\\/$/,\"\");var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join(\"/\")),join2:(l,r)=>PATH.normalize(l+\"/\"+r)};var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");var randomFillSync=crypto_module[\"randomFillSync\"];if(randomFillSync){return view=>crypto_module[\"randomFillSync\"](view)}var randomBytes=crypto_module[\"randomBytes\"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath=\"\",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!=\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(p=>!!p),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var FS_stdin_getChar_buffer=[];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 stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{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++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};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 FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes(\"EOF\"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size)};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,\"/\",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of[\"mode\",\"atime\",\"mtime\",\"ctime\"]){if(attr[key]){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[\".\",\"..\",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}HEAP8.set(contents,ptr)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!=\"undefined\")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,\"r+\":2,w:512|64|1,\"w+\":512|64|2,a:1024|64|1,\"a+\":1024|64|2};var flags=flagModes[str];if(typeof flags==\"undefined\"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var PROXYFS={mount(mount){return PROXYFS.createNode(null,\"/\",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join(...parts)},node_ops:{getattr(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.atime||attr.mtime){var atime=new Date(attr.atime||attr.mtime);var mtime=new Date(attr.mtime||attr.atime);node.mount.opts.fs.utime(path,atime,mtime)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,\"\",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath);oldNode.name=newName}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.node_ops.getattr(stream.node);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,ErrnoError:class{name=\"ErrnoError\";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path)return{path:\"\",node:null};opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+\"/\"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split(\"/\").filter(p=>!!p&&p!==\".\");var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}if(parts[i]===\"..\"){current_path=PATH.dirname(current_path);current=current.parent;continue}current_path=PATH.join2(current_path,parts[i]);try{current=FS.lookupNode(current,parts[i])}catch(e){if(e?.errno===44&&islast&&opts.noent_okay){return{path:current_path}}throw e}if(FS.isMountpoint(current)&&(!islast||opts.follow_mount)){current=current.mounted.root}if(FS.isLink(current.mode)&&(!islast||opts.follow)){if(!current.node_ops.readlink){throw new FS.ErrnoError(52)}var link=current.node_ops.readlink(current);if(!PATH.isAbs(link)){link=PATH.dirname(current_path)+\"/\"+link}path=link+\"/\"+parts.slice(i+1).join(\"/\");continue linkloop}}return{path:current_path,node:current}}throw new FS.ErrnoError(32)},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes(\"r\")&&!(node.mode&292)){return 2}else if(perms.includes(\"w\")&&!(node.mode&146)){return 2}else if(perms.includes(\"x\")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,\"wx\")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,\"wx\");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate==\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};var parent=FS.lookupPath(path,{follow:true}).node;if(parent?.node_ops.statfs){Object.assign(rtn,parent.node_ops.statfs(parent.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev==\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat(path){return FS.stat(path,true)},chmod(path,mode,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,ctime:Date.now()})},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.chmod(stream.node,mode)},chown(path,uid,gid,dontFollow){var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.chown(stream.node,uid,gid)},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,\"w\");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==\"object\"){node=path}else{var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error(`Invalid encoding type \"${opts.encoding}\"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,\"x\");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")},createDefaultDevices(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice(\"/dev\",\"random\",randomByte);FS.createDevice(\"/dev\",\"urandom\",randomByte);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories(){FS.mkdir(\"/proc\");var proc_self=FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount(){var node=FS.createNode(proc_self,\"fd\",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},\"/proc/self/fd\")},createStandardStreams(input,output,error){if(input){FS.createDevice(\"/dev\",\"stdin\",input)}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(output){FS.createDevice(\"/dev\",\"stdout\",null,output)}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(error){FS.createDevice(\"/dev\",\"stderr\",null,error)}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",0);var stdout=FS.open(\"/dev/stdout\",1);var stderr=FS.open(\"/dev/stderr\",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS,PROXYFS}},init(input,output,error){FS.initialized=true;input??=Module[\"stdin\"];output??=Module[\"stdout\"];error??=Module[\"stderr\"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent==\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent==\"string\"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else{try{obj.contents=readBinary(obj.url);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}},createLazyFile(parent,name,url,canRead,canWrite){class LazyUint8Array{lengthKnown=false;chunks=[];get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||\"\",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!=\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+\"/\"+path},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_chmod.sig=\"ipi\";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_dup3.sig=\"iiii\";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms=\"\";if(amode&4)perms+=\"r\";if(amode&2)perms+=\"w\";if(amode&1)perms+=\"x\";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_faccessat.sig=\"iipii\";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig=\"iijji\";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_fcntl64.sig=\"iiip\";function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_fstat64.sig=\"iip\";var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size<cwdLengthInBytes)return-68;stringToUTF8(cwd,buf,size);return cwdLengthInBytes}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_getcwd.sig=\"ipp\";function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx<endIdx;idx++){var id;var type;var name=stream.getdents[idx];if(name===\".\"){id=stream.node.id;type=4}else if(name===\"..\"){var lookup=FS.lookupPath(stream.path,{parent:true});id=lookup.node.id;type=4}else{var child;try{child=FS.lookupNode(stream.node,name)}catch(e){if(e?.errno===28){continue}throw e}id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP64[dirp+pos>>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_getdents64.sig=\"iipp\";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_ioctl.sig=\"iiip\";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_lstat64.sig=\"ipp\";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_mkdirat.sig=\"iipi\";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_newfstatat.sig=\"iippi\";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_openat.sig=\"iipip\";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_readlinkat.sig=\"iippp\";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_rmdir.sig=\"ip\";function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_stat64.sig=\"ipp\";function ___syscall_symlinkat(target,dirfd,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);linkpath=SYSCALLS.calculateAt(dirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_symlinkat.sig=\"ipip\";function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort(\"Invalid flags passed to unlinkat\")}return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return-e.errno}}___syscall_unlinkat.sig=\"iipi\";var ___table_base=new WebAssembly.Global({value:\"i32\",mutable:false},1);var __abort_js=()=>abort(\"\");__abort_js.sig=\"v\";var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig=\"v\";var __emscripten_throw_longjmp=()=>{throw Infinity};__emscripten_throw_longjmp.sig=\"v\";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}__localtime_js.sig=\"vjp\";var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};__mktime_js.sig=\"jp\";var timers={};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig=\"vi\";var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}_proc_exit(status)};var _exit=exitJS;_exit.sig=\"vi\";var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(runtimeExited||ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig=\"d\";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig=\"iid\";var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?\"-\":\"+\";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,\"0\");var minutes=String(absOffset%60).padStart(2,\"0\");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};__tzset_js.sig=\"vpppp\";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig=\"d\";var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};_emscripten_resize_heap.sig=\"ip\";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++]=str.charCodeAt(i)}HEAP8[buffer]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};_environ_get.sig=\"ipp\";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};_environ_sizes_get.sig=\"ipp\";function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_close.sig=\"ii\";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_fdstat_get.sig=\"iip\";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_read.sig=\"iippp\";function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_seek.sig=\"iijip\";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_sync.sig=\"ii\";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len){break}if(typeof offset!=\"undefined\"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e.name===\"ErrnoError\"))throw e;return e.errno}}_fd_write.sig=\"iippp\";var inetPton4=str=>{var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};var inetNtop4=addr=>(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255);var inetNtop6=ints=>{var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var _getaddrinfo=(node,service,hint,out)=>{var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};_getaddrinfo.sig=\"ipppp\";var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var FS_createPath=FS.createPath;var FS_unlink=path=>FS.unlink(path);var FS_createLazyFile=FS.createLazyFile;var FS_createDevice=FS.createDevice;registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module[\"FS_createPath\"]=FS.createPath;Module[\"FS_createDataFile\"]=FS.createDataFile;Module[\"FS_createPreloadedFile\"]=FS.createPreloadedFile;Module[\"FS_unlink\"]=FS.unlink;Module[\"FS_createLazyFile\"]=FS.createLazyFile;Module[\"FS_createDevice\"]=FS.createDevice;MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=\"<generic error, no stack>\";var wasmImports={__call_sighandler:___call_sighandler,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__syscall_chmod:___syscall_chmod,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_symlinkat:___syscall_symlinkat,__syscall_unlinkat:___syscall_unlinkat,__table_base:___table_base,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,getaddrinfo:_getaddrinfo,invoke_ii,invoke_iiii,invoke_vii,memory:wasmMemory,proc_exit:_proc_exit};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"__wasm_call_ctors\"])();var _pgl_exit=Module[\"_pgl_exit\"]=a0=>(_pgl_exit=Module[\"_pgl_exit\"]=wasmExports[\"pgl_exit\"])(a0);var ___errno_location=Module[\"___errno_location\"]=()=>(___errno_location=Module[\"___errno_location\"]=wasmExports[\"__errno_location\"])();var _fflush=Module[\"_fflush\"]=a0=>(_fflush=Module[\"_fflush\"]=wasmExports[\"fflush\"])(a0);var _fopen=Module[\"_fopen\"]=(a0,a1)=>(_fopen=Module[\"_fopen\"]=wasmExports[\"fopen\"])(a0,a1);var _fclose=Module[\"_fclose\"]=a0=>(_fclose=Module[\"_fclose\"]=wasmExports[\"fclose\"])(a0);var _pgl_popen=Module[\"_pgl_popen\"]=(a0,a1)=>(_pgl_popen=Module[\"_pgl_popen\"]=wasmExports[\"pgl_popen\"])(a0,a1);var _fputs=Module[\"_fputs\"]=(a0,a1)=>(_fputs=Module[\"_fputs\"]=wasmExports[\"fputs\"])(a0,a1);var _main=Module[\"_main\"]=(a0,a1)=>(_main=Module[\"_main\"]=wasmExports[\"__main_argc_argv\"])(a0,a1);var _pgl_atexit=Module[\"_pgl_atexit\"]=a0=>(_pgl_atexit=Module[\"_pgl_atexit\"]=wasmExports[\"pgl_atexit\"])(a0);var _pgl_geteuid=Module[\"_pgl_geteuid\"]=()=>(_pgl_geteuid=Module[\"_pgl_geteuid\"]=wasmExports[\"pgl_geteuid\"])();var _pgl_system=Module[\"_pgl_system\"]=a0=>(_pgl_system=Module[\"_pgl_system\"]=wasmExports[\"pgl_system\"])(a0);var _malloc=a0=>(_malloc=wasmExports[\"malloc\"])(a0);var _calloc=(a0,a1)=>(_calloc=wasmExports[\"calloc\"])(a0,a1);var _pgl_setsockopt=Module[\"_pgl_setsockopt\"]=(a0,a1,a2,a3,a4)=>(_pgl_setsockopt=Module[\"_pgl_setsockopt\"]=wasmExports[\"pgl_setsockopt\"])(a0,a1,a2,a3,a4);var _pgl_connect=Module[\"_pgl_connect\"]=(a0,a1,a2)=>(_pgl_connect=Module[\"_pgl_connect\"]=wasmExports[\"pgl_connect\"])(a0,a1,a2);var _pgl_send=Module[\"_pgl_send\"]=(a0,a1,a2,a3)=>(_pgl_send=Module[\"_pgl_send\"]=wasmExports[\"pgl_send\"])(a0,a1,a2,a3);var _pgl_recv=Module[\"_pgl_recv\"]=(a0,a1,a2,a3)=>(_pgl_recv=Module[\"_pgl_recv\"]=wasmExports[\"pgl_recv\"])(a0,a1,a2,a3);var _fgets=Module[\"_fgets\"]=(a0,a1,a2)=>(_fgets=Module[\"_fgets\"]=wasmExports[\"fgets\"])(a0,a1,a2);var _pgl_getsockopt=Module[\"_pgl_getsockopt\"]=(a0,a1,a2,a3,a4)=>(_pgl_getsockopt=Module[\"_pgl_getsockopt\"]=wasmExports[\"pgl_getsockopt\"])(a0,a1,a2,a3,a4);var _pgl_getsockname=Module[\"_pgl_getsockname\"]=(a0,a1,a2)=>(_pgl_getsockname=Module[\"_pgl_getsockname\"]=wasmExports[\"pgl_getsockname\"])(a0,a1,a2);var _pgl_poll=Module[\"_pgl_poll\"]=(a0,a1,a2)=>(_pgl_poll=Module[\"_pgl_poll\"]=wasmExports[\"pgl_poll\"])(a0,a1,a2);var _clear_setitimer=Module[\"_clear_setitimer\"]=()=>(_clear_setitimer=Module[\"_clear_setitimer\"]=wasmExports[\"clear_setitimer\"])();var _pgl_longjmp=Module[\"_pgl_longjmp\"]=(a0,a1)=>(_pgl_longjmp=Module[\"_pgl_longjmp\"]=wasmExports[\"pgl_longjmp\"])(a0,a1);var _pgl_siglongjmp=Module[\"_pgl_siglongjmp\"]=(a0,a1)=>(_pgl_siglongjmp=Module[\"_pgl_siglongjmp\"]=wasmExports[\"pgl_siglongjmp\"])(a0,a1);var _pgl_set_system_fn=Module[\"_pgl_set_system_fn\"]=a0=>(_pgl_set_system_fn=Module[\"_pgl_set_system_fn\"]=wasmExports[\"pgl_set_system_fn\"])(a0);var _pgl_set_popen_fn=Module[\"_pgl_set_popen_fn\"]=a0=>(_pgl_set_popen_fn=Module[\"_pgl_set_popen_fn\"]=wasmExports[\"pgl_set_popen_fn\"])(a0);var _pgl_set_pclose_fn=Module[\"_pgl_set_pclose_fn\"]=a0=>(_pgl_set_pclose_fn=Module[\"_pgl_set_pclose_fn\"]=wasmExports[\"pgl_set_pclose_fn\"])(a0);var _pgl_pclose=Module[\"_pgl_pclose\"]=a0=>(_pgl_pclose=Module[\"_pgl_pclose\"]=wasmExports[\"pgl_pclose\"])(a0);var _pclose=Module[\"_pclose\"]=a0=>(_pclose=Module[\"_pclose\"]=wasmExports[\"pclose\"])(a0);var _pgl_getuid=Module[\"_pgl_getuid\"]=()=>(_pgl_getuid=Module[\"_pgl_getuid\"]=wasmExports[\"pgl_getuid\"])();var _pgl_getpwuid=Module[\"_pgl_getpwuid\"]=a0=>(_pgl_getpwuid=Module[\"_pgl_getpwuid\"]=wasmExports[\"pgl_getpwuid\"])(a0);var _pgl_run_atexit_funcs=Module[\"_pgl_run_atexit_funcs\"]=()=>(_pgl_run_atexit_funcs=Module[\"_pgl_run_atexit_funcs\"]=wasmExports[\"pgl_run_atexit_funcs\"])();var _pgl_freopen=Module[\"_pgl_freopen\"]=(a0,a1,a2)=>(_pgl_freopen=Module[\"_pgl_freopen\"]=wasmExports[\"pgl_freopen\"])(a0,a1,a2);var _pgl_shmget=Module[\"_pgl_shmget\"]=(a0,a1,a2)=>(_pgl_shmget=Module[\"_pgl_shmget\"]=wasmExports[\"pgl_shmget\"])(a0,a1,a2);var _pgl_shmat=Module[\"_pgl_shmat\"]=(a0,a1,a2)=>(_pgl_shmat=Module[\"_pgl_shmat\"]=wasmExports[\"pgl_shmat\"])(a0,a1,a2);var _pgl_shmdt=Module[\"_pgl_shmdt\"]=a0=>(_pgl_shmdt=Module[\"_pgl_shmdt\"]=wasmExports[\"pgl_shmdt\"])(a0);var _pgl_shmctl=Module[\"_pgl_shmctl\"]=(a0,a1,a2)=>(_pgl_shmctl=Module[\"_pgl_shmctl\"]=wasmExports[\"pgl_shmctl\"])(a0,a1,a2);var _pgl_munmap=Module[\"_pgl_munmap\"]=(a0,a1)=>(_pgl_munmap=Module[\"_pgl_munmap\"]=wasmExports[\"pgl_munmap\"])(a0,a1);var _pgl_set_rw_cbs=Module[\"_pgl_set_rw_cbs\"]=(a0,a1)=>(_pgl_set_rw_cbs=Module[\"_pgl_set_rw_cbs\"]=wasmExports[\"pgl_set_rw_cbs\"])(a0,a1);var _pgl_fcntl=Module[\"_pgl_fcntl\"]=(a0,a1,a2)=>(_pgl_fcntl=Module[\"_pgl_fcntl\"]=wasmExports[\"pgl_fcntl\"])(a0,a1,a2);var _strerror=Module[\"_strerror\"]=a0=>(_strerror=Module[\"_strerror\"]=wasmExports[\"strerror\"])(a0);var ___funcs_on_exit=()=>(___funcs_on_exit=wasmExports[\"__funcs_on_exit\"])();var _htonl=a0=>(_htonl=wasmExports[\"htonl\"])(a0);var _htons=a0=>(_htons=wasmExports[\"htons\"])(a0);var _ntohs=a0=>(_ntohs=wasmExports[\"ntohs\"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports[\"_emscripten_timeout\"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports[\"setThrew\"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports[\"_emscripten_stack_restore\"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports[\"_emscripten_stack_alloc\"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports[\"emscripten_stack_get_current\"])();var ___wasm_apply_data_relocs=()=>(___wasm_apply_data_relocs=wasmExports[\"__wasm_apply_data_relocs\"])();function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module[\"addRunDependency\"]=addRunDependency;Module[\"removeRunDependency\"]=removeRunDependency;Module[\"callMain\"]=callMain;Module[\"ENV\"]=ENV;Module[\"addFunction\"]=addFunction;Module[\"removeFunction\"]=removeFunction;Module[\"UTF8ToString\"]=UTF8ToString;Module[\"stringToNewUTF8\"]=stringToNewUTF8;Module[\"stringToUTF8OnStack\"]=stringToUTF8OnStack;Module[\"FS_createPreloadedFile\"]=FS_createPreloadedFile;Module[\"FS_unlink\"]=FS_unlink;Module[\"FS_createPath\"]=FS_createPath;Module[\"FS_createDevice\"]=FS_createDevice;Module[\"FS\"]=FS;Module[\"FS_createDataFile\"]=FS_createDataFile;Module[\"FS_createLazyFile\"]=FS_createLazyFile;Module[\"MEMFS\"]=MEMFS;Module[\"PROXYFS\"]=PROXYFS;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=resolveGlobalSymbol(\"main\").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module[\"onRuntimeInitialized\"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(()=>{setTimeout(()=>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()()}}var shouldRunNow=false;if(Module[\"noInitialRun\"])shouldRunNow=false;run();moduleRtn=readyPromise;\n\n\n  return moduleRtn;\n}\n);\n})();\nexport default Module;\n","// '<(' is process substitution operator and\n// can be parsed the same as control operator\nconst CONTROL =\n  '(?:' +\n  [\n    '\\\\|\\\\|',\n    '\\\\&\\\\&',\n    ';;',\n    '\\\\|\\\\&',\n    '\\\\<\\\\(',\n    '\\\\<\\\\<\\\\<',\n    '>>',\n    '>\\\\&',\n    '<\\\\&',\n    '[&;()|<>]',\n  ].join('|') +\n  ')'\nconst controlRE = new RegExp('^' + CONTROL + '$')\nconst META = '|&;()<> \\\\t'\nconst SINGLE_QUOTE = '\"((\\\\\\\\\"|[^\"])*?)\"'\nconst DOUBLE_QUOTE = \"'((\\\\\\\\'|[^'])*?)'\"\nconst hash = /^#$/\n\nconst SQ = \"'\"\nconst DQ = '\"'\nconst DS = '$'\n\nlet TOKEN = ''\nconst mult = 0x100000000\nfor (let i = 0; i < 4; i++) {\n  TOKEN += (mult * Math.random()).toString(16)\n}\nconst startsWithToken = new RegExp('^' + TOKEN)\n\ntype Env = Record<string, string | undefined> | ((key: string) => unknown)\n\ninterface OpToken {\n  op: string\n  pattern?: string\n}\n\ninterface CommentToken {\n  comment: string\n}\n\ntype ParsedToken = string | OpToken | CommentToken\n\ninterface ParseOpts {\n  escape?: string\n}\n\nfunction matchAll(s: string, r: RegExp): RegExpExecArray[] {\n  const origIndex = r.lastIndex\n\n  const matches: RegExpExecArray[] = []\n  let matchObj: RegExpExecArray | null\n\n  while ((matchObj = r.exec(s))) {\n    matches.push(matchObj)\n    if (r.lastIndex === matchObj.index) {\n      r.lastIndex += 1\n    }\n  }\n\n  r.lastIndex = origIndex\n\n  return matches\n}\n\nfunction getVar(env: Env, pre: string, key: string): string {\n  let r: unknown = typeof env === 'function' ? env(key) : env[key]\n  if (typeof r === 'undefined' && key !== '') {\n    r = ''\n  } else if (typeof r === 'undefined') {\n    r = '$'\n  }\n\n  if (typeof r === 'object') {\n    return pre + TOKEN + JSON.stringify(r) + TOKEN\n  }\n  return pre + (r as string)\n}\n\nfunction parseInternal(\n  string: string,\n  env?: Env,\n  opts?: ParseOpts,\n): ParsedToken[] {\n  if (!opts) {\n    opts = {}\n  }\n  const BS = opts.escape || '\\\\'\n  const BAREWORD = '(\\\\' + BS + '[\\'\"' + META + ']|[^\\\\s\\'\"' + META + '])+'\n\n  const chunker = new RegExp(\n    [\n      '(' + CONTROL + ')',\n      '(' + BAREWORD + '|' + SINGLE_QUOTE + '|' + DOUBLE_QUOTE + ')+',\n    ].join('|'),\n    'g',\n  )\n\n  const matches = matchAll(string, chunker)\n\n  if (matches.length === 0) {\n    return []\n  }\n  if (!env) {\n    env = {}\n  }\n\n  let commented = false\n\n  return matches\n    .map(function (match): ParsedToken | ParsedToken[] | undefined {\n      const s = match[0]\n      if (!s || commented) {\n        return void undefined\n      }\n      if (controlRE.test(s)) {\n        return { op: s }\n      }\n\n      // Hand-written scanner/parser for Bash quoting rules:\n      //\n      // 1. inside single quotes, all characters are printed literally.\n      // 2. inside double quotes, all characters are printed literally\n      //    except variables prefixed by '$' and backslashes followed by\n      //    either a double quote or another backslash.\n      // 3. outside of any quotes, backslashes are treated as escape\n      //    characters and not printed (unless they are themselves escaped)\n      // 4. quote context can switch mid-token if there is no whitespace\n      //     between the two quote contexts (e.g. all'one'\"token\" parses as\n      //     \"allonetoken\")\n      let quote: string | false = false\n      let esc = false\n      let out = ''\n      let isGlob = false\n      let i: number\n\n      function parseEnvVar(): string {\n        i += 1\n        let varend: number\n        let varname: string\n        const char = s.charAt(i)\n\n        if (char === '{') {\n          i += 1\n          if (s.charAt(i) === '}') {\n            throw new Error('Bad substitution: ' + s.slice(i - 2, i + 1))\n          }\n          varend = s.indexOf('}', i)\n          if (varend < 0) {\n            throw new Error('Bad substitution: ' + s.slice(i))\n          }\n          varname = s.slice(i, varend)\n          i = varend\n        } else if (/[*@#?$!_-]/.test(char)) {\n          varname = char\n          i += 1\n        } else {\n          const slicedFromI = s.slice(i)\n          const varendMatch = slicedFromI.match(/[^\\w\\d_]/)\n          if (!varendMatch) {\n            varname = slicedFromI\n            i = s.length\n          } else {\n            varname = slicedFromI.slice(0, varendMatch.index)\n            i += varendMatch.index! - 1\n          }\n        }\n        return getVar(env!, '', varname)\n      }\n\n      for (i = 0; i < s.length; i++) {\n        let c = s.charAt(i)\n        isGlob = isGlob || (!quote && (c === '*' || c === '?'))\n        if (esc) {\n          out += c\n          esc = false\n        } else if (quote) {\n          if (c === quote) {\n            quote = false\n          } else if (quote === SQ) {\n            out += c\n          } else {\n            if (c === BS) {\n              i += 1\n              c = s.charAt(i)\n              if (c === DQ || c === BS || c === DS) {\n                out += c\n              } else {\n                out += BS + c\n              }\n            } else if (c === DS) {\n              out += parseEnvVar()\n            } else {\n              out += c\n            }\n          }\n        } else if (c === DQ || c === SQ) {\n          quote = c\n        } else if (controlRE.test(c)) {\n          return { op: s }\n        } else if (hash.test(c)) {\n          commented = true\n          const commentObj: CommentToken = {\n            comment: string.slice(match.index + i + 1),\n          }\n          if (out.length) {\n            return [out, commentObj]\n          }\n          return [commentObj]\n        } else if (c === BS) {\n          esc = true\n        } else if (c === DS) {\n          out += parseEnvVar()\n        } else {\n          out += c\n        }\n      }\n\n      if (isGlob) {\n        return { op: 'glob', pattern: out }\n      }\n\n      return out\n    })\n    .reduce(function (prev: ParsedToken[], arg) {\n      return typeof arg === 'undefined' ? prev : prev.concat(arg)\n    }, [])\n}\n\nexport default function parse(\n  s: string,\n  env?: Env,\n  opts?: ParseOpts,\n): ParsedToken[] {\n  const mapped = parseInternal(s, env, opts)\n  if (typeof env !== 'function') {\n    return mapped\n  }\n  return mapped.reduce(function (acc: ParsedToken[], s) {\n    if (typeof s === 'object') {\n      return acc.concat(s)\n    }\n    const xs = s.split(RegExp('(' + TOKEN + '.*?' + TOKEN + ')', 'g'))\n    if (xs.length === 1) {\n      return acc.concat(xs[0])\n    }\n    return acc.concat(\n      xs.filter(Boolean).map(function (x): ParsedToken {\n        if (startsWithToken.test(x)) {\n          return JSON.parse(x.split(TOKEN)[1]) as ParsedToken\n        }\n        return x\n      }),\n    )\n  }, [])\n}\n","export const IN_NODE =\n  typeof process === 'object' &&\n  typeof process.versions === 'object' &&\n  typeof process.versions.node === 'string'\n\nconst artifactDownloadPromises = new Map<string, Promise<Response>>()\n\nexport async function startArtifactDownload(url: URL) {\n  if (IN_NODE || artifactDownloadPromises.has(url.toString())) {\n    return\n  }\n  artifactDownloadPromises.set(url.toString(), fetch(url))\n}\n\n// This is a global cache of the Wasm modules to avoid having to re-download or\n// compile them on subsequent calls.\nconst cachedWasmModules = new Map<string, WebAssembly.Module>()\n\nexport async function instantiateWasm(\n  imports: WebAssembly.Imports,\n  moduleUrl: URL,\n  module?: WebAssembly.Module,\n): Promise<{\n  instance: WebAssembly.Instance\n  module: WebAssembly.Module\n}> {\n  if (module || cachedWasmModules.has(moduleUrl.toString())) {\n    const mod = module || cachedWasmModules.get(moduleUrl.toString())!\n    return {\n      instance: await WebAssembly.instantiate(mod, imports),\n      module: mod,\n    }\n  }\n  if (IN_NODE) {\n    const fs = await import('fs/promises')\n    const buffer = await fs.readFile(moduleUrl)\n    const { module: newModule, instance } = await WebAssembly.instantiate(\n      buffer,\n      imports,\n    )\n    cachedWasmModules.set(moduleUrl.toString(), newModule)\n    return {\n      instance,\n      module: newModule,\n    }\n  } else {\n    if (!artifactDownloadPromises.has(moduleUrl.toString())) {\n      startArtifactDownload(moduleUrl)\n      // wasmDownloadPromises.set(moduleUrl, fetch(moduleUrl))\n    }\n    const response = await artifactDownloadPromises.get(moduleUrl.toString())\n    const { module: newModule, instance } =\n      await WebAssembly.instantiateStreaming(response!.clone(), imports)\n    cachedWasmModules.set(moduleUrl.toString(), newModule)\n    return {\n      instance,\n      module: newModule,\n    }\n  }\n}\n\nexport async function getFsBundle(fsBundleUrl: URL): Promise<ArrayBuffer> {\n  if (IN_NODE) {\n    const fs = await import('fs/promises')\n    const fileData = await fs.readFile(fsBundleUrl)\n    return fileData.buffer\n  } else {\n    startArtifactDownload(fsBundleUrl)\n    const response = await artifactDownloadPromises.get(fsBundleUrl.toString())\n    return response!.clone().arrayBuffer()\n  }\n}\n\nexport const uuid = (): string => {\n  // best case, `crypto.randomUUID` is available\n  if (globalThis.crypto?.randomUUID) {\n    return globalThis.crypto.randomUUID()\n  }\n\n  const bytes = new Uint8Array(16)\n\n  if (globalThis.crypto?.getRandomValues) {\n    // `crypto.getRandomValues` is available even in non-secure contexts\n    globalThis.crypto.getRandomValues(bytes)\n  } else {\n    // fallback to Math.random, if the Crypto API is completely missing\n    for (let i = 0; i < bytes.length; i++) {\n      bytes[i] = Math.floor(Math.random() * 256)\n    }\n  }\n\n  bytes[6] = (bytes[6] & 0x0f) | 0x40 // Set the 4 most significant bits to 0100\n  bytes[8] = (bytes[8] & 0x3f) | 0x80 // Set the 2 most significant bits to 10\n\n  const hexValues: string[] = []\n  bytes.forEach((byte) => {\n    hexValues.push(byte.toString(16).padStart(2, '0'))\n  })\n\n  return (\n    hexValues.slice(0, 4).join('') +\n    '-' +\n    hexValues.slice(4, 6).join('') +\n    '-' +\n    hexValues.slice(6, 8).join('') +\n    '-' +\n    hexValues.slice(8, 10).join('') +\n    '-' +\n    hexValues.slice(10).join('')\n  )\n}\n\n/**\n * Postgresql handles quoted names as CaseSensitive and unquoted as lower case.\n * If input is quoted, returns an unquoted string (same casing)\n * If input is unquoted, returns a lower-case string\n */\nexport function toPostgresName(input: string): string {\n  let output\n  if (input.startsWith('\"') && input.endsWith('\"')) {\n    // Postgres sensitive case\n    output = input.substring(1, input.length - 1)\n  } else {\n    // Postgres case insensitive - all to lower\n    output = input.toLowerCase()\n  }\n  return output\n}\n"],"mappings":"wvCAAA,IAKMA,GAMOC,EAXbC,EAAAC,GAAA,kBAKMH,GAAmB,IACvB,OAAO,SAAa,IAChB,IAAI,IAAI,QAAQ,UAAU,EAAE,EAAE,KAC7B,SAAS,eAAiB,SAAS,cAAc,KAClD,IAAI,IAAI,UAAW,SAAS,OAAO,EAAE,KAE9BC,EAAgCD,GAAiB,ICX9D,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAEA,IAAIC,GAAmB,iBAEnBC,GAAa,SAASA,EAAW,CACnC,OAAOA,CACT,EAAG,EAEH,SAASC,GAAYC,EAAO,CAC1B,OAAOA,IAAUF,EACnB,CAEA,SAASG,GAASD,EAAO,CACvB,OAAQ,OAAOA,GAAS,UACrB,OAAO,UAAU,SAAS,KAAKA,CAAK,GAAK,iBAC9C,CAEA,SAASE,GAAWF,EAAO,CACzB,OAAQ,OAAO,UAAU,SAAS,KAAKA,CAAK,GAAK,eACnD,CAEA,SAASG,GAASH,EAAO,CACvB,OAAQA,IAAU,MAAU,OAAOA,GAAS,QAC9C,CAEA,SAASI,GAAWJ,EAAO,CACzB,OAAO,OAAOA,GAAS,UACzB,CAEA,SAASK,GAASL,EAAO,CACvB,OAAQ,OAAOA,GAAS,UACrBA,EAAQ,IAAQA,EAAQ,GAAK,GAC7BA,GAASH,EACd,CAEA,SAASS,GAAQN,EAAO,CACtB,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAK,GAAK,gBAClD,CAEA,SAASO,GAAYP,EAAO,CAC1B,OAAOG,GAASH,CAAK,GAAK,CAACI,GAAWJ,CAAK,GAAKK,GAASL,EAAM,MAAM,CACvE,CAEA,SAASQ,GAAcR,EAAO,CAC5B,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAK,GAAK,sBAClD,CAEA,SAASS,GAAIC,EAAOC,EAAU,CAC5B,OAAO,MAAM,UAAU,IAAI,KAAKD,EAAOC,CAAQ,CACjD,CAEA,SAASC,GAAKF,EAAOC,EAAU,CAC7B,IAAIE,EAASf,GAEb,OAAIM,GAAWO,CAAQ,GACrB,MAAM,UAAU,MAAM,KAAKD,EAAO,SAASI,EAAMC,EAAOL,EAAO,CAC7D,IAAIM,EAAQL,EAASG,EAAMC,EAAOL,CAAK,EACvC,OAAIM,IACFH,EAASC,GAEJ,CAACE,CACV,CAAC,EAGIH,CACT,CAEA,SAASI,GAAOC,EAAyB,CACvC,OAAO,OAAO,OAAO,MAAM,KAAM,SAAS,CAC5C,CAEA,SAASC,GAAanB,EAAO,CAC3B,IAAIoB,EACAC,EACAR,EAEJ,GAAIZ,GAASD,CAAK,EAAG,CAGnB,IAFAqB,EAASrB,EAAM,OACfa,EAAS,IAAI,WAAWQ,CAAM,EACzBD,EAAI,EAAGA,EAAIC,EAAQD,IACtBP,EAAOO,CAAC,EAAIpB,EAAM,WAAWoB,CAAC,EAAI,IAEpC,OAAOP,CACT,CAEA,OAAIL,GAAcR,CAAK,EACd,IAAI,WAAWA,CAAK,EAGzBG,GAASH,CAAK,GAAKQ,GAAcR,EAAM,MAAM,EACxC,IAAI,WAAWA,EAAM,MAAM,EAGhCO,GAAYP,CAAK,EACZ,IAAI,WAAWA,CAAK,EAGzBG,GAASH,CAAK,GAAKI,GAAWJ,EAAM,QAAQ,EACvCmB,GAAanB,EAAM,SAAS,CAAC,EAG/B,IAAI,UACb,CAEAL,EAAO,QAAQ,iBAAmBE,GAElCF,EAAO,QAAQ,YAAcI,GAC7BJ,EAAO,QAAQ,SAAWM,GAC1BN,EAAO,QAAQ,SAAWQ,GAC1BR,EAAO,QAAQ,WAAaO,GAC5BP,EAAO,QAAQ,WAAaS,GAC5BT,EAAO,QAAQ,QAAUW,GACzBX,EAAO,QAAQ,YAAcY,GAC7BZ,EAAO,QAAQ,cAAgBa,GAC/Bb,EAAO,QAAQ,IAAMc,GACrBd,EAAO,QAAQ,KAAOiB,GACtBjB,EAAO,QAAQ,OAASsB,GACxBtB,EAAO,QAAQ,aAAewB,KCrH9B,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAEA,IAAIC,GAAY,KAEhBF,GAAO,QAAU,CAGf,UAAWE,GAEX,OAAQ,QAAUA,GAAY,KAC9B,aAAc,UAAYA,GAG1B,QAAU,EACV,QAAU,EACV,QAAU,EACV,QAAU,EACV,QAAU,EACV,QAAU,EACV,SAAU,EACV,SAAU,EAGV,MAAO,SAAS,OAAQ,CAAC,EACzB,MAAO,SAAS,OAAQ,CAAC,EACzB,MAAO,SAAS,OAAQ,CAAC,EAGzB,OAAS,SAAS,OAAQ,CAAC,EAC3B,QAAS,SAAS,OAAQ,CAAC,EAC3B,OAAS,SAAS,OAAQ,CAAC,EAC3B,OAAS,SAAS,OAAQ,CAAC,EAC3B,QAAS,SAAS,OAAQ,CAAC,EAC3B,OAAS,SAAS,OAAQ,CAAC,EAC3B,OAAS,SAAS,OAAQ,CAAC,EAC3B,QAAS,SAAS,OAAQ,CAAC,EAC3B,OAAS,SAAS,OAAQ,CAAC,EAE3B,SAAW,SAAS,OAAQ,CAAC,EAC7B,UAAW,SAAS,OAAQ,CAAC,CAG/B,IC1CA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,IAAA,cAAAC,IAEA,IAAIC,GAAQ,KACRC,EAAY,KAEZC,GAAa,IACbC,GAAkBF,EAAU,SAC5BG,GAAa,EACbC,GAAa,EAyBbC,GAAc,CAEhB,CAAC,OAAQ,IAAK,EAAG,SAASC,EAAMC,EAAO,CACrC,OAAOC,GAAgBF,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACjD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOI,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,OAAQ,EAAG,IAAK,SAASD,EAAMC,EAAO,CACrC,IAAIK,EAAON,EAAKC,EAAM,CAAC,CAAC,GAAKL,GAC7B,OAAAU,EAAOA,EAAOZ,EAAU,UACjBa,GAAgBD,EAAML,EAAM,CAAC,EAAGL,EAAe,CACxD,EAAG,SAASO,EAAQC,EAAQH,EAAO,CACjC,IAAIO,EAASC,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,EACnE,OAAAO,GAAUd,EAAU,UACbc,CACT,CAAC,EACD,CAAC,MAAO,EAAG,IAAK,SAASR,EAAMC,EAAO,CACpC,OAAOM,GAAgBP,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,EAAGJ,EAAU,CAC7D,EAAG,SAASM,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,MAAO,EAAG,IAAK,SAASD,EAAMC,EAAO,CACpC,OAAOM,GAAgBP,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,EAAGH,EAAU,CAC7D,EAAG,SAASK,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,OAAQ,GAAI,IAAK,SAASD,EAAMC,EAAO,CACtC,OAAOM,GAAgBP,EAAK,KAAK,OAAQC,EAAM,CAAC,CAAC,CACnD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,aAAc,GAAI,IAAK,SAASD,EAAMC,EAAO,CAC5C,OAAOS,GAAkBV,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACnD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOU,GAAiBR,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CACjE,CAAC,EACD,CAAC,WAAY,EAAG,IAAK,SAASD,EAAMC,EAAO,CACzC,MAAO,UACT,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,OAAQ,EAAG,IAAK,SAASD,EAAMC,EAAO,CAErC,MAAO,IAAO,SAASD,EAAKC,EAAM,CAAC,CAAC,EAAG,EAAE,GAAK,GAAK,CACrD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAQ,SAAS,OAAO,aAAaE,EAAOC,CAAM,CAAC,EAAG,EAAE,GAAK,GAAK,CACpE,CAAC,EACD,CAAC,WAAY,IAAK,IAAK,SAASJ,EAAMC,EAAO,CAC3C,MAAO,EACT,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOI,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,QAAS,EAAG,IAAK,SAASD,EAAMC,EAAO,CACtC,OAAOP,EAAU,MACnB,EAAG,SAASS,EAAQC,EAAQH,EAAO,CACjC,OAAOW,GACLP,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,EAAG,EAAI,CAC9D,CACF,EAAG,SAASD,EAAMC,EAAO,CACvB,OAAQD,EAAKC,EAAM,CAAC,CAAC,GAAKP,EAAU,QACjCM,EAAKC,EAAM,CAAC,CAAC,GAAKP,EAAU,YACjC,CAAC,EACD,CAAC,QAAS,GAAI,IAAK,SAASM,EAAMC,EAAO,CACvC,OAAOC,GAAgBF,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACjD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOI,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,QAAS,GAAI,IAAK,SAASD,EAAMC,EAAO,CACvC,OAAOC,GAAgBF,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACjD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOI,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,cAAe,EAAG,IAAK,SAASD,EAAMC,EAAO,CAC5C,MAAO,EACT,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,cAAe,EAAG,IAAK,SAASD,EAAMC,EAAO,CAC5C,MAAO,EACT,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOQ,EAAeN,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,SAAU,IAAK,IAAK,SAASD,EAAMC,EAAO,CACzC,OAAOC,GAAgBF,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACjD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOI,EAAeF,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CAC/D,CAAC,EACD,CAAC,aAAc,GAAI,IAAK,SAASD,EAAMC,EAAO,CAC5C,OAAOS,GAAkBV,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACnD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOU,GAAiBR,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CACjE,CAAC,EACD,CAAC,aAAc,GAAI,IAAK,SAASD,EAAMC,EAAO,CAC5C,OAAOS,GAAkBV,EAAKC,EAAM,CAAC,CAAC,EAAGA,EAAM,CAAC,CAAC,CACnD,EAAG,SAASE,EAAQC,EAAQH,EAAO,CACjC,OAAOU,GAAiBR,EAAO,MAAMC,EAAQA,EAASH,EAAM,CAAC,CAAC,CAAC,CACjE,CAAC,CACH,EAEIY,GAAuB,SAASC,EAAQ,CAC1C,IAAIC,EAAOD,EAAOA,EAAO,OAAS,CAAC,EACnC,OAAOC,EAAK,CAAC,EAAIA,EAAK,CAAC,CACzB,EAAGhB,EAAW,EAEd,SAASa,GAAcI,EAAO,CAC5B,GAAIA,EAAM,QAAU,EAAG,CACrB,IAAIC,EAAQD,EAAM,MAAM,EAAE,EAE1B,GAAIC,EAAM,CAAC,GAAKvB,EAAU,UAExB,OAAKuB,EAAM,CAAC,GAAK,KAASA,EAAM,CAAC,GAAKvB,EAAU,aAC9CuB,EAAM,CAAC,EAAI,MAERA,EAAM,CAAC,GAAK,KAASA,EAAM,CAAC,GAAKvB,EAAU,aAC9CuB,EAAM,CAAC,EAAI,KAEbA,EAAQA,EAAM,KAAK,EAAE,EACdA,GAASvB,EAAU,OAASuB,EAAQD,EACtC,GAAIC,EAAM,CAAC,GAAKvB,EAAU,UAE/B,OAAIuB,EAAM,CAAC,GAAKvB,EAAU,YACxBuB,EAAM,CAAC,EAAI,KAETA,EAAM,CAAC,GAAKvB,EAAU,YACxBuB,EAAM,CAAC,EAAI,KAENA,GAASvB,EAAU,aAAeuB,EAAQD,CAErD,CACA,OAAOA,CACT,CAEA,SAASd,GAAgBc,EAAOE,EAAQ,CACtC,OAAAA,GAAU,EACNzB,GAAM,YAAYuB,CAAK,IACzBA,EAAQ,IAEVA,GAAS,GAAKA,GAAO,OAAO,EAAGE,CAAM,EAC9BF,EAAQtB,EAAU,SAC3B,CAEA,SAASa,GAAgBS,EAAOE,EAAQC,EAAc,CAKpD,IAJAA,EAAe,SAASA,CAAY,GAAK,EACzCD,GAAU,EACVF,GAAS,SAASA,CAAK,GAAKG,GACzB,SAAS,CAAC,EAAE,OAAO,CAACD,EAAQA,CAAM,EAC9BF,EAAM,OAASE,GACpBF,EAAQ,IAAMA,EAEhB,OAAOA,EAAQtB,EAAU,SAC3B,CAEA,SAASgB,GAAkBM,EAAOE,EAAQ,CACxC,GAAIzB,GAAM,WAAWuB,CAAK,EACxBA,EAAQ,KAAK,MAAM,EAAIA,EAAQ,GAAI,UAEnCA,EAAQ,SAASA,EAAO,EAAE,EACtB,SAASA,CAAK,GAChB,GAAIA,GAAS,EACX,MAAO,QAGTA,EAAQ,KAAK,MAAM,EAAI,IAAI,KAAS,GAAI,EAG5C,OAAOT,GAAgBS,EAAOE,EAAQ,CAAC,CACzC,CAEA,SAASb,EAAee,EAAOC,EAAmB,CAChD,IAAIb,EAAS,OAAO,aAAa,MAAM,KAAMY,CAAK,EAClD,GAAIC,EACF,OAAOb,EAET,IAAIc,EAAQd,EAAO,QAAQd,EAAU,SAAS,EAC9C,OAAO4B,GAAS,EAAId,EAAO,OAAO,EAAGc,CAAK,EAAId,CAChD,CAEA,SAASC,EAAeW,EAAO,CAC7B,IAAIZ,EAAS,OAAO,aAAa,MAAM,KAAMY,CAAK,EAClD,OAAO,SAASZ,EAAO,QAAQ,QAAS,EAAE,EAAG,CAAC,GAAK,CACrD,CAEA,SAASG,GAAiBS,EAAO,CAC/B,OAAKA,EAAM,QAAU,GAAOA,EAAM,CAAC,GAAK,EAC/B,KAEF,IAAI,KAAK,IAAOX,EAAeW,CAAK,CAAC,CAC9C,CAEA,SAASG,GAAkBpB,EAAQC,EAAQoB,EAAc,CACvD,IAAIC,EAAO,SAASrB,EAAQ,EAAE,GAAK,EAC/BsB,EAAK,KAAK,IAAID,EAAOZ,GAAqBV,EAAO,MAAM,EACvDK,EAAS,EAITmB,EAAW,EACXC,EAAS,EACTJ,GACFzB,GAAY,MAAM,SAASE,EAAO,CAChC,OAAIA,EAAM,CAAC,GAAK,YACd0B,EAAWF,EAAOxB,EAAM,CAAC,EACzB2B,EAASD,EAAW1B,EAAM,CAAC,EACpB,IAEF,EACT,CAAC,EAIH,QADI4B,EAAa,GACRC,EAAIL,EAAMK,EAAIJ,EAAII,IAAK,CAG9B,IAAIC,EAAQD,GAAKH,GAAcG,EAAIF,EAAUC,EAAa1B,EAAO2B,CAAC,EAClEtB,GAAUA,EAASuB,GAAQ,MAC7B,CACA,OAAOvB,CACT,CAEAjB,EAAO,QAAQ,WAAaI,GAC5BJ,EAAO,QAAQ,gBAAkBK,GACjCL,EAAO,QAAQ,WAAaM,GAC5BN,EAAO,QAAQ,WAAaO,GAC5BP,EAAO,QAAQ,YAAcQ,GAC7BR,EAAO,QAAQ,oBAAsBsB,GAErCtB,EAAO,QAAQ,kBAAoBgC,GACnChC,EAAO,QAAQ,gBAAkBW,GACjCX,EAAO,QAAQ,gBAAkBgB,GACjChB,EAAO,QAAQ,kBAAoBmB,GACnCnB,EAAO,QAAQ,eAAiBc,EAChCd,EAAO,QAAQ,eAAiBkB,EAChClB,EAAO,QAAQ,iBAAmBoB,KCzQlC,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAEA,IAAIC,GAAY,KACZC,GAAQ,KACRC,EAAQ,KAEZ,SAASC,GAAWC,EAAM,CAExB,OAAOF,EAAM,UACf,CAEA,SAASG,GAASD,EAAM,CAEtB,OAAO,KAAK,KAAKA,EAAK,KAAK,OAASF,EAAM,UAAU,EAAIA,EAAM,UAChE,CAEA,SAASI,GAAeC,EAAO,CAC7B,IAAIC,EAAY,EAGhB,OAAAD,EAAM,QAAQ,SAASH,EAAM,CAC3BI,GAAaL,GAAWC,CAAI,EAAIC,GAASD,CAAI,CAC/C,CAAC,EAGDI,GAAaN,EAAM,WAAa,EASzB,IAAI,WAAWM,CAAS,CACjC,CAEA,SAASC,GAAYC,EAAQN,EAAMO,EAAQ,CACzCA,EAAS,SAASA,CAAM,GAAK,EAE7B,IAAIC,EAAgBD,EACpBT,EAAM,YAAY,QAAQ,SAASW,EAAO,CAGxC,QAFIC,EAAQD,EAAM,CAAC,EAAET,EAAMS,CAAK,EAC5BE,EAASD,EAAM,OACVE,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC/BN,EAAOE,EAAgBI,CAAC,EAAIF,EAAM,WAAWE,CAAC,EAAI,IAEpDJ,GAAiBC,EAAM,CAAC,CAC1B,CAAC,EAED,IAAIA,EAAQZ,GAAM,KAAKC,EAAM,YAAa,SAASW,EAAO,CACxD,OAAOA,EAAM,CAAC,GAAK,UACrB,CAAC,EAED,GAAIA,EAAO,CAET,IAAII,EAAWf,EAAM,kBAAkBQ,EAAQC,EAAQ,EAAI,EACvDG,EAAQZ,EAAM,gBAAgBe,EAAUJ,EAAM,CAAC,EAAI,CAAC,EACtDb,GAAU,UAAY,IACxBY,EAAgBD,EAASE,EAAM,CAAC,EAChC,QAASG,EAAI,EAAGA,EAAIF,EAAM,OAAQE,GAAK,EAErCN,EAAOE,CAAa,EAAIE,EAAM,WAAWE,CAAC,EAAI,IAC9CJ,GAEJ,CAEA,OAAOD,EAASR,GAAWC,CAAI,CACjC,CAEA,SAASc,GAAUR,EAAQN,EAAMO,EAAQ,CACvC,OAAAA,EAAS,SAASA,EAAQ,EAAE,GAAK,EACjCD,EAAO,IAAIN,EAAK,KAAMO,CAAM,EACrBA,EAASN,GAASD,CAAI,CAC/B,CAEA,SAASe,GAAIZ,EAAO,CAClBA,EAAQN,GAAM,IAAIM,EAAO,SAASH,EAAM,CACtC,OAAOH,GAAM,OAAO,CAAC,EAAGG,EAAM,CAC5B,KAAMH,GAAM,aAAaG,EAAK,IAAI,CACpC,CAAC,CACH,CAAC,EAED,IAAIM,EAASJ,GAAeC,CAAK,EAE7BI,EAAS,EACb,OAAAJ,EAAM,QAAQ,SAASH,EAAM,CAC3BO,EAASF,GAAYC,EAAQN,EAAMO,CAAM,EACzCA,EAASO,GAAUR,EAAQN,EAAMO,CAAM,CACzC,CAAC,EAEMD,CACT,CAEAZ,GAAO,QAAQ,IAAMqB,KC9FrB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAEA,IAAIC,GAAY,KACZC,GAAQ,KACRC,EAAQ,KAERC,GAAiB,CACnB,YAAa,GACb,YAAa,GACb,cAAe,GACf,cAAe,EACjB,EAEIC,GAAgB,CAClB,KAAM,GACN,SAAU,GACV,MAAO,EACT,EAEIC,GAAW,CACb,oBAAqB,0BACrB,cAAe,qBACf,oBAAqB,wBACvB,EAEA,SAASC,GAAWC,EAAQ,CAE1B,OAAOL,EAAM,UACf,CAEA,SAASM,GAASC,EAAM,CAEtB,OAAO,KAAK,KAAKA,EAAOP,EAAM,UAAU,EAAIA,EAAM,UACpD,CAEA,SAASQ,GAAYC,EAAQC,EAAQ,CAGnC,QAFIC,EAAOD,EACPE,EAAK,KAAK,IAAIH,EAAO,OAAQC,EAASV,EAAM,WAAa,CAAC,EACrDa,EAAIF,EAAME,EAAID,EAAIC,IACzB,GAAIJ,EAAOI,CAAC,GAAK,EACf,MAAO,GAGX,MAAO,EACT,CAEA,SAASC,GAAWL,EAAQC,EAAQK,EAAS,CAC3C,GAAIN,EAAO,OAASC,EAASV,EAAM,WAAY,CAC7C,GAAIe,EAAQ,cACV,MAAM,IAAI,MAAMZ,GAAS,mBAAmB,EAE9C,OAAO,IACT,CAEAO,EAAS,SAASA,CAAM,GAAK,EAE7B,IAAIM,EAAS,CAAC,EACVC,EAAgBP,EAuBpB,GAtBAV,EAAM,YAAY,QAAQ,SAASkB,EAAO,CACxCF,EAAOE,EAAM,CAAC,CAAC,EAAIA,EAAM,CAAC,EAAET,EAAQQ,EAAeC,CAAK,EACxDD,GAAiBC,EAAM,CAAC,CAC1B,CAAC,EAEGF,EAAO,MAAQ,IACjBA,EAAO,KAAO,GAGZD,EAAQ,aACVf,EAAM,YAAY,QAAQ,SAASkB,EAAO,CACxC,GAAInB,GAAM,WAAWmB,EAAM,CAAC,CAAC,GAAK,CAACA,EAAM,CAAC,EAAEF,EAAQE,CAAK,EAAG,CAC1D,IAAIC,EAAQ,IAAI,MAAMhB,GAAS,aAAa,EAC5C,MAAAgB,EAAM,KAAO,CACX,OAAQT,EAASQ,EAAM,CAAC,EACxB,MAAOA,EAAM,CAAC,CAChB,EACMC,CACR,CACF,CAAC,EAGCJ,EAAQ,cAAe,CACzB,IAAIK,EAAWpB,EAAM,kBAAkBS,EAAQC,EAAQ,EAAI,EAC3D,GAAIU,GAAYJ,EAAO,SAAU,CAC/B,IAAIG,EAAQ,IAAI,MAAMhB,GAAS,mBAAmB,EAClD,MAAAgB,EAAM,KAAO,CACX,OAAQT,EACR,OAAQM,EACR,SAAUI,CACZ,EACMD,CACR,CACF,CAEA,OAAOH,CACT,CAEA,SAASK,GAASZ,EAAQC,EAAQL,EAAQU,EAAS,CACjD,OAAKA,EAAQ,YAITV,EAAO,MAAQ,EACV,IAAI,WAENI,EAAO,MAAMC,EAAQA,EAASL,EAAO,IAAI,EANvC,IAOX,CAEA,SAASiB,GAAWjB,EAAQkB,EAAM,CAChC,IAAIP,EAAS,CAAC,EACd,OAAAhB,EAAM,YAAY,QAAQ,SAASkB,EAAO,CACxC,IAAIM,EAAON,EAAM,CAAC,EACbhB,GAAcsB,CAAI,IACrBR,EAAOQ,CAAI,EAAInB,EAAOmB,CAAI,EAE9B,CAAC,EAEDR,EAAO,eAAiBX,EAAO,OAASP,GAAU,aAE9CyB,IACFP,EAAO,KAAOO,GAGTP,CACT,CAEA,SAASS,GAAMhB,EAAQM,EAAS,CAC9BA,EAAUhB,GAAM,OAAO,CAAC,EAAGE,GAAgBc,CAAO,EAMlD,QAJIC,EAAS,CAAC,EACVN,EAAS,EACTH,EAAOE,EAAO,OAEXF,EAAOG,GAAUV,EAAM,YAAY,CACxCS,EAASV,GAAM,aAAaU,CAAM,EAClC,IAAIJ,EAASS,GAAWL,EAAQC,EAAQK,CAAO,EAC/C,GAAI,CAACV,EACH,MAEFK,GAAUN,GAAWC,CAAM,EAE3B,IAAIkB,EAAOF,GAASZ,EAAQC,EAAQL,EAAQU,CAAO,EAInD,GAHAC,EAAO,KAAKM,GAAWjB,EAAQkB,CAAI,CAAC,EACpCb,GAAUJ,GAASD,EAAO,IAAI,EAE1BG,GAAYC,EAAQC,CAAM,EAC5B,KAEJ,CAEA,OAAOM,CACT,CAEApB,GAAO,QAAQ,MAAQ6B,KCxJvB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAAAC,IAIA,IAAIC,GAAQ,KACRC,GAAY,KACZC,GAAM,KACNC,GAAQ,KAEZH,GAAM,OAAOF,GAAO,QAASI,GAAKC,GAAOF,EAAS,ICTlD,IAAAG,GAAA,GAAAC,GAAAD,GAAA,eAAAE,KAAA,eAAAC,GAAAH,IAAAI,ICAAC,ICAAC,IAAA,IAAAC,EAA2D,WAK3D,eAAsBC,GACpBC,EACAC,EACAC,EAAiB,SACjBC,EAAyC,OACnB,CACtB,IAAMC,EAAUC,GAAcL,EAAIC,CAAS,EACrC,CAACK,EAAYC,CAAM,EAAI,MAAMC,GAASJ,EAASD,CAAW,EAC1DM,EAAWP,GAAUK,EAAS,UAAY,QAC1CG,EAAOH,EAAS,qBAAuB,oBAC7C,OAAI,OAAO,KAAS,IACX,IAAI,KAAK,CAACD,CAAU,EAAGG,EAAU,CACtC,KAAAC,CACF,CAAC,EAEM,IAAI,KAAK,CAACJ,CAAU,EAAG,CAC5B,KAAAI,CACF,CAAC,CAEL,CAgEA,SAASC,GAAcC,EAAQC,EAAc,CAC3C,IAAMC,EAAmB,CAAC,EAEpBC,EAAqBC,GAAwB,CACjCJ,EAAG,QAAQI,CAAW,EAC9B,QAASC,GAAU,CACzB,GAAIA,IAAU,KAAOA,IAAU,KAC7B,OAEF,IAAMC,EAAWF,EAAc,IAAMC,EAC/BE,EAAQP,EAAG,KAAKM,CAAQ,EACxBE,EAAOR,EAAG,OAAOO,EAAM,IAAI,EAC7BP,EAAG,SAASM,EAAU,CAAE,SAAU,QAAS,CAAC,EAC5C,IAAI,WAAW,CAAC,EACpBJ,EAAM,KAAK,CACT,KAAMI,EAAS,UAAUL,EAAK,MAAM,EACpC,KAAMM,EAAM,KACZ,KAAMA,EAAM,KACZ,KAAMP,EAAG,OAAOO,EAAM,IAAI,EAAI,UAAU,UACxC,WAAYA,EAAM,MAClB,KAAAC,CACF,CAAC,EACGR,EAAG,MAAMO,EAAM,IAAI,GACrBJ,EAAkBG,CAAQ,CAE9B,CAAC,CACH,EAEA,OAAAH,EAAkBF,CAAI,EACfC,CACT,CAEO,SAASO,GAAcT,EAAQU,EAAuB,CAC3D,IAAMR,EAAQH,GAAcC,EAAIU,CAAa,EAE7C,SADgB,OAAIR,CAAK,CAE3B,CAEA,eAAsBS,GACpBC,EACAC,EAAyC,OACT,CAChC,GAAIA,IAAgB,OAClB,MAAO,CAACD,EAAM,EAAK,EACd,GAAI,OAAO,kBAAsB,IACtC,MAAO,CAAC,MAAME,GAAWF,CAAI,EAAG,EAAI,EAC/B,GACL,OAAO,QAAY,KACnB,QAAQ,UACR,QAAQ,SAAS,KAEjB,MAAO,CAAC,MAAMG,GAAQH,CAAI,EAAG,EAAI,EAC5B,GAAIC,IAAgB,OACzB,MAAO,CAACD,EAAM,EAAK,EAEnB,MAAM,IAAI,MAAM,+CAA+C,CAEnE,CAEA,eAAsBE,GAAWF,EAAuC,CACtE,IAAMI,EAAK,IAAI,kBAAkB,MAAM,EACjCC,EAASD,EAAG,SAAS,UAAU,EAC/BE,EAASF,EAAG,SAAS,UAAU,EAErCC,EAAO,MAAML,CAAI,EACjBK,EAAO,MAAM,EAEb,IAAME,EAAuB,CAAC,EAE9B,OAAa,CACX,GAAM,CAAE,MAAAC,EAAO,KAAAC,CAAK,EAAI,MAAMH,EAAO,KAAK,EAC1C,GAAIG,EAAM,MACND,GAAOD,EAAO,KAAKC,CAAK,CAC9B,CAEA,IAAME,EAAa,IAAI,WACrBH,EAAO,OAAO,CAACI,EAAKC,IAAUD,EAAMC,EAAM,OAAQ,CAAC,CACrD,EACIC,EAAS,EACb,OAAAN,EAAO,QAASK,GAAU,CACxBF,EAAW,IAAIE,EAAOC,CAAM,EAC5BA,GAAUD,EAAM,MAClB,CAAC,EAEMF,CACT,CAEA,eAAsBP,GAAQH,EAAuC,CACnE,GAAM,CAAE,UAAAc,CAAU,EAAI,KAAM,QAAO,MAAM,EACnC,CAAE,KAAAC,CAAK,EAAI,KAAM,QAAO,MAAM,EAEpC,OAAO,MADaD,EAAUC,CAAI,EACTf,CAAI,CAC/B,CCpLAgB,ICAAC,ICAAC,IACA,IAAIC,IAAU,IAAM,CAClB,IAAI,YAAcC,EAElB,OACF,eAAe,UAAY,CAAC,EAAG,CAC7B,IAAI,UAEF,OAAO,UAAc,oBAAoB,mBAAuB,aAAa,IAAI,QAAQ,CAACC,EAAQC,IAAS,CAAC,oBAAoBD,EAAQ,mBAAmBC,CAAM,CAAC,EAAM,mBAAmB,OAAO,QAAQ,SAAa,sBAAsB,OAAO,kBAAmB,IAAgB,oBAAoB,OAAO,SAAS,UAAU,OAAO,QAAQ,UAAU,UAAU,OAAO,QAAQ,SAAS,MAAM,UAAU,QAAQ,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAK,CAAC,cAAAC,CAAa,EAAE,KAAM,QAAO,QAAQ,EAAMC,EAAQJ,EAAmBI,EAAQ,WAAW,OAAO,IAAGA,EAAQ,KAAI,IAAI,QAAQD,EAAcC,CAAO,CAAC,CAAC,IAAI,gBAAgB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAM,WAAW,CAAC,EAAM,YAAY,iBAAqB,MAAM,CAACC,EAAOC,IAAU,CAAC,MAAMA,CAAO,EAAM,gBAAgB,GAAG,SAAS,WAAWC,EAAK,CAAC,OAAG,OAAO,WAAsB,OAAO,WAAcA,EAAK,eAAe,EAAS,gBAAgBA,CAAI,CAAC,IAAI,UAAU,WAAW,GAAG,oBAAoB,CAAC,IAAI,GAAG,QAAQ,IAAI,EAAM,SAAS,QAAQ,MAAM,EAAMP,EAAgB,WAAW,OAAO,IAAG,gBAAgB,SAAS,QAAQ,QAAQ,KAAK,EAAE,cAAcA,CAAe,CAAC,EAAE,KAAI,WAAWQ,GAAU,CAACA,EAAS,UAAUA,CAAQ,EAAE,IAAI,IAAIA,CAAQ,EAAEA,EAAS,IAAIC,EAAI,GAAG,aAAaD,CAAQ,EAAE,OAAOC,CAAG,EAAE,UAAU,MAAMD,EAASE,EAAO,KAAO,CAACF,EAAS,UAAUA,CAAQ,EAAE,IAAI,IAAIA,CAAQ,EAAEA,EAAS,IAAIC,EAAI,GAAG,aAAaD,EAASE,EAAO,OAAU,MAAM,EAAE,OAAOD,CAAG,EAAK,CAAC,OAAO,aAAgB,QAAQ,KAAK,OAAO,IAAG,YAAY,QAAQ,KAAK,CAAC,EAAE,QAAQ,MAAM,GAAG,GAAE,WAAW,QAAQ,KAAK,MAAM,CAAC,EAAE,MAAM,CAACJ,EAAOC,IAAU,CAAC,cAAQ,SAASD,EAAaC,CAAO,CAAC,MAAS,oBAAoB,yBAA0B,sBAAuB,gBAAgB,KAAK,SAAS,KAAa,OAAO,SAAU,KAAa,SAAS,gBAAe,gBAAgB,SAAS,cAAc,KAAO,cAAa,gBAAgB,aAAe,gBAAgB,WAAW,OAAO,EAAG,gBAAgB,GAAQ,gBAAgB,gBAAgB,OAAO,EAAE,gBAAgB,QAAQ,SAAS,EAAE,EAAE,YAAY,GAAG,EAAE,CAAC,EAAM,wBAAuB,WAAWK,GAAK,CAAC,IAAIC,EAAI,IAAI,eAAe,OAAAA,EAAI,KAAK,MAAMD,EAAI,EAAK,EAAEC,EAAI,aAAa,cAAcA,EAAI,KAAK,IAAI,EAAS,IAAI,WAAWA,EAAI,QAAQ,CAAC,GAAE,UAAU,MAAMD,GAAK,CAAC,IAAIE,EAAS,MAAM,MAAMF,EAAI,CAAC,YAAY,aAAa,CAAC,EAAE,GAAGE,EAAS,GAAI,OAAOA,EAAS,YAAY,EAAE,MAAM,IAAI,MAAMA,EAAS,OAAO,MAAMA,EAAS,GAAG,CAAC,GAAS,IAAI,IAAI,OAAO,OAAU,QAAQ,IAAI,KAAK,OAAO,EAAM,IAAI,OAAO,UAAa,QAAQ,MAAM,KAAK,OAAO,EAAE,OAAO,OAAO,OAAO,eAAe,EAAE,gBAAgB,KAAQ,OAAO,YAAa,WAAW,OAAO,WAAgB,OAAO,cAAe,YAAY,OAAO,aAAe,IAAI,iBAAiB,OAAO,kBAAqB,CAAC,EAAM,WAAW,OAAO,WAAc,SAAS,mBAAmBC,EAAE,CAAC,GAAG,OAAO,oBAAqB,KAAa,oBAAoB,CAAC,IAAIC,EAAI,OAAO,KAAKD,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAWC,EAAI,OAAOA,EAAI,WAAWA,EAAI,MAAM,CAAC,CAA8D,QAAzDC,EAAQ,KAAKF,CAAC,EAAMG,EAAM,IAAI,WAAWD,EAAQ,MAAM,EAAUE,EAAE,EAAEA,EAAEF,EAAQ,OAAO,EAAEE,EAAGD,EAAMC,CAAC,EAAEF,EAAQ,WAAWE,CAAC,EAAE,OAAOD,CAAK,CAAC,IAAI,WAAe,MAAM,GAAU,WAAW,SAAS,OAAOE,EAAUC,EAAK,CAAKD,GAAW,MAAMC,CAAI,CAAE,CAAC,IAAI,MAAM,OAAO,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,SAAS,mBAAmB,CAAC,IAAIC,EAAE,WAAW,OAAO,OAAO,MAAS,MAAM,IAAI,UAAUA,CAAC,EAAE,OAAO,OAAU,OAAO,IAAI,WAAWA,CAAC,EAAE,OAAO,OAAU,OAAO,IAAI,WAAWA,CAAC,EAAE,OAAO,QAAW,QAAQ,IAAI,YAAYA,CAAC,EAAE,OAAO,OAAU,OAAO,IAAI,WAAWA,CAAC,EAAE,OAAO,QAAW,QAAQ,IAAI,YAAYA,CAAC,EAAE,OAAO,QAAW,QAAQ,IAAI,aAAaA,CAAC,EAAE,OAAO,QAAW,QAAQ,IAAI,aAAaA,CAAC,EAAE,OAAO,OAAU,OAAO,IAAI,cAAcA,CAAC,EAAE,OAAO,QAAW,QAAQ,IAAI,eAAeA,CAAC,CAAC,CAAC,GAAG,OAAO,WAAe,WAAW,OAAO,eAAkB,CAAC,IAAI,eAAe,OAAO,gBAAmB,SAAS,WAAW,IAAI,YAAY,OAAO,CAAC,QAAQ,eAAe,MAAM,QAAQ,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,aAAa,CAAC,EAAM,WAAW,CAAC,EAAM,WAAW,CAAC,EAAM,WAAW,CAAC,EAAM,cAAc,CAAC,EAAM,gBAAgB,CAAC,EAAM,mBAAmB,GAAU,cAAc,GAAM,SAAS,QAAQ,CAAC,GAAG,OAAO,OAAsF,IAAxE,OAAO,OAAO,QAAW,aAAW,OAAO,OAAU,CAAC,OAAO,MAAS,GAAQ,OAAO,OAAU,QAAQ,YAAY,OAAO,OAAU,MAAM,CAAC,EAAG,qBAAqB,YAAY,CAAC,CAAC,SAAS,aAAa,CAAC,mBAAmB,GAAK,qBAAqB,eAAe,EAAK,CAAC,OAAO,UAAa,CAAC,GAAG,aAAY,GAAG,KAAK,EAAE,GAAG,kBAAkB,GAAM,IAAI,KAAK,EAAE,qBAAqB,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,qBAAqB,UAAU,CAAC,CAAC,SAAS,aAAa,CAAC,iBAAiB,EAAE,qBAAqB,UAAU,EAAE,GAAG,KAAK,EAAE,IAAI,SAAS,EAAE,cAAc,EAAI,CAAC,SAAS,SAAS,CAAC,GAAG,OAAO,QAA0F,IAA3E,OAAO,OAAO,SAAY,aAAW,OAAO,QAAW,CAAC,OAAO,OAAU,GAAQ,OAAO,QAAW,QAAQ,aAAa,OAAO,QAAW,MAAM,CAAC,EAAG,qBAAqB,aAAa,CAAC,CAAC,SAAS,YAAYC,EAAG,CAAC,aAAa,QAAQA,CAAE,CAAC,CAAC,SAAS,UAAUA,EAAG,CAAC,WAAW,QAAQA,CAAE,CAAC,CAAC,SAAS,aAAaA,EAAG,CAAC,cAAc,QAAQA,CAAE,CAAC,CAAC,IAAI,gBAAgB,EAAM,sBAAsB,KAAK,SAAS,uBAAuBC,EAAG,CAAC,OAAOA,CAAE,CAAC,SAAS,iBAAiBA,EAAG,CAAC,kBAAkB,OAAO,yBAA4B,eAAe,CAAC,CAAC,SAAS,oBAAoBA,EAAG,CAAuE,GAAtE,kBAAkB,OAAO,yBAA4B,eAAe,EAAK,iBAAiB,GAAM,sBAAsB,CAAC,IAAIC,EAAS,sBAAsB,sBAAsB,KAAKA,EAAS,CAAC,CAAE,CAAC,SAAS,MAAMC,EAAK,CAAC,OAAO,UAAaA,CAAI,EAAEA,EAAK,WAAWA,EAAK,IAAI,IAAIA,CAAI,EAAE,MAAM,GAAKA,GAAM,2CAA2C,IAAIC,EAAE,IAAI,YAAY,aAAaD,CAAI,EAAE,yBAAmBC,CAAC,EAAQA,CAAC,CAAC,IAAI,cAAc,wCAA4C,UAAUlB,GAAUA,EAAS,WAAW,aAAa,EAAM,UAAUA,GAAUA,EAAS,WAAW,SAAS,EAAE,SAAS,gBAAgB,CAAC,GAAG,OAAO,WAAc,CAAC,IAAImB,EAAE,cAAc,OAAI,UAAUA,CAAC,EAA+BA,EAArB,WAAWA,CAAC,CAAU,CAAC,OAAO,IAAI,IAAI,cAAc3B,CAAe,EAAE,IAAI,CAAC,IAAI,eAAe,SAAS,cAAc4B,EAAK,CAAC,GAAGA,GAAM,gBAAgB,WAAY,OAAO,IAAI,WAAW,UAAU,EAAE,GAAG,WAAY,OAAO,WAAWA,CAAI,EAAE,KAAK,iDAAiD,CAAC,eAAe,cAAcC,EAAW,CAAC,GAAG,CAAC,WAAY,GAAG,CAAC,IAAIhB,EAAS,MAAM,UAAUgB,CAAU,EAAE,OAAO,IAAI,WAAWhB,CAAQ,CAAC,MAAM,CAAC,CAAE,OAAO,cAAcgB,CAAU,CAAC,CAAC,eAAe,uBAAuBA,EAAWC,EAAQ,CAAC,GAAG,CAAC,IAAIpB,EAAO,MAAM,cAAcmB,CAAU,EAAME,EAAS,MAAM,YAAY,YAAYrB,EAAOoB,CAAO,EAAE,OAAOC,CAAQ,OAAOC,EAAO,CAAC,IAAI,0CAA0CA,CAAM,EAAE,EAAE,MAAMA,CAAM,CAAC,CAAC,CAAC,eAAe,iBAAiBtB,EAAOmB,EAAWC,EAAQ,CAAC,GAAG,CAACpB,GAAQ,OAAO,YAAY,sBAAsB,YAAY,CAAC,UAAUmB,CAAU,GAAG,CAAC,qBAAqB,OAAO,OAAO,WAAY,GAAG,CAAC,IAAIhB,EAAS,MAAMgB,EAAW,CAAC,YAAY,aAAa,CAAC,EAAMI,EAAoB,MAAM,YAAY,qBAAqBpB,EAASiB,CAAO,EAAE,OAAOG,CAAmB,OAAOD,EAAO,CAAC,IAAI,kCAAkCA,CAAM,EAAE,EAAE,IAAI,2CAA2C,CAAC,CAAE,OAAO,uBAAuBH,EAAWC,CAAO,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,uBAAuB,YAAY,UAAU,IAAI,MAAM,YAAY,UAAU,EAAE,WAAW,IAAI,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,SAASI,EAAgBH,EAASI,EAAO,CAAC,YAAYJ,EAAS,QAAQ,YAAY,gBAAgB,YAAY,IAAI,EAAE,IAAIK,EAAS,kBAAkBD,CAAM,EAAE,OAAGC,EAAS,gBAAe,iBAAiBA,EAAS,cAAc,OAAO,gBAAgB,GAAE,gBAAgB,YAAY,MAAM,EAAE,KAAK,KAAK,EAAE,WAAW,EAAE,UAAU,YAAY,iBAAoB,EAAE,gBAAgB,KAAK,YAAY,wBAA2B,EAAE,oBAAoB,kBAAkB,EAAS,WAAW,CAAC,iBAAiB,kBAAkB,EAAE,SAASC,EAA2BC,EAAO,CAACJ,EAAgBI,EAAO,SAAYA,EAAO,MAAS,CAAC,CAAC,IAAIC,EAAK,eAAe,EAAE,GAAG,OAAO,gBAAoB,GAAG,CAAC,OAAO,OAAO,gBAAmBA,EAAKL,CAAe,CAAC,OAAOR,EAAE,CAAC,IAAI,sDAAsDA,CAAC,EAAE,EAAE,mBAAmBA,CAAC,CAAC,CAAE,gCAAiB,eAAe,GAAE,GAAG,CAAC,IAAIY,EAAO,MAAM,iBAAiB,WAAW,eAAeC,CAAI,EAAE,OAAAF,EAA2BC,CAAM,EAASA,CAAM,OAAOZ,EAAE,CAAC,mBAAmBA,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,MAAM,UAAU,CAAmB,YAAYrB,EAAO,CAArCmC,EAAA,YAAK,cAAiC,KAAK,QAAQ,gCAAgCnC,CAAM,IAAI,KAAK,OAAOA,CAAM,CAAC,CAAC,IAAI,IAAI,CAAC,EAAM,yBAAyB,IAAI,IAAI,CAAC,CAAC,EAAM,WAAW,CAAC,IAAIoC,EAAIC,EAAQ,CAAC,IAAIC,EAAI,IAAID,CAAO,EAAE,OAAIC,IAAKA,EAAI,IAAID,CAAO,EAAE,IAAI,YAAY,OAAO,CAAC,MAAM,MAAM,QAAQ,EAAI,CAAC,GAAM,yBAAyB,IAAIA,CAAO,IAAGC,EAAI,SAAS,IAAYA,CAAG,CAAC,EAAM,qBAAqBC,GAAW,CAAC,KAAMA,EAAU,OAAO,GAAGA,EAAU,MAAM,EAAE,MAAM,CAAE,EAAM,YAAY,OAAO,YAAa,IAAY,IAAI,YAAY,OAAc,kBAAkB,CAACC,EAAYC,EAAI,EAAEC,EAAe,MAAM,CAA8C,QAAzCC,EAAOF,EAAIC,EAAmBE,EAAOH,EAAUD,EAAYI,CAAM,GAAG,EAAEA,GAAQD,IAAQ,EAAEC,EAAO,GAAGA,EAAOH,EAAI,IAAID,EAAY,QAAQ,YAAa,OAAO,YAAY,OAAOA,EAAY,SAASC,EAAIG,CAAM,CAAC,EAAa,QAAPC,EAAI,GAASJ,EAAIG,GAAO,CAAC,IAAIE,EAAGN,EAAYC,GAAK,EAAE,GAAG,EAAEK,EAAG,KAAK,CAACD,GAAK,OAAO,aAAaC,CAAE,EAAE,QAAQ,CAAC,IAAIC,EAAGP,EAAYC,GAAK,EAAE,GAAG,IAAIK,EAAG,MAAM,IAAI,CAACD,GAAK,OAAO,cAAcC,EAAG,KAAK,EAAEC,CAAE,EAAE,QAAQ,CAAC,IAAIC,EAAGR,EAAYC,GAAK,EAAE,GAAmG,IAA5FK,EAAG,MAAM,IAAKA,GAAIA,EAAG,KAAK,GAAGC,GAAI,EAAEC,EAAQF,GAAIA,EAAG,IAAI,GAAGC,GAAI,GAAGC,GAAI,EAAER,EAAYC,GAAK,EAAE,GAAMK,EAAG,MAAOD,GAAK,OAAO,aAAaC,CAAE,MAAM,CAAC,IAAIG,EAAGH,EAAG,MAAMD,GAAK,OAAO,aAAa,MAAMI,GAAI,GAAG,MAAMA,EAAG,IAAI,CAAC,CAAC,CAAC,OAAOJ,CAAG,EAAM,kBAAkBxC,GAAQ,CAAC,IAAI6C,EAAO,EAAMC,EAAI,EAAE,SAASC,GAAO,CAAC,OAAO/C,EAAO6C,GAAQ,CAAC,CAAC,SAASG,GAAQ,CAAqB,QAAhBjD,EAAI,EAAMkD,GAAI,IAAU,CAAC,IAAIC,GAAKlD,EAAO6C,GAAQ,EAA+B,GAA7B9C,IAAMmD,GAAK,KAAKD,GAAIA,IAAK,IAAO,EAAEC,GAAK,KAAK,KAAK,CAAC,OAAOnD,CAAG,CAAC,SAASoD,GAAW,CAAC,IAAIC,EAAIJ,EAAO,EAAE,OAAAH,GAAQO,EAAW,kBAAkBpD,EAAO6C,EAAOO,EAAIA,CAAG,CAAC,CAAC,SAASC,EAAO5C,EAAU6C,GAAQ,CAAC,GAAG7C,EAAU,MAAM,IAAI,MAAM6C,EAAO,CAAC,CAAC,IAAIC,EAAK,WAAW,GAAGvD,aAAkB,YAAY,OAAO,CAAC,IAAIwD,EAAc,YAAY,OAAO,eAAexD,EAAOuD,CAAI,EAAKC,EAAc,SAAS,IAAGD,EAAK,SAASC,EAAc,YAAY,OAAO,eAAexD,EAAOuD,CAAI,GAAEF,EAAOG,EAAc,SAAS,EAAE,qBAAqB,EAAExD,EAAO,IAAI,WAAWwD,EAAc,CAAC,CAAC,EAAEV,EAAI9C,EAAO,MAAM,KAAK,CAAC,IAAIyD,EAAU,IAAI,YAAY,IAAI,WAAWzD,EAAO,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,EAAM0D,EAAiBD,EAAU,CAAC,GAAG,WAAWJ,EAAO,CAACK,EAAiB,+BAA+B,EAAEL,EAAOrD,EAAO,CAAC,IAAI,EAAE,qCAAqC,EAAE6C,EAAO,EAAE,IAAIc,EAAaX,EAAO,EAAEF,EAAID,EAAOc,EAAaJ,EAAKJ,EAAU,CAAC,CAAC,IAAIS,EAAc,CAAC,cAAc,CAAC,EAAE,WAAW,IAAI,IAAI,YAAY,IAAI,GAAG,EAAE,GAAGL,GAAM,SAAS,CAACK,EAAc,WAAWZ,EAAO,EAAEY,EAAc,YAAYZ,EAAO,EAAEY,EAAc,UAAUZ,EAAO,EAAEY,EAAc,WAAWZ,EAAO,EAAkC,QAA5Ba,EAAmBb,EAAO,EAAUxC,EAAE,EAAEA,EAAEqD,EAAmB,EAAErD,EAAE,CAAC,IAAIsD,EAAQX,EAAU,EAAES,EAAc,cAAc,KAAKE,CAAO,CAAC,CAAC,KAAK,CAACT,EAAOE,IAAO,UAAU,EAAwM,QAAlMQ,EAAqB,EAAMC,EAAmB,EAAMC,EAAwB,EAAMC,EAAwB,EAAMC,EAAgB,IAAQC,EAAyB,EAAMC,EAAyB,EAAQxB,EAAOC,GAAI,CAAC,IAAIwB,EAAevB,EAAM,EAAMwB,GAAevB,EAAO,EAAE,GAAGsB,IAAiBP,EAAsBH,EAAc,WAAWZ,EAAO,EAAEY,EAAc,YAAYZ,EAAO,EAAEY,EAAc,UAAUZ,EAAO,EAAEY,EAAc,WAAWZ,EAAO,UAAUsB,IAAiBN,EAAoD,QAA5BH,EAAmBb,EAAO,EAAUxC,EAAE,EAAEA,EAAEqD,EAAmB,EAAErD,EAAGsD,EAAQX,EAAU,EAAES,EAAc,cAAc,KAAKE,CAAO,UAAWQ,IAAiBL,EAA4C,QAAfO,GAAMxB,EAAO,EAAQwB,MAAQ,CAAC,IAAIC,GAAQtB,EAAU,EAAMuB,GAAM1B,EAAO,EAAK0B,GAAMP,GAAiBP,EAAc,WAAW,IAAIa,EAAO,CAAE,SAAUH,IAAiBJ,EAA4C,QAAfM,GAAMxB,EAAO,EAAQwB,MAAQ,CAAC,IAAIG,GAAQxB,EAAU,EAAMsB,GAAQtB,EAAU,EAAMuB,GAAM1B,EAAO,GAAM0B,GAAMN,IAA2BC,GAA0BT,EAAc,YAAY,IAAIa,EAAO,CAAE,MAAO5B,GAAQ0B,EAAe,CAAC,CAAC,OAAOX,CAAa,EAAM,OAAO,CAACL,EAAKqB,EAAOC,IAAO,CAAC,IAAIC,EAAI,CAAC,SAAS,IAAS,KAAAvB,EAAK,QAAQsB,EAAK,OAAO,EAAI,EAAE,YAAK,iBAAiBtB,CAAI,EAAEuB,EAAOF,GAAQ,OAAW,KAAK,mBAAmBA,CAAM,EAAEE,GAAWA,CAAG,EAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,OAAO,WAAW,EAAE,WAAW,CAAC,CAAC,EAAM,aAAa,OAAW,YAAY,CAACC,EAAKC,IAAY,KAAK,KAAKD,EAAKC,CAAS,EAAEA,EAAc,UAAUD,GAAM,CAAC,GAAG,mBAAoB,OAAO,QAAQA,EAAK,CAAC,EAAE,IAAIhF,EAAI,aAAiB+C,EAAI/C,EAAI,YAAYgF,EAAK,EAAE,EAAE,oBAAajC,EAAI,IAAI,YAAe,MAAMA,EAAW/C,CAAG,EAAM,cAAciC,GAAS,CAAC,kBAAkB,cAAc,2BAA2B,eAAe,aAAa,cAAc,qBAAqB,uBAAuB,kBAAkB,oBAAoB,iBAAiB,gBAAgB,gBAAgB,cAAc,EAAE,SAASA,CAAO,GAAGA,EAAQ,WAAW,WAAW,EAAM,cAAc,CAACiD,EAAEC,IAAS,CAAID,EAAE,IAAKC,EAAO,KAAKD,CAAC,EAAOC,EAAO,KAAKD,EAAE,IAAI,IAAIA,GAAG,CAAC,CAAE,EAAM,eAAeE,GAAK,CAA2I,QAAtIC,EAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAMC,EAAK,CAAC,WAAW,CAAC,EAAE,QAAQF,EAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAACC,EAAUD,EAAI,CAAC,CAAC,CAAC,CAAC,EAAU3E,EAAE,EAAEA,EAAE2E,EAAI,OAAO,EAAE3E,EAAG6E,EAAK,WAAW,KAAKD,EAAUD,EAAI3E,CAAC,CAAC,CAAC,EAAE,OAAO6E,CAAI,EAAM,iBAAiB,CAACF,EAAID,IAAS,CAAC,IAAII,EAAOH,EAAI,MAAM,EAAE,CAAC,EAAMI,EAASJ,EAAI,MAAM,CAAC,EAAMK,EAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAEN,EAAO,KAAK,EAAE,EAAE,cAAcK,EAAS,OAAOL,CAAM,EAAE,QAAQ1E,EAAE,EAAEA,EAAE+E,EAAS,OAAO,EAAE/E,EAAG0E,EAAO,KAAKM,EAAUD,EAAS/E,CAAC,CAAC,CAAC,EAAK8E,GAAQ,IAAKJ,EAAO,KAAK,CAAC,EAAOA,EAAO,KAAK,EAAEM,EAAUF,CAAM,CAAC,CAAE,EAAM,wBAAwB,CAACG,EAAKN,IAAM,CAAC,GAAG,OAAO,YAAY,UAAU,WAAY,OAAO,IAAI,YAAY,SAAS,eAAeA,CAAG,EAAEM,CAAI,EAAE,IAAIC,EAAgB,CAAC,CAAC,EAAE,iBAAiBP,EAAIO,CAAe,EAAE,IAAInF,EAAM,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,cAAcmF,EAAgB,OAAOnF,CAAK,EAAEA,EAAM,KAAK,GAAGmF,CAAe,EAAEnF,EAAM,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAIkB,EAAO,IAAI,YAAY,OAAO,IAAI,WAAWlB,CAAK,CAAC,EAAMc,EAAS,IAAI,YAAY,SAASI,EAAO,CAAC,EAAE,CAAC,EAAEgE,CAAI,CAAC,CAAC,EAAME,EAAYtE,EAAS,QAAQ,EAAK,OAAOsE,CAAW,EAAM,gBAAgB,CAAC,EAAM,UAAU,IAAI,YAAY,MAAM,CAAC,QAAQ,GAAG,QAAQ,SAAS,CAAC,EAAM,kBAAkBC,GAAS,CAAC,IAAIH,EAAK,gBAAgBG,CAAO,EAAE,OAAIH,IAASG,GAAS,gBAAgB,SAAO,gBAAgB,OAAOA,EAAQ,GAAE,gBAAgBA,CAAO,EAAEH,EAAK,UAAU,IAAIG,CAAO,GAASH,CAAI,EAAM,eAAe,CAAC5C,EAAO2B,IAAQ,CAAC,GAAG,oBAAqB,QAAQhE,EAAEqC,EAAOrC,EAAEqC,EAAO2B,EAAMhE,IAAI,CAAC,IAAIqF,EAAK,kBAAkBrF,CAAC,EAAKqF,GAAM,oBAAoB,IAAIA,EAAKrF,CAAC,CAAE,CAAE,EAAM,oBAAwB,mBAAmBiF,IAAW,sBAAqB,oBAAoB,IAAI,QAAQ,eAAe,EAAE,UAAU,MAAM,GAAS,oBAAoB,IAAIA,CAAI,GAAG,GAAO,iBAAiB,CAAC,EAAM,kBAAkB,IAAI,CAAC,GAAG,iBAAiB,OAAQ,OAAO,iBAAiB,IAAI,EAAE,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,OAAOK,EAAI,CAAC,MAAKA,aAAe,WAA4B,qDAATA,CAA6D,CAAC,OAAO,UAAU,OAAO,CAAC,EAAM,kBAAkB,CAAC1D,EAAIqD,IAAO,CAAC,UAAU,IAAIrD,EAAIqD,CAAI,EAAE,gBAAgBrD,CAAG,EAAE,UAAU,IAAIA,CAAG,CAAC,EAAM,YAAY,CAACqD,EAAKN,IAAM,CAAC,IAAIlD,EAAI,mBAAmBwD,CAAI,EAAE,GAAGxD,EAAK,OAAOA,EAAI,IAAIlC,EAAI,kBAAkB,EAAE,GAAG,CAAC,kBAAkBA,EAAI0F,CAAI,CAAC,OAAOK,EAAI,CAAC,GAAG,EAAEA,aAAe,WAAY,MAAMA,EAAI,IAAIC,EAAQ,wBAAwBN,EAAKN,CAAG,EAAE,kBAAkBpF,EAAIgG,CAAO,CAAC,CAAC,2BAAoB,IAAIN,EAAK1F,CAAG,EAASA,CAAG,EAAM,UAAU,CAACiG,EAAQC,IAAU,CAAC,QAAQjE,KAAWgE,EAAS,GAAG,eAAchE,CAAO,EAAY,KAAIkE,EAAMF,EAAQhE,CAAO,EAAE,IAAAA,KAAA,IAAAA,GAAe,IAAI,YAAY,OAAO,CAAC,MAAM,MAAM,QAAQ,EAAI,CAAC,IAAKiE,GAAS,IAAIjE,CAAO,EAAE,OAAO,KAAM,OAAOkE,GAAO,WAAY,IAAIlE,CAAO,EAAE,MAAM,YAAYkE,CAAK,EAAU,OAAOA,GAAO,SAAU,IAAIlE,CAAO,EAAE,MAAMkE,EAAW,IAAI,8BAA8BlE,CAAO,MAAM,OAAOkE,CAAK,EAAE,GAAI,EAAM,gBAAgB,CAACF,EAAQG,EAAWF,IAAU,CAAC,IAAIG,EAAU,CAAC,EAAE,QAAQpF,KAAKgF,EAAQ,CAAC,IAAIE,EAAMF,EAAQhF,CAAC,EAAK,OAAOkF,GAAO,WAAUA,EAAMA,EAAM,OAAS,OAAOA,GAAO,WAAUA,GAAOC,GAAWC,EAAUpF,CAAC,EAAEkF,CAAK,CAAC,iBAAUE,EAAUH,CAAO,EAASG,CAAS,EAAM,gBAAgBpE,GAAS,CAAC,IAAIqE,EAAS,YAAYrE,CAAO,EAAE,MAAG,GAACqE,GAAUA,EAAS,KAA8B,EAAM,QAAQ,CAAClB,EAAImB,EAAIC,EAAK,CAAC,IAAI,CAAC,IAAItE,EAAI,kBAAkBqE,CAAG,EAAE,GAAGC,CAAI,EAAE,OAAOtE,CAAG,EAAM,UAAU,IAAI,8BAA8B,EAAM,aAAauE,GAAK,2BAA2BA,CAAG,EAAM,qBAAqBrB,GAAK,CAACmB,KAAOC,IAAO,CAAC,IAAIE,EAAG,UAAU,EAAE,GAAG,CAAC,OAAO,QAAQtB,EAAImB,EAAIC,CAAI,CAAC,OAAOvF,EAAE,CAAkB,GAAjB,aAAayF,CAAE,EAAKzF,IAAIA,EAAE,EAAE,MAAMA,EAAiB,GAAf,UAAU,EAAE,CAAC,EAAKmE,EAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC,EAAM,oBAAoB,CAACnD,EAAQ0E,EAAO,KAAQ,CAAC,IAAIC,EAAI,OAAG,gBAAgB3E,CAAO,EAAG2E,EAAI,YAAY3E,CAAO,EAAUA,EAAQ,WAAW,SAAS,IAAG2E,EAAI,YAAY3E,CAAO,EAAE,qBAAqBA,EAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,GAAQ,CAAC,IAAA2E,EAAI,KAAK3E,CAAO,CAAC,EAAM,aAAa,CAACsE,EAAIjE,IAAiBiE,EAAI,kBAAkB,OAAOA,EAAIjE,CAAc,EAAE,GAAO,sBAAsB,CAAC,OAAO,MAAM,QAAQ,WAAW,SAAS,CAAC,IAAI,SAAS,kBAAkB,MAAM,EAAE,yBAAyB,SAAS,YAAY,SAAS,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,SAAS,WAAW,EAAM,WAAW,SAAS,WAAW,YAAY,UAAU,SAAS,WAAW,QAAQ,EAAE,QAAQ,EAAE,EAAM,UAAU,SAAS,UAAU,UAAU,OAAO,EAAK,SAAQ,MAAM,OAAO,CAAC,EAAE,EAAE,QAAQ,OAAO,IAAI,CAAC,EAAE,WAAW,OAAO,OAAO,IAAI,CAAC,EAAE,SAAS,WAAW,QAAQ,OAAO,IAAI,CAAC,EAAE,UAAU,OAAO,OAAO,IAAI,CAAC,EAAE,SAAS,UAAU,MAAM,WAAW,QAAQ,OAAO,IAAI,CAAC,EAAE,UAAU,QAAQ,OAAO,IAAI,CAAC,EAAE,IAAI,kBAAkB,UAAU,SAAS,UAAU,UAAU,OAAU,kBAAkB,GAAG,UAAU,KAAK,iBAAiB,EAAE,IAAI,cAAc,SAAS,cAAcsE,EAAI,CAAC,IAAIC,EAAS,oBAAoBD,CAAG,EAAE,IAAI,MAAG,CAACC,GAAU,aAAYA,EAAS,WAAWD,CAAG,GAAMC,IAAUA,EAAS,cAAcD,CAAG,GAASC,CAAQ,CAAC,IAAI,aAAa,CAAC,IAAIC,EAAMC,EAAK,CAAC,OAAOA,EAAK,CAAC,IAAI,gBAAgB,OAAO,WAAW,IAAI,eAAe,OAAO,SAAS,CAAC,GAAGA,KAAQ,aAAa,CAAC,YAAYA,CAAI,EAAE,KAAM,OAAO,YAAYA,CAAI,EAAE,GAAG,EAAEA,KAAQD,GAAO,CAAC,IAAID,EAASC,EAAMC,CAAI,EAAE,IAAIP,KAAQK,MAAW,cAAcE,CAAI,GAASF,EAAS,GAAGL,CAAI,EAAE,CAAC,OAAOM,EAAMC,CAAI,CAAC,CAAC,EAAM,MAAM,IAAI,MAAM,CAAC,EAAE,YAAY,EAAM,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,MAAM,uBAAuB,KAAK,EAAE,SAAS,kBAAkB,OAAO,SAAS,CAAC,eAAe,UAAU,SAAS,SAAS,EAAE,cAAc,gBAAgB,SAAS,QAAQ,UAAU,EAAM,MAAM,gBAAgB,uBAAuB,EAAE,SAAS,SAAS,KAAK,KAAK,CAAyB,QAApB,KAAK,CAAC,EAAM,MAAM,EAAO,MAAM,IAAe,KAAK,QAAQ,IAAI,KAAK,GAAG,GAArC,QAAyC,KAAK,KAAK,IAAI,KAAK,EAAc,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,UAAU,IAAI,MAAM,WAAW,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,mBAAmB,cAAiG,QAA9E,MAAM,cAAc,eAAsB,KAAK,cAAc,cAAuB,MAAM,MAAK,CAAC,IAAI,SAAS,aAAa,KAAK,EAAE,SAAS,MAAM,QAAQ,EAAE,MAAM,OAAO,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAE,SAAS,QAAQ,KAAK,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,EAAwB,GAAtB,KAAK,KAAK,MAAM,EAAE,EAAE,EAAK,MAAM,OAAO,CAAC,KAAK,KAAK,MAAM,GAAG,EAAE,QAAQ,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,MAAM,QAAQ,IAAI,IAAI,cAAc,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,QAAQ,QAAQ,cAAe,GAAG,KAAK,WAAW,WAAW,EAAE,CAAC,IAAI,MAAM,cAAc,IAAI,EAAM,SAAS,aAAa,KAAK,EAAM,MAAM,SAAS,MAAM,MAAM,EAAE,QAAQ,KAAK,QAAQ,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,cAAc,IAAI,CAAC,CAAE,IAAI,YAAY,cAAc,yBAA+B,cAAgB,mBAAoB,YAAY,EAAO,gBAAgB,KAAK,WAAW,GAAG,IAAI,KAAK,cAAc,kBAAqB,OAAG,OAAS,mBAAoB,KAAK,EAAO,WAAW,KAAK,IAAI,GAAU,aAAa,CAAC,GAAG,MAAM,UAAU,CAAC,GAAG,kBAAkB,YAAY,OAAO,CAAC,IAAI,SAAS,IAAI,YAAY,SAAS,OAAO,IAAI,EAAE,OAAO,QAAQ,QAAQ,kBAAkB,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,YAAY,YAAY,OAAO,IAAI,EAAE,KAAKlF,GAAQ,kBAAkBA,EAAO,OAAOA,EAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,kBAAkB,YAAY,OAAO,OAAO,IAAI,YAAY,OAAO,MAAM,EAAM,SAAS,IAAI,YAAY,SAAS,OAAO,IAAI,EAAE,OAAO,kBAAkB,OAAO,QAAQ,CAAC,CAAC,OAAG,MAAM,UAAkB,SAAS,cAAc,OAAO,CAACmF,EAAMC,IAAYD,EAAM,KAAK,IAAI,mBAAmBC,EAAU,MAAM,UAAU,CAAC,EAAE,QAAQ,QAAQ,CAAC,EAAE,KAAK,UAAU,GAAE,SAAS,cAAc,QAAQC,GAAQ,mBAAmBA,EAAO,MAAM,UAAU,CAAC,EAAS,WAAW,EAAC,EAAM,gBAAgB,CAACjB,EAAQkB,IAAU,CAAC,OAAO,CAACP,EAAIQ,CAAG,IAAI,OAAO,QAAQnB,CAAO,EAAE,CAAC,IAAMoB,EAAUlC,GAAQ,CAAK,gBAAgBA,CAAM,IAAG,YAAYA,CAAM,EAAEiC,EAAI,EAAEC,EAAUT,CAAG,EAAE,IAAMU,EAAW,mBAAsBV,GAAK,QAAQS,EAAUC,CAAU,EAAKV,GAAKU,GAAYD,EAAU,MAAM,CAAE,CAAC,EAAM,UAAU,MAAMnH,GAAK,CAAC,IAAIqH,EAAY,MAAM,UAAUrH,CAAG,EAAE,OAAO,IAAI,WAAWqH,CAAW,CAAC,EAAM,eAAe,OAAO,gBAAmB,CAAC,EAAM,mBAAmB,IAAI,CAAC,IAAIC,EAAW,CAAC,gBAAgB,QAAQ,QAAQ,EAAE,UAAUhE,GAAM,CAAC,OAAO,gBAAmBA,EAAK,SAAS,KAAK,EAAE,OAAO,CAACiE,EAAUjE,EAAKkE,EAAOC,IAAU,CAACH,EAAW,gBAAmBA,EAAW,gBAAmB,KAAK,IAAI,sBAAsBC,EAAU,CAAC,UAAU,GAAK,SAAS,EAAI,EAAEjE,EAAK,CAAC,CAAC,CAAC,EAAE,KAAKyC,GAAS,CAAC,cAAczC,CAAI,EAAEyC,EAAQyB,EAAOD,CAAS,CAAC,EAAEG,GAAO,CAAC,IAAI,+BAA+BpE,CAAI,KAAKoE,CAAK,EAAE,EAAED,EAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,KAAKH,CAAU,CAAC,EAAM,cAAc,CAAC,EAAE,SAAS,mBAAmBL,EAAQxC,EAAM,CAAC,OAAO,GAAK,SAAS,EAAI,EAAEkD,EAAWhD,EAAO,CAAC,IAAIE,EAAI,KAAK,iBAAiBoC,CAAO,EAAE,GAAGpC,EAAK,OAAIJ,EAAM,OAAuEI,EAAI,SAAQA,EAAI,OAAO,GAAK,gBAAgBA,EAAI,QAAQoC,CAAO,GAA3HU,GAAY,OAAO,OAAOA,EAAW9C,EAAI,OAAO,EAAgFJ,EAAM,UAAUI,EAAI,WAAW,MAAUA,EAAI,SAAS,KAASA,EAAI,WAAcF,IAAQ,KAAK,mBAAmBA,CAAM,EAAEE,GAAWJ,EAAM,UAAU,QAAQ,QAAQ,EAAI,EAAE,GAAKI,EAAI,OAAOoC,EAAQtC,EAAO,SAAS,EAAEE,EAAI,SAASJ,EAAM,SAAS,IAAS,EAAEI,EAAI,OAAOJ,EAAM,OAAO,SAASmD,GAAa,CAAC,GAAGjD,EAAO,CAAC,IAAIkD,EAAK,QAAQlD,EAAO,IAAI,CAAC,EAAMmD,EAAS,QAAQnD,EAAO,IAAI,CAAC,EAAE,GAAGkD,GAAMC,EAAS,CAAC,IAAIC,EAAQ,MAAM,MAAMF,EAAKA,EAAKC,CAAQ,EAAE,OAAOrD,EAAM,UAAU,QAAQ,QAAQsD,CAAO,EAAEA,CAAO,CAAC,CAAC,IAAIC,EAAQ,WAAWf,CAAO,EAAE,GAAGxC,EAAM,UAAW,OAAO,UAAUuD,CAAO,EAAE,GAAG,CAAC,WAAY,MAAM,IAAI,MAAM,GAAGA,CAAO,8EAA8E,EAAE,OAAO,WAAWA,CAAO,CAAC,CAAC,SAASC,GAAY,CAAC,IAAIC,EAAU,cAAcjB,CAAO,EAAE,OAAGiB,EAAkBzD,EAAM,UAAU,QAAQ,QAAQyD,CAAS,EAAEA,EAAazD,EAAM,UAAkBmD,EAAY,EAAE,KAAKG,GAAS,sBAAsBA,EAAQtD,EAAMwC,EAAQU,EAAWhD,CAAM,CAAC,EAAS,sBAAsBiD,EAAY,EAAEnD,EAAMwC,EAAQU,EAAWhD,CAAM,CAAC,CAAC,SAASwD,EAAapC,EAAQ,CAAIlB,EAAI,OAAQ,gBAAgBkB,EAAQkB,CAAO,EAAUU,GAAY,OAAO,OAAOA,EAAW5B,CAAO,EAAElB,EAAI,QAAQkB,CAAO,CAAC,OAAGtB,EAAM,UAAkBwD,EAAW,EAAE,KAAKlC,IAAUoC,EAAapC,CAAO,EAAS,GAAK,GAAEoC,EAAaF,EAAW,CAAC,EAAS,GAAI,CAAC,IAAI,uBAAuB,IAAI,CAAC,OAAO,CAAClG,EAAQqG,CAAK,IAAI,OAAO,QAAQ,GAAG,EAAG,GAAGA,EAAM,OAAO,EAAE,CAAC,IAAInC,EAAM,oBAAoBlE,EAAQ,EAAI,EAAE,IAAI,GAAG,CAACkE,GAAO,CAACmC,EAAM,SAAU,SAAS,GAAG,OAAOnC,GAAO,WAAYmC,EAAM,MAAM,YAAYnC,EAAMA,EAAM,GAAG,UAAU,OAAOA,GAAO,SAAUmC,EAAM,MAAMnC,MAAW,OAAM,IAAI,MAAM,wBAAwBlE,CAAO,MAAM,OAAOkE,CAAK,EAAE,CAAE,CAAE,EAAM,WAAW,IAAI,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,YAAY,EAAE,iBAAiB,OAAO,CAACa,EAAMuB,IAAMvB,EAAM,KAAK,IAAI,mBAAmBuB,EAAI,CAAC,UAAU,GAAK,OAAO,GAAK,SAAS,GAAK,eAAe,EAAI,CAAC,CAAC,EAAE,QAAQ,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,YAAY,CAAC,CAAC,CAAC,EAAM,cAAc,OAAO,eAAkB,GAAU,mBAAmB,CAACC,EAAGpD,IAAM,kBAAkBoD,CAAE,EAAEpD,CAAG,EAAE,mBAAmB,IAAI,MAAM,IAAI,eAAe,IAAI,YAAY,OAAO,CAAC,MAAM,MAAM,QAAQ,EAAK,EAAE,IAAI,EAAM,iBAAiB,IAAI,YAAY,OAAO,CAAC,MAAM,MAAM,QAAQ,EAAI,EAAE,MAAM,EAAM,KAAK,CAAC,MAAMtF,GAAMA,EAAK,OAAO,CAAC,IAAI,IAAI,UAAUC,GAAU,CAAC,IAAI0I,EAAY,gEAAgE,OAAOA,EAAY,KAAK1I,CAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC2I,EAAMC,IAAiB,CAAU,QAALC,EAAG,EAAUnI,EAAEiI,EAAM,OAAO,EAAEjI,GAAG,EAAEA,IAAI,CAAC,IAAIoI,EAAKH,EAAMjI,CAAC,EAAKoI,IAAO,IAAKH,EAAM,OAAOjI,EAAE,CAAC,EAAUoI,IAAO,MAAMH,EAAM,OAAOjI,EAAE,CAAC,EAAEmI,KAAaA,IAAIF,EAAM,OAAOjI,EAAE,CAAC,EAAEmI,IAAK,CAAC,GAAGD,EAAgB,KAAKC,EAAGA,IAAMF,EAAM,QAAQ,IAAI,EAAG,OAAOA,CAAK,EAAE,UAAU5I,GAAM,CAAC,IAAIgJ,EAAW,KAAK,MAAMhJ,CAAI,EAAEiJ,EAAcjJ,EAAK,OAAO,EAAE,IAAI,IAAI,OAAAA,EAAK,KAAK,eAAeA,EAAK,MAAM,GAAG,EAAE,OAAOkJ,GAAG,CAAC,CAACA,CAAC,EAAE,CAACF,CAAU,EAAE,KAAK,GAAG,EAAK,CAAChJ,GAAM,CAACgJ,IAAYhJ,EAAK,KAAOA,GAAMiJ,IAAejJ,GAAM,MAAWgJ,EAAW,IAAI,IAAIhJ,CAAI,EAAE,QAAQA,GAAM,CAAC,IAAI+B,EAAO,KAAK,UAAU/B,CAAI,EAAEmJ,EAAKpH,EAAO,CAAC,EAAEqH,EAAIrH,EAAO,CAAC,EAAE,MAAG,CAACoH,GAAM,CAACC,EAAW,KAAOA,IAAKA,EAAIA,EAAI,OAAO,EAAEA,EAAI,OAAO,CAAC,GAASD,EAAKC,EAAG,EAAE,SAASpJ,GAAM,CAAC,GAAGA,IAAO,IAAI,MAAM,IAAIA,EAAK,KAAK,UAAUA,CAAI,EAAEA,EAAKA,EAAK,QAAQ,MAAM,EAAE,EAAE,IAAIqJ,EAAUrJ,EAAK,YAAY,GAAG,EAAE,OAAGqJ,IAAY,GAAUrJ,EAAYA,EAAK,OAAOqJ,EAAU,CAAC,CAAC,EAAE,KAAK,IAAIC,IAAQ,KAAK,UAAUA,EAAM,KAAK,GAAG,CAAC,EAAE,MAAM,CAACC,EAAE,IAAI,KAAK,UAAUA,EAAE,IAAI,CAAC,CAAC,EAAM,eAAe,IAAI,CAAC,GAAG,OAAO,QAAQ,UAAU,OAAO,OAAO,iBAAoB,WAAY,OAAOC,GAAM,OAAO,gBAAgBA,CAAI,EAAO,GAAG,oBAAqB,GAAG,CAAC,IAAIC,EAAc,QAAQ,QAAQ,EAAMC,EAAeD,EAAc,eAAkB,GAAGC,EAAgB,OAAOF,GAAMC,EAAc,eAAkBD,CAAI,EAAE,IAAIG,EAAYF,EAAc,YAAe,OAAOD,IAAOA,EAAK,IAAIG,EAAYH,EAAK,UAAU,CAAC,EAAEA,EAAK,MAAS,CAAC,CAAE,MAAM,kBAAkB,CAAC,EAAM,WAAWA,IAAO,WAAW,eAAe,GAAGA,CAAI,EAAM,QAAQ,CAAC,QAAQ,IAAI9C,IAAO,CAA4C,QAAvCkD,EAAa,GAAGC,EAAiB,GAAclJ,EAAE+F,EAAK,OAAO,EAAE/F,GAAG,IAAI,CAACkJ,EAAiBlJ,IAAI,CAAC,IAAIX,EAAKW,GAAG,EAAE+F,EAAK/F,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAOX,GAAM,SAAU,MAAM,IAAI,UAAU,2CAA2C,EAAO,GAAG,CAACA,EAAM,MAAM,GAAG4J,EAAa5J,EAAK,IAAI4J,EAAaC,EAAiB,KAAK,MAAM7J,CAAI,CAAC,CAAC,OAAA4J,EAAa,KAAK,eAAeA,EAAa,MAAM,GAAG,EAAE,OAAOV,GAAG,CAAC,CAACA,CAAC,EAAE,CAACW,CAAgB,EAAE,KAAK,GAAG,GAASA,EAAiB,IAAI,IAAID,GAAc,GAAG,EAAE,SAAS,CAACE,EAAKC,IAAK,CAACD,EAAK,QAAQ,QAAQA,CAAI,EAAE,OAAO,CAAC,EAAEC,EAAG,QAAQ,QAAQA,CAAE,EAAE,OAAO,CAAC,EAAE,SAASC,EAAKC,EAAI,CAAa,QAARC,EAAM,EAAOA,EAAMD,EAAI,QAAmBA,EAAIC,CAAK,IAAI,GAAzBA,IAAS,CAA8C,QAAjBjH,EAAIgH,EAAI,OAAO,EAAOhH,GAAK,GAAYgH,EAAIhH,CAAG,IAAI,GAArBA,IAAO,CAAuB,OAAGiH,EAAMjH,EAAU,CAAC,EAASgH,EAAI,MAAMC,EAAMjH,EAAIiH,EAAM,CAAC,CAAC,CAAqJ,QAAhJC,EAAUH,EAAKF,EAAK,MAAM,GAAG,CAAC,EAAMM,EAAQJ,EAAKD,EAAG,MAAM,GAAG,CAAC,EAAMM,EAAO,KAAK,IAAIF,EAAU,OAAOC,EAAQ,MAAM,EAAME,EAAgBD,EAAe1J,EAAE,EAAEA,EAAE0J,EAAO1J,IAAK,GAAGwJ,EAAUxJ,CAAC,IAAIyJ,EAAQzJ,CAAC,EAAE,CAAC2J,EAAgB3J,EAAE,KAAK,CAAqB,QAAf4J,EAAY,CAAC,EAAU5J,EAAE2J,EAAgB3J,EAAEwJ,EAAU,OAAOxJ,IAAK4J,EAAY,KAAK,IAAI,EAAE,OAAAA,EAAYA,EAAY,OAAOH,EAAQ,MAAME,CAAe,CAAC,EAASC,EAAY,KAAK,GAAG,CAAC,CAAC,EAAM,wBAAwB,CAAC,EAAM,gBAAgB5H,GAAK,CAAW,QAANY,EAAI,EAAU5C,EAAE,EAAEA,EAAEgC,EAAI,OAAO,EAAEhC,EAAE,CAAC,IAAI6J,EAAE7H,EAAI,WAAWhC,CAAC,EAAK6J,GAAG,IAAKjH,IAAciH,GAAG,KAAMjH,GAAK,EAAUiH,GAAG,OAAOA,GAAG,OAAOjH,GAAK,EAAE,EAAE5C,GAAO4C,GAAK,CAAE,CAAC,OAAOA,CAAG,EAAM,kBAAkB,CAACZ,EAAI8H,EAAKC,EAAOC,IAAkB,CAAC,GAAG,EAAEA,EAAgB,GAAG,MAAO,GAA0D,QAApDC,EAASF,EAAWjI,EAAOiI,EAAOC,EAAgB,EAAUhK,EAAE,EAAEA,EAAEgC,EAAI,OAAO,EAAEhC,EAAE,CAAC,IAAIkK,EAAElI,EAAI,WAAWhC,CAAC,EAAE,GAAGkK,GAAG,OAAOA,GAAG,MAAM,CAAC,IAAIhI,EAAGF,EAAI,WAAW,EAAEhC,CAAC,EAAEkK,EAAE,QAAQA,EAAE,OAAO,IAAIhI,EAAG,IAAI,CAAC,GAAGgI,GAAG,IAAI,CAAC,GAAGH,GAAQjI,EAAO,MAAMgI,EAAKC,GAAQ,EAAEG,CAAC,SAASA,GAAG,KAAK,CAAC,GAAGH,EAAO,GAAGjI,EAAO,MAAMgI,EAAKC,GAAQ,EAAE,IAAIG,GAAG,EAAEJ,EAAKC,GAAQ,EAAE,IAAIG,EAAE,EAAE,SAASA,GAAG,MAAM,CAAC,GAAGH,EAAO,GAAGjI,EAAO,MAAMgI,EAAKC,GAAQ,EAAE,IAAIG,GAAG,GAAGJ,EAAKC,GAAQ,EAAE,IAAIG,GAAG,EAAE,GAAGJ,EAAKC,GAAQ,EAAE,IAAIG,EAAE,EAAE,KAAK,CAAC,GAAGH,EAAO,GAAGjI,EAAO,MAAMgI,EAAKC,GAAQ,EAAE,IAAIG,GAAG,GAAGJ,EAAKC,GAAQ,EAAE,IAAIG,GAAG,GAAG,GAAGJ,EAAKC,GAAQ,EAAE,IAAIG,GAAG,EAAE,GAAGJ,EAAKC,GAAQ,EAAE,IAAIG,EAAE,EAAE,CAAC,CAAC,OAAAJ,EAAKC,CAAM,EAAE,EAASA,EAAOE,CAAQ,EAAE,SAAS,mBAAmBE,EAAQC,EAAYV,EAAO,CAAC,IAAI9G,EAAI8G,EAAO,EAAEA,EAAO,gBAAgBS,CAAO,EAAE,EAAME,EAAQ,IAAI,MAAMzH,CAAG,EAAM0H,EAAgB,kBAAkBH,EAAQE,EAAQ,EAAEA,EAAQ,MAAM,EAAE,OAAGD,IAAYC,EAAQ,OAAOC,GAAuBD,CAAO,CAAC,IAAI,iBAAiB,IAAI,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,IAAIjJ,EAAO,KAAK,GAAG,oBAAoB,CAAC,IAAImJ,EAAQ,IAAQ1K,EAAI,OAAO,MAAM0K,CAAO,EAAMC,EAAU,EAAMC,EAAG,QAAQ,MAAM,GAAG,GAAG,CAACD,EAAU,GAAG,SAASC,EAAG5K,EAAI,EAAE0K,CAAO,CAAC,OAAO/J,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,SAAS,KAAK,EAAEgK,EAAU,MAAO,OAAMhK,CAAC,CAAIgK,EAAU,IAAGpJ,EAAOvB,EAAI,MAAM,EAAE2K,CAAS,EAAE,SAAS,OAAO,EAAE,MAAS,OAAO,OAAQ,KAAa,OAAO,OAAO,QAAQ,aAAYpJ,EAAO,OAAO,OAAO,SAAS,EAAKA,IAAS,OAAMA,GAAQ;AAAA,IAAY,GAAG,CAACA,EAAQ,OAAO,KAAK,wBAAwB,mBAAmBA,EAAO,EAAI,CAAC,CAAC,OAAO,wBAAwB,MAAM,CAAC,EAAM,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,SAASsJ,EAAIC,EAAI,CAAC,IAAI,KAAKD,CAAG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,IAAAC,CAAG,EAAE,GAAG,eAAeD,EAAI,IAAI,UAAU,CAAC,EAAE,WAAW,CAAC,KAAKE,EAAO,CAAC,IAAIC,EAAI,IAAI,KAAKD,EAAO,KAAK,IAAI,EAAE,GAAG,CAACC,EAAK,MAAM,IAAI,GAAG,WAAW,EAAE,EAAED,EAAO,IAAIC,EAAID,EAAO,SAAS,EAAK,EAAE,MAAMA,EAAO,CAACA,EAAO,IAAI,IAAI,MAAMA,EAAO,GAAG,CAAC,EAAE,MAAMA,EAAO,CAACA,EAAO,IAAI,IAAI,MAAMA,EAAO,GAAG,CAAC,EAAE,KAAKA,EAAOE,EAAOzI,EAAOqH,EAAOqB,EAAI,CAAC,GAAG,CAACH,EAAO,KAAK,CAACA,EAAO,IAAI,IAAI,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAkB,QAAZJ,EAAU,EAAUxK,EAAE,EAAEA,EAAE0J,EAAO1J,IAAI,CAAC,IAAIoB,EAAO,GAAG,CAACA,EAAOwJ,EAAO,IAAI,IAAI,SAASA,EAAO,GAAG,CAAC,MAAS,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,GAAGxJ,IAAS,QAAWoJ,IAAY,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAGpJ,GAAS,KAAyB,MAAMoJ,IAAYM,EAAOzI,EAAOrC,CAAC,EAAEoB,CAAM,CAAC,OAAGoJ,IAAWI,EAAO,KAAK,MAAM,KAAK,IAAI,GAASJ,CAAS,EAAE,MAAMI,EAAOE,EAAOzI,EAAOqH,EAAOqB,EAAI,CAAC,GAAG,CAACH,EAAO,KAAK,CAACA,EAAO,IAAI,IAAI,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ5K,EAAE,EAAEA,EAAE0J,EAAO1J,IAAK4K,EAAO,IAAI,IAAI,SAASA,EAAO,IAAIE,EAAOzI,EAAOrC,CAAC,CAAC,CAAE,MAAS,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,OAAG0J,IAAQkB,EAAO,KAAK,MAAMA,EAAO,KAAK,MAAM,KAAK,IAAI,GAAS5K,CAAC,CAAC,EAAE,gBAAgB,CAAC,SAAS6K,EAAI,CAAC,OAAO,iBAAiB,CAAC,EAAE,SAASA,EAAI7E,EAAI,CAAIA,IAAM,MAAMA,IAAM,IAAI,IAAI,kBAAkB6E,EAAI,MAAM,CAAC,EAAEA,EAAI,OAAO,CAAC,GAAU7E,GAAK,GAAE6E,EAAI,OAAO,KAAK7E,CAAG,CAAE,EAAE,MAAM6E,EAAI,CAAIA,EAAI,QAAQA,EAAI,OAAO,OAAO,IAAG,IAAI,kBAAkBA,EAAI,MAAM,CAAC,EAAEA,EAAI,OAAO,CAAC,EAAE,EAAE,aAAaA,EAAI,CAAC,MAAM,CAAC,QAAQ,MAAM,QAAQ,EAAE,QAAQ,IAAI,QAAQ,MAAM,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAaA,EAAIG,EAAiB1D,EAAK,CAAC,MAAO,EAAC,EAAE,iBAAiBuD,EAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAASA,EAAI7E,EAAI,CAAIA,IAAM,MAAMA,IAAM,IAAI,IAAI,kBAAkB6E,EAAI,MAAM,CAAC,EAAEA,EAAI,OAAO,CAAC,GAAU7E,GAAK,GAAE6E,EAAI,OAAO,KAAK7E,CAAG,CAAE,EAAE,MAAM6E,EAAI,CAAIA,EAAI,QAAQA,EAAI,OAAO,OAAO,IAAG,IAAI,kBAAkBA,EAAI,MAAM,CAAC,EAAEA,EAAI,OAAO,CAAC,EAAE,CAAC,CAAC,EAAM,WAAW,CAACI,EAAQ1G,IAAO,CAAC,OAAO,KAAK,EAAE0G,EAAQA,EAAQ1G,CAAI,CAAC,EAAM,UAAUA,GAAM,CAAC,MAAM,CAAC,EAAM,MAAM,CAAC,UAAU,KAAK,MAAM2G,EAAM,CAAC,OAAO,MAAM,WAAW,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE,WAAWC,EAAOpI,EAAKqI,EAAKV,EAAI,CAAC,GAAG,GAAG,SAASU,CAAI,GAAG,GAAG,OAAOA,CAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,MAAM,YAAN,MAAM,UAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,MAAM,SAAS,QAAQ,QAAQ,MAAM,SAAS,QAAQ,OAAO,MAAM,SAAS,OAAO,MAAM,MAAM,SAAS,MAAM,OAAO,MAAM,SAAS,OAAO,OAAO,MAAM,SAAS,OAAO,MAAM,MAAM,SAAS,MAAM,QAAQ,MAAM,SAAS,QAAQ,QAAQ,MAAM,SAAS,OAAO,EAAE,OAAO,CAAC,OAAO,MAAM,WAAW,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAM,SAAS,QAAQ,QAAQ,MAAM,SAAS,OAAO,EAAE,OAAO,CAAC,OAAO,MAAM,WAAW,OAAO,KAAK,MAAM,WAAW,KAAK,MAAM,MAAM,WAAW,MAAM,SAAS,MAAM,WAAW,SAAS,KAAK,MAAM,WAAW,KAAK,MAAM,MAAM,WAAW,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAM,SAAS,QAAQ,QAAQ,MAAM,SAAS,QAAQ,SAAS,MAAM,SAAS,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,SAAS,QAAQ,QAAQ,MAAM,SAAS,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAAC,GAAE,IAAIC,EAAK,GAAG,WAAWF,EAAOpI,EAAKqI,EAAKV,CAAG,EAAE,OAAG,GAAG,MAAMW,EAAK,IAAI,GAAGA,EAAK,SAAS,MAAM,UAAU,IAAI,KAAKA,EAAK,WAAW,MAAM,UAAU,IAAI,OAAOA,EAAK,SAAS,CAAC,GAAU,GAAG,OAAOA,EAAK,IAAI,GAAGA,EAAK,SAAS,MAAM,UAAU,KAAK,KAAKA,EAAK,WAAW,MAAM,UAAU,KAAK,OAAOA,EAAK,UAAU,EAAEA,EAAK,SAAS,MAAa,GAAG,OAAOA,EAAK,IAAI,GAAGA,EAAK,SAAS,MAAM,UAAU,KAAK,KAAKA,EAAK,WAAW,MAAM,UAAU,KAAK,QAAe,GAAG,SAASA,EAAK,IAAI,IAAGA,EAAK,SAAS,MAAM,UAAU,OAAO,KAAKA,EAAK,WAAW,MAAM,UAAU,OAAO,QAAOA,EAAK,MAAMA,EAAK,MAAMA,EAAK,MAAM,KAAK,IAAI,EAAKF,IAAQA,EAAO,SAASpI,CAAI,EAAEsI,EAAKF,EAAO,MAAMA,EAAO,MAAMA,EAAO,MAAME,EAAK,OAAaA,CAAI,EAAE,wBAAwBA,EAAK,CAAC,OAAIA,EAAK,SAAqCA,EAAK,SAAS,SAAgBA,EAAK,SAAS,SAAS,EAAEA,EAAK,SAAS,EAAS,IAAI,WAAWA,EAAK,QAAQ,EAA/H,IAAI,WAAW,CAAC,CAAgH,EAAE,kBAAkBA,EAAKC,EAAY,CAAC,IAAIC,EAAaF,EAAK,SAASA,EAAK,SAAS,OAAO,EAAE,GAAG,EAAAE,GAAcD,GAAmB,KAAIE,EAAsB,KAAK,KAAKF,EAAY,KAAK,IAAIA,EAAYC,GAAcA,EAAaC,EAAsB,EAAE,SAAS,CAAC,EAAKD,GAAc,IAAED,EAAY,KAAK,IAAIA,EAAY,GAAG,GAAE,IAAIG,EAAYJ,EAAK,SAASA,EAAK,SAAS,IAAI,WAAWC,CAAW,EAAKD,EAAK,UAAU,GAAEA,EAAK,SAAS,IAAII,EAAY,SAAS,EAAEJ,EAAK,SAAS,EAAE,CAAC,EAAC,EAAE,kBAAkBA,EAAKK,EAAQ,CAAC,GAAGL,EAAK,WAAWK,EAAe,GAAGA,GAAS,EAAGL,EAAK,SAAS,KAAKA,EAAK,UAAU,MAAM,CAAC,IAAII,EAAYJ,EAAK,SAASA,EAAK,SAAS,IAAI,WAAWK,CAAO,EAAKD,GAAaJ,EAAK,SAAS,IAAII,EAAY,SAAS,EAAE,KAAK,IAAIC,EAAQL,EAAK,SAAS,CAAC,CAAC,EAAEA,EAAK,UAAUK,CAAO,CAAC,EAAE,SAAS,CAAC,QAAQL,EAAK,CAAC,IAAIM,EAAK,CAAC,EAAE,OAAAA,EAAK,IAAI,GAAG,SAASN,EAAK,IAAI,EAAEA,EAAK,GAAG,EAAEM,EAAK,IAAIN,EAAK,GAAGM,EAAK,KAAKN,EAAK,KAAKM,EAAK,MAAM,EAAEA,EAAK,IAAI,EAAEA,EAAK,IAAI,EAAEA,EAAK,KAAKN,EAAK,KAAQ,GAAG,MAAMA,EAAK,IAAI,EAAGM,EAAK,KAAK,KAAa,GAAG,OAAON,EAAK,IAAI,EAAGM,EAAK,KAAKN,EAAK,UAAkB,GAAG,OAAOA,EAAK,IAAI,EAAGM,EAAK,KAAKN,EAAK,KAAK,OAAYM,EAAK,KAAK,EAAEA,EAAK,MAAM,IAAI,KAAKN,EAAK,KAAK,EAAEM,EAAK,MAAM,IAAI,KAAKN,EAAK,KAAK,EAAEM,EAAK,MAAM,IAAI,KAAKN,EAAK,KAAK,EAAEM,EAAK,QAAQ,KAAKA,EAAK,OAAO,KAAK,KAAKA,EAAK,KAAKA,EAAK,OAAO,EAASA,CAAI,EAAE,QAAQN,EAAKM,EAAK,CAAC,QAAUC,IAAM,CAAC,OAAO,QAAQ,QAAQ,OAAO,EAAMD,EAAKC,CAAG,IAAGP,EAAKO,CAAG,EAAED,EAAKC,CAAG,GAAMD,EAAK,OAAO,QAAW,MAAM,kBAAkBN,EAAKM,EAAK,IAAI,CAAE,EAAE,OAAOR,EAAOpI,EAAK,CAAC,MAAM,MAAM,iBAAiB,EAAE,MAAMoI,EAAOpI,EAAKqI,EAAKV,EAAI,CAAC,OAAO,MAAM,WAAWS,EAAOpI,EAAKqI,EAAKV,CAAG,CAAC,EAAE,OAAOmB,EAASC,EAAQC,EAAS,CAAC,IAAIC,EAAS,GAAG,CAACA,EAAS,GAAG,WAAWF,EAAQC,CAAQ,CAAC,MAAS,CAAC,CAAC,GAAGC,EAAS,CAAC,GAAG,GAAG,MAAMH,EAAS,IAAI,EAAG,QAAQ7L,KAAKgM,EAAS,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAG,GAAG,eAAeA,CAAQ,CAAC,CAAC,OAAOH,EAAS,OAAO,SAASA,EAAS,IAAI,EAAEC,EAAQ,SAASC,CAAQ,EAAEF,EAASA,EAAS,KAAKE,EAASD,EAAQ,MAAMA,EAAQ,MAAMD,EAAS,OAAO,MAAMA,EAAS,OAAO,MAAM,KAAK,IAAI,CAAC,EAAE,OAAOV,EAAOpI,EAAK,CAAC,OAAOoI,EAAO,SAASpI,CAAI,EAAEoI,EAAO,MAAMA,EAAO,MAAM,KAAK,IAAI,CAAC,EAAE,MAAMA,EAAOpI,EAAK,CAAC,IAAIsI,EAAK,GAAG,WAAWF,EAAOpI,CAAI,EAAE,QAAQ/C,KAAKqL,EAAK,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOF,EAAO,SAASpI,CAAI,EAAEoI,EAAO,MAAMA,EAAO,MAAM,KAAK,IAAI,CAAC,EAAE,QAAQE,EAAK,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,OAAO,KAAKA,EAAK,QAAQ,CAAC,CAAC,EAAE,QAAQF,EAAOc,EAAQC,EAAQ,CAAC,IAAIb,EAAK,MAAM,WAAWF,EAAOc,EAAQ,MAAU,CAAC,EAAE,OAAAZ,EAAK,KAAKa,EAAeb,CAAI,EAAE,SAASA,EAAK,CAAC,GAAG,CAAC,GAAG,OAAOA,EAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAK,IAAI,CAAC,EAAE,WAAW,CAAC,KAAKT,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAAS,CAAC,IAAIC,EAASxB,EAAO,KAAK,SAAS,GAAGuB,GAAUvB,EAAO,KAAK,UAAU,MAAO,GAAE,IAAIrG,EAAK,KAAK,IAAIqG,EAAO,KAAK,UAAUuB,EAASzC,CAAM,EAAE,GAAGnF,EAAK,GAAG6H,EAAS,SAAUtB,EAAO,IAAIsB,EAAS,SAASD,EAASA,EAAS5H,CAAI,EAAElC,CAAM,MAAO,SAAQrC,EAAE,EAAEA,EAAEuE,EAAKvE,IAAI8K,EAAOzI,EAAOrC,CAAC,EAAEoM,EAASD,EAASnM,CAAC,EAAE,OAAOuE,CAAI,EAAE,MAAMqG,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAASE,EAAO,CAA+C,GAA3CvB,EAAO,SAAS,MAAM,SAAQuB,EAAO,IAAS,CAAC3C,EAAO,MAAO,GAAE,IAAI2B,EAAKT,EAAO,KAAsC,GAAjCS,EAAK,MAAMA,EAAK,MAAM,KAAK,IAAI,EAAKP,EAAO,WAAW,CAACO,EAAK,UAAUA,EAAK,SAAS,UAAU,CAAC,GAAGgB,EAAQ,OAAAhB,EAAK,SAASP,EAAO,SAASzI,EAAOA,EAAOqH,CAAM,EAAE2B,EAAK,UAAU3B,EAAcA,EAAY,GAAG2B,EAAK,YAAY,GAAGc,IAAW,EAAG,OAAAd,EAAK,SAASP,EAAO,MAAMzI,EAAOA,EAAOqH,CAAM,EAAE2B,EAAK,UAAU3B,EAAcA,EAAY,GAAGyC,EAASzC,GAAQ2B,EAAK,UAAW,OAAAA,EAAK,SAAS,IAAIP,EAAO,SAASzI,EAAOA,EAAOqH,CAAM,EAAEyC,CAAQ,EAASzC,CAAO,CAA+C,GAA9C,MAAM,kBAAkB2B,EAAKc,EAASzC,CAAM,EAAK2B,EAAK,SAAS,UAAUP,EAAO,SAAUO,EAAK,SAAS,IAAIP,EAAO,SAASzI,EAAOA,EAAOqH,CAAM,EAAEyC,CAAQ,MAAO,SAAQnM,EAAE,EAAEA,EAAE0J,EAAO1J,IAAKqL,EAAK,SAASc,EAASnM,CAAC,EAAE8K,EAAOzI,EAAOrC,CAAC,EAAG,OAAAqL,EAAK,UAAU,KAAK,IAAIA,EAAK,UAAUc,EAASzC,CAAM,EAASA,CAAM,EAAE,OAAOkB,EAAOvI,EAAOiK,EAAO,CAAC,IAAIH,EAAS9J,EAAqI,GAA3HiK,IAAS,EAAGH,GAAUvB,EAAO,SAAiB0B,IAAS,GAAM,GAAG,OAAO1B,EAAO,KAAK,IAAI,IAAGuB,GAAUvB,EAAO,KAAK,WAAcuB,EAAS,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,CAAQ,EAAE,SAASvB,EAAOvI,EAAOqH,EAAO,CAAC,MAAM,kBAAkBkB,EAAO,KAAKvI,EAAOqH,CAAM,EAAEkB,EAAO,KAAK,UAAU,KAAK,IAAIA,EAAO,KAAK,UAAUvI,EAAOqH,CAAM,CAAC,EAAE,KAAKkB,EAAOlB,EAAOyC,EAASI,EAAKrI,EAAM,CAAC,GAAG,CAAC,GAAG,OAAO0G,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAI9E,EAAQ0G,EAAcJ,EAASxB,EAAO,KAAK,SAAS,GAAG,EAAE1G,EAAM,IAAIkI,GAAUA,EAAS,SAAS,MAAM,OAAQI,EAAU,GAAM1G,EAAIsG,EAAS,eAAe,CAAsC,GAArCI,EAAU,GAAK1G,EAAI,UAAU4D,CAAM,EAAK,CAAC5D,EAAK,MAAM,IAAI,GAAG,WAAW,EAAE,EAAKsG,KAAaD,EAAS,GAAGA,EAASzC,EAAO0C,EAAS,UAAWA,EAAS,SAAUA,EAASA,EAAS,SAASD,EAASA,EAASzC,CAAM,EAAO0C,EAAS,MAAM,UAAU,MAAM,KAAKA,EAASD,EAASA,EAASzC,CAAM,GAAG,MAAM,IAAI0C,EAAStG,CAAG,EAAE,CAAC,MAAM,CAAC,IAAAA,EAAI,UAAA0G,CAAS,CAAC,EAAE,MAAM5B,EAAOE,EAAOzI,EAAOqH,EAAO+C,EAAU,CAAC,aAAM,WAAW,MAAM7B,EAAOE,EAAO,EAAEpB,EAAOrH,EAAO,EAAK,EAAS,CAAC,CAAC,CAAC,EAAM,kBAAkB,CAAC8I,EAAOpI,EAAK2J,EAASC,EAAQC,EAASP,IAAS,CAAC,GAAG,eAAelB,EAAOpI,EAAK2J,EAASC,EAAQC,EAASP,CAAM,CAAC,EAAM,0BAA0B,CAACrF,EAAU6F,EAASC,EAAO5F,IAAU,CAAI,OAAO,QAAS,KAAY,QAAQ,KAAK,EAAE,IAAI6F,EAAQ,GAAM,sBAAe,QAAQC,GAAQ,CAAID,GAAkBC,EAAO,UAAaH,CAAQ,IAAGG,EAAO,OAAUhG,EAAU6F,EAASC,EAAO5F,CAAO,EAAE6F,EAAQ,GAAK,CAAC,EAASA,CAAO,EAAM,uBAAuB,CAAC5B,EAAOpI,EAAKtD,EAAIkN,EAAQC,EAAS3F,EAAOC,EAAQ+F,EAAeZ,EAAOa,IAAY,CAAC,IAAIL,EAAS9J,EAAK,QAAQ,QAAQ,KAAK,MAAMoI,EAAOpI,CAAI,CAAC,EAAEoI,EAAWgC,EAA2B,MAAMN,CAAQ,GAAI,SAASO,EAAYpG,EAAU,CAAC,SAAS8F,EAAO9F,EAAU,CAACkG,IAAY,EAAMD,GAAgB,kBAAkB9B,EAAOpI,EAAKiE,EAAU2F,EAAQC,EAASP,CAAM,EAAEpF,IAAS,EAAE,oBAAoBkG,CAAG,CAAC,CAAI,0BAA0BnG,EAAU6F,EAASC,EAAO,IAAI,CAAC5F,IAAU,EAAE,oBAAoBiG,CAAG,CAAC,CAAC,GAAUL,EAAO9F,CAAS,CAAC,CAAC,iBAAiBmG,CAAG,EAAK,OAAO1N,GAAK,SAAU,UAAUA,CAAG,EAAE,KAAK2N,EAAYlG,CAAO,EAAOkG,EAAY3N,CAAG,CAAE,EAAM,qBAAqBuC,GAAK,CAAC,IAAIqL,EAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAS,KAAK,IAAS,EAAE,KAAU,KAAK,IAAS,EAAMnJ,EAAMmJ,EAAUrL,CAAG,EAAE,GAAG,OAAOkC,EAAO,IAAa,MAAM,IAAI,MAAM,2BAA2BlC,CAAG,EAAE,EAAE,OAAOkC,CAAK,EAAM,WAAW,CAACyI,EAAQC,IAAW,CAAC,IAAIxB,EAAK,EAAE,OAAGuB,IAAQvB,GAAM,KAAUwB,IAASxB,GAAM,KAAWA,CAAI,EAAM,YAAY,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,GAAG,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,GAAG,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,GAAG,KAAK,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,GAAG,UAAU,GAAG,QAAQ,IAAI,QAAQ,EAAE,SAAS,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,IAAI,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,WAAW,IAAI,aAAa,IAAI,WAAW,GAAG,QAAQ,GAAG,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,IAAI,aAAa,GAAG,WAAW,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,IAAI,aAAa,GAAG,YAAY,GAAG,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,IAAI,cAAc,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,GAAG,QAAQ,IAAI,UAAU,IAAI,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,EAAM,QAAQ,CAAC,MAAMF,EAAM,CAAC,OAAO,QAAQ,WAAW,KAAK,IAAIA,EAAM,KAAK,GAAG,MAAMA,EAAM,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,WAAWC,EAAOpI,EAAKqI,EAAKV,EAAI,CAAC,GAAG,CAAC,GAAG,MAAMU,CAAI,GAAG,CAAC,GAAG,OAAOA,CAAI,GAAG,CAAC,GAAG,OAAOA,CAAI,EAAG,MAAM,IAAI,GAAG,WAAW,YAAY,MAAM,EAAE,IAAIC,EAAK,GAAG,WAAWF,EAAOpI,EAAKqI,CAAI,EAAE,OAAAC,EAAK,SAAS,QAAQ,SAASA,EAAK,WAAW,QAAQ,WAAkBA,CAAI,EAAE,SAASA,EAAK,CAAc,QAATpD,EAAM,CAAC,EAAQoD,EAAK,SAASA,GAAMpD,EAAM,KAAKoD,EAAK,IAAI,EAAEA,EAAKA,EAAK,OAAO,OAAApD,EAAM,KAAKoD,EAAK,MAAM,KAAK,IAAI,EAAEpD,EAAM,QAAQ,EAAS,KAAK,KAAK,GAAGA,CAAK,CAAC,EAAE,SAAS,CAAC,QAAQoD,EAAK,CAAC,IAAIhM,EAAK,QAAQ,SAASgM,CAAI,EAAMiC,EAAK,GAAG,CAACA,EAAKjC,EAAK,MAAM,KAAK,GAAG,MAAMhM,CAAI,CAAC,OAAOmB,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,MAAM,CAAC,IAAI8M,EAAK,IAAI,IAAIA,EAAK,IAAI,KAAKA,EAAK,KAAK,MAAMA,EAAK,MAAM,IAAIA,EAAK,IAAI,IAAIA,EAAK,IAAI,KAAKA,EAAK,KAAK,KAAKA,EAAK,KAAK,MAAMA,EAAK,MAAM,MAAMA,EAAK,MAAM,MAAMA,EAAK,MAAM,QAAQA,EAAK,QAAQ,OAAOA,EAAK,MAAM,CAAC,EAAE,QAAQjC,EAAKM,EAAK,CAAC,IAAItM,EAAK,QAAQ,SAASgM,CAAI,EAAE,GAAG,CAAwF,GAApFM,EAAK,OAAO,SAAWN,EAAK,MAAM,KAAK,GAAG,MAAMhM,EAAKsM,EAAK,IAAI,EAAEN,EAAK,KAAKM,EAAK,MAAQA,EAAK,OAAOA,EAAK,MAAM,CAAC,IAAI4B,EAAM,IAAI,KAAK5B,EAAK,OAAOA,EAAK,KAAK,EAAM6B,EAAM,IAAI,KAAK7B,EAAK,OAAOA,EAAK,KAAK,EAAEN,EAAK,MAAM,KAAK,GAAG,MAAMhM,EAAKkO,EAAMC,CAAK,CAAC,CAAI7B,EAAK,OAAO,QAAWN,EAAK,MAAM,KAAK,GAAG,SAAShM,EAAKsM,EAAK,IAAI,CAAE,OAAOnL,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,OAAO2K,EAAOpI,EAAK,CAAC,GAAG,CAAC,IAAI1D,EAAK,KAAK,MAAM,QAAQ,SAAS8L,CAAM,EAAEpI,CAAI,EAAMqI,EAAKD,EAAO,MAAM,KAAK,GAAG,MAAM9L,CAAI,EAAE,KAASgM,EAAK,QAAQ,WAAWF,EAAOpI,EAAKqI,CAAI,EAAE,OAAOC,CAAI,OAAO7K,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,MAAM2K,EAAOpI,EAAKqI,EAAKV,EAAI,CAAC,IAAIW,EAAK,QAAQ,WAAWF,EAAOpI,EAAKqI,EAAKV,CAAG,EAAMrL,EAAK,QAAQ,SAASgM,CAAI,EAAE,GAAG,CAAI,GAAG,MAAMA,EAAK,IAAI,EAAGA,EAAK,MAAM,KAAK,GAAG,MAAMhM,EAAKgM,EAAK,IAAI,EAAOA,EAAK,MAAM,KAAK,GAAG,UAAUhM,EAAK,GAAG,CAAC,KAAKgM,EAAK,IAAI,CAAC,CAAE,OAAO7K,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,OAAO6K,CAAI,EAAE,OAAOoC,EAAQC,EAAOC,EAAQ,CAAC,IAAIC,EAAQ,QAAQ,SAASH,CAAO,EAAMI,EAAQ,KAAK,MAAM,QAAQ,SAASH,CAAM,EAAEC,CAAO,EAAE,GAAG,CAACF,EAAQ,MAAM,KAAK,GAAG,OAAOG,EAAQC,CAAO,EAAEJ,EAAQ,KAAKE,CAAO,OAAOnN,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,OAAO2K,EAAOpI,EAAK,CAAC,IAAI1D,EAAK,KAAK,MAAM,QAAQ,SAAS8L,CAAM,EAAEpI,CAAI,EAAE,GAAG,CAACoI,EAAO,MAAM,KAAK,GAAG,OAAO9L,CAAI,CAAC,OAAOmB,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,MAAM2K,EAAOpI,EAAK,CAAC,IAAI1D,EAAK,KAAK,MAAM,QAAQ,SAAS8L,CAAM,EAAEpI,CAAI,EAAE,GAAG,CAACoI,EAAO,MAAM,KAAK,GAAG,MAAM9L,CAAI,CAAC,OAAOmB,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,QAAQ6K,EAAK,CAAC,IAAIhM,EAAK,QAAQ,SAASgM,CAAI,EAAE,GAAG,CAAC,OAAOA,EAAK,MAAM,KAAK,GAAG,QAAQhM,CAAI,CAAC,OAAOmB,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,QAAQ2K,EAAOwC,EAAQC,EAAQ,CAAC,IAAIC,EAAQ,KAAK,MAAM,QAAQ,SAAS1C,CAAM,EAAEwC,CAAO,EAAE,GAAG,CAACxC,EAAO,MAAM,KAAK,GAAG,QAAQyC,EAAQC,CAAO,CAAC,OAAOrN,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,SAAS6K,EAAK,CAAC,IAAIhM,EAAK,QAAQ,SAASgM,CAAI,EAAE,GAAG,CAAC,OAAOA,EAAK,MAAM,KAAK,GAAG,SAAShM,CAAI,CAAC,OAAOmB,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKoK,EAAO,CAAC,IAAIvL,EAAK,QAAQ,SAASuL,EAAO,IAAI,EAAE,GAAG,CAACA,EAAO,IAAIA,EAAO,KAAK,MAAM,KAAK,GAAG,KAAKvL,EAAKuL,EAAO,KAAK,CAAC,OAAOpK,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,MAAMoK,EAAO,CAAC,GAAG,CAACA,EAAO,KAAK,MAAM,KAAK,GAAG,MAAMA,EAAO,GAAG,CAAC,OAAOpK,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,KAAKoK,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAAS,CAAC,GAAG,CAAC,OAAOvB,EAAO,KAAK,MAAM,KAAK,GAAG,KAAKA,EAAO,IAAIE,EAAOzI,EAAOqH,EAAOyC,CAAQ,CAAC,OAAO3L,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,MAAMoK,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAAS,CAAC,GAAG,CAAC,OAAOvB,EAAO,KAAK,MAAM,KAAK,GAAG,MAAMA,EAAO,IAAIE,EAAOzI,EAAOqH,EAAOyC,CAAQ,CAAC,OAAO3L,EAAE,CAAC,MAAIA,EAAE,KAAmB,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,EAA7CA,CAA8C,CAAC,EAAE,OAAOoK,EAAOvI,EAAOiK,EAAO,CAAC,IAAIH,EAAS9J,EAAO,GAAGiK,IAAS,EAAGH,GAAUvB,EAAO,iBAAiB0B,IAAS,GAAM,GAAG,OAAO1B,EAAO,KAAK,IAAI,EAAG,GAAG,CAAC,IAAI0C,EAAK1C,EAAO,KAAK,SAAS,QAAQA,EAAO,IAAI,EAAEuB,GAAUmB,EAAK,IAAI,OAAO9M,EAAE,CAAC,MAAM,IAAI,GAAG,WAAW,YAAYA,EAAE,IAAI,CAAC,CAAC,CAAG,GAAG2L,EAAS,EAAG,MAAM,IAAI,GAAG,WAAW,YAAY,MAAM,EAAE,OAAOA,CAAQ,CAAC,CAAC,EAAM,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,KAAK,YAAY,IAAI,YAAY,GAAM,kBAAkB,GAAK,WAAW,KAAK,CAAmB,YAAY2B,EAAM,CAApCxM,EAAA,YAAK,cAAgC,KAAK,MAAMwM,CAAK,CAAC,EAAE,YAAY,KAAK,eAAe,EAAE,UAAU,CAAC,EAAE,SAAS,KAAK,CAAL,cAAMxM,EAAA,cAAO,CAAC,GAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,OAAO0E,EAAI,CAAC,KAAK,KAAKA,CAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,KAAK,CAAC,IAAI,MAAMA,EAAI,CAAC,KAAK,OAAO,MAAMA,CAAG,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,QAAQ,CAAC,IAAI,SAASA,EAAI,CAAC,KAAK,OAAO,SAASA,CAAG,CAAC,EAAE,OAAO,KAAK,CAAsE,YAAYmF,EAAOpI,EAAKqI,EAAK2C,EAAK,CAAvGzM,EAAA,gBAAS,CAAC,GAAEA,EAAA,kBAAW,CAAC,GAAEA,EAAA,gBAAS,KAAOA,EAAA,iBAAU,KAAIA,EAAA,eAAQ,MAA4C6J,IAAQA,EAAO,MAAK,KAAK,OAAOA,EAAO,KAAK,MAAMA,EAAO,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,KAAKpI,EAAK,KAAK,KAAKqI,EAAK,KAAK,KAAK2C,EAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,KAAK,YAAY,KAAK,QAAQ,CAAC,IAAI,KAAK/H,EAAI,CAACA,EAAI,KAAK,MAAM,KAAK,SAAS,KAAK,MAAM,CAAC,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,KAAK,aAAa,KAAK,SAAS,CAAC,IAAI,MAAMA,EAAI,CAACA,EAAI,KAAK,MAAM,KAAK,UAAU,KAAK,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,EAAE,WAAW3G,EAAK2O,EAAK,CAAC,EAAE,CAAC,GAAG,CAAC3O,EAAK,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE2O,EAAK,eAALA,EAAK,aAAe,IAAS,KAAK,MAAM3O,CAAI,IAAGA,EAAK,GAAG,IAAI,EAAE,IAAIA,GAAK4O,EAAS,QAAQC,EAAO,EAAEA,EAAO,GAAGA,IAAS,CAA4F,QAAvFjG,EAAM5I,EAAK,MAAM,GAAG,EAAE,OAAOkJ,GAAG,CAAC,CAACA,GAAGA,IAAI,GAAG,EAAM4F,EAAQ,GAAG,KAASC,EAAa,IAAYpO,EAAE,EAAEA,EAAEiI,EAAM,OAAOjI,IAAI,CAAC,IAAIqO,EAAOrO,IAAIiI,EAAM,OAAO,EAAE,GAAGoG,GAAQL,EAAK,OAAQ,MAAM,GAAG/F,EAAMjI,CAAC,IAAI,KAAK,CAACoO,EAAa,KAAK,QAAQA,CAAY,EAAED,EAAQA,EAAQ,OAAO,QAAQ,CAACC,EAAa,KAAK,MAAMA,EAAanG,EAAMjI,CAAC,CAAC,EAAE,GAAG,CAACmO,EAAQ,GAAG,WAAWA,EAAQlG,EAAMjI,CAAC,CAAC,CAAC,OAAOQ,EAAE,CAAC,GAAGA,GAAG,QAAQ,IAAI6N,GAAQL,EAAK,WAAY,MAAM,CAAC,KAAKI,CAAY,EAAE,MAAM5N,CAAC,CAAyF,GAArF,GAAG,aAAa2N,CAAO,IAAI,CAACE,GAAQL,EAAK,gBAAeG,EAAQA,EAAQ,QAAQ,MAAQ,GAAG,OAAOA,EAAQ,IAAI,IAAI,CAACE,GAAQL,EAAK,QAAQ,CAAC,GAAG,CAACG,EAAQ,SAAS,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIG,EAAKH,EAAQ,SAAS,SAASA,CAAO,EAAM,KAAK,MAAMG,CAAI,IAAGA,EAAK,KAAK,QAAQF,CAAY,EAAE,IAAIE,GAAKjP,EAAKiP,EAAK,IAAIrG,EAAM,MAAMjI,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,SAASiO,CAAQ,CAAC,CAAC,MAAM,CAAC,KAAKG,EAAa,KAAKD,CAAO,CAAC,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,EAAE,QAAQ9C,EAAK,CAAU,QAALhM,IAAgB,CAAC,GAAG,GAAG,OAAOgM,CAAI,EAAE,CAAC,IAAIH,EAAMG,EAAK,MAAM,WAAW,OAAIhM,EAAyB6L,EAAMA,EAAM,OAAO,CAAC,IAAI,IAAI,GAAGA,CAAK,IAAI7L,CAAI,GAAG6L,EAAM7L,EAAlE6L,CAAsE,CAAC7L,EAAKA,EAAK,GAAGgM,EAAK,IAAI,IAAIhM,CAAI,GAAGgM,EAAK,KAAKA,EAAKA,EAAK,MAAM,CAAC,EAAE,SAASkD,EAASxL,EAAK,CAAY,QAAPyL,EAAK,EAAUxO,EAAE,EAAEA,EAAE+C,EAAK,OAAO/C,IAAKwO,GAAMA,GAAM,GAAGA,EAAKzL,EAAK,WAAW/C,CAAC,EAAE,EAAE,OAAOuO,EAASC,IAAO,GAAG,GAAG,UAAU,MAAM,EAAE,YAAYnD,EAAK,CAAC,IAAImD,EAAK,GAAG,SAASnD,EAAK,OAAO,GAAGA,EAAK,IAAI,EAAEA,EAAK,UAAU,GAAG,UAAUmD,CAAI,EAAE,GAAG,UAAUA,CAAI,EAAEnD,CAAI,EAAE,eAAeA,EAAK,CAAC,IAAImD,EAAK,GAAG,SAASnD,EAAK,OAAO,GAAGA,EAAK,IAAI,EAAE,GAAG,GAAG,UAAUmD,CAAI,IAAInD,EAAM,GAAG,UAAUmD,CAAI,EAAEnD,EAAK,cAA8C,SAA3B8C,EAAQ,GAAG,UAAUK,CAAI,EAAQL,GAAQ,CAAC,GAAGA,EAAQ,YAAY9C,EAAK,CAAC8C,EAAQ,UAAU9C,EAAK,UAAU,KAAK,CAAC8C,EAAQA,EAAQ,SAAS,CAAE,EAAE,WAAWhD,EAAOpI,EAAK,CAAC,IAAI0L,EAAQ,GAAG,UAAUtD,CAAM,EAAE,GAAGsD,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAuC,QAAjCD,EAAK,GAAG,SAASrD,EAAO,GAAGpI,CAAI,EAAUsI,EAAK,GAAG,UAAUmD,CAAI,EAAEnD,EAAKA,EAAKA,EAAK,UAAU,CAAC,IAAIqD,EAASrD,EAAK,KAAK,GAAGA,EAAK,OAAO,KAAKF,EAAO,IAAIuD,IAAW3L,EAAM,OAAOsI,CAAK,CAAC,OAAO,GAAG,OAAOF,EAAOpI,CAAI,CAAC,EAAE,WAAWoI,EAAOpI,EAAKqI,EAAK2C,EAAK,CAAC,IAAI1C,EAAK,IAAI,GAAG,OAAOF,EAAOpI,EAAKqI,EAAK2C,CAAI,EAAE,UAAG,YAAY1C,CAAI,EAASA,CAAI,EAAE,YAAYA,EAAK,CAAC,GAAG,eAAeA,CAAI,CAAC,EAAE,OAAOA,EAAK,CAAC,OAAOA,IAAOA,EAAK,MAAM,EAAE,aAAaA,EAAK,CAAC,MAAM,CAAC,CAACA,EAAK,OAAO,EAAE,OAAOD,EAAK,CAAC,OAAOA,EAAK,SAAS,KAAK,EAAE,MAAMA,EAAK,CAAC,OAAOA,EAAK,SAAS,KAAK,EAAE,OAAOA,EAAK,CAAC,OAAOA,EAAK,SAAS,KAAK,EAAE,SAASA,EAAK,CAAC,OAAOA,EAAK,SAAS,IAAI,EAAE,SAASA,EAAK,CAAC,OAAOA,EAAK,SAAS,KAAK,EAAE,OAAOA,EAAK,CAAC,OAAOA,EAAK,SAAS,IAAI,EAAE,SAASA,EAAK,CAAC,OAAOA,EAAK,SAAS,KAAK,EAAE,wBAAwBuD,EAAK,CAAC,IAAIC,EAAM,CAAC,IAAI,IAAI,IAAI,EAAED,EAAK,CAAC,EAAE,OAAGA,EAAK,MAAKC,GAAO,KAAWA,CAAK,EAAE,gBAAgBvD,EAAKuD,EAAM,CAAC,OAAG,GAAG,kBAA0B,EAAKA,EAAM,SAAS,GAAG,GAAG,EAAEvD,EAAK,KAAK,MAAuBuD,EAAM,SAAS,GAAG,GAAG,EAAEvD,EAAK,KAAK,MAAuBuD,EAAM,SAAS,GAAG,GAAG,EAAEvD,EAAK,KAAK,IAAnG,EAAwH,CAAC,EAAE,UAAU5C,EAAI,CAAC,GAAG,CAAC,GAAG,MAAMA,EAAI,IAAI,EAAE,MAAO,IAAG,IAAIgG,EAAQ,GAAG,gBAAgBhG,EAAI,GAAG,EAAE,OAAGgG,IAA2BhG,EAAI,SAAS,OAAuB,EAAT,EAAU,EAAE,UAAUA,EAAI1F,EAAK,CAAC,GAAG,CAAC,GAAG,MAAM0F,EAAI,IAAI,EAAG,MAAO,IAAG,GAAG,CAAC,IAAI4C,EAAK,GAAG,WAAW5C,EAAI1F,CAAI,EAAE,MAAO,GAAE,MAAS,CAAC,CAAC,OAAO,GAAG,gBAAgB0F,EAAI,IAAI,CAAC,EAAE,UAAUA,EAAI1F,EAAK8L,EAAM,CAAC,IAAIxD,EAAK,GAAG,CAACA,EAAK,GAAG,WAAW5C,EAAI1F,CAAI,CAAC,OAAOvC,EAAE,CAAC,OAAOA,EAAE,KAAK,CAAC,IAAIiO,EAAQ,GAAG,gBAAgBhG,EAAI,IAAI,EAAE,GAAGgG,EAAS,OAAOA,EAAQ,GAAGI,EAAM,CAAC,GAAG,CAAC,GAAG,MAAMxD,EAAK,IAAI,EAAG,MAAO,IAAG,GAAG,GAAG,OAAOA,CAAI,GAAG,GAAG,QAAQA,CAAI,IAAI,GAAG,IAAI,EAAG,MAAO,GAAG,SAAS,GAAG,MAAMA,EAAK,IAAI,EAAG,MAAO,IAAI,MAAO,EAAC,EAAE,QAAQA,EAAKnH,EAAM,CAAC,OAAImH,EAAmB,GAAG,OAAOA,EAAK,IAAI,EAAU,GAAW,GAAG,MAAMA,EAAK,IAAI,IAAM,GAAG,wBAAwBnH,CAAK,IAAI,KAAKA,EAAM,KAAY,GAAW,GAAG,gBAAgBmH,EAAK,GAAG,wBAAwBnH,CAAK,CAAC,EAArM,EAAsM,EAAE,aAAa,KAAK,QAAQ,CAAC,QAAQuG,EAAG,EAAEA,GAAI,GAAG,aAAaA,IAAM,GAAG,CAAC,GAAG,QAAQA,CAAE,EAAG,OAAOA,EAAI,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,EAAE,iBAAiBA,EAAG,CAAC,IAAIG,EAAO,GAAG,UAAUH,CAAE,EAAE,GAAG,CAACG,EAAQ,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,OAAOA,CAAM,EAAE,UAAUH,GAAI,GAAG,QAAQA,CAAE,EAAE,aAAaG,EAAOH,EAAG,GAAG,CAAC,OAAAG,EAAO,OAAO,OAAO,IAAI,GAAG,SAASA,CAAM,EAAKH,GAAI,KAAIA,EAAG,GAAG,OAAO,GAAEG,EAAO,GAAGH,EAAG,GAAG,QAAQA,CAAE,EAAEG,EAAcA,CAAM,EAAE,YAAYH,EAAG,CAAC,GAAG,QAAQA,CAAE,EAAE,IAAI,EAAE,UAAUqE,EAAWrE,EAAG,GAAG,CAAC,IAAIG,EAAO,GAAG,aAAakE,EAAWrE,CAAE,EAAE,OAAAG,EAAO,YAAY,MAAMA,CAAM,EAASA,CAAM,EAAE,kBAAkB,CAAC,KAAKA,EAAO,CAAC,IAAImE,EAAO,GAAG,UAAUnE,EAAO,KAAK,IAAI,EAAEA,EAAO,WAAWmE,EAAO,WAAWnE,EAAO,WAAW,OAAOA,CAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,EAAE,MAAMF,GAAKA,GAAK,EAAE,MAAMA,GAAKA,EAAI,IAAI,QAAQ,CAACsE,EAAGC,IAAKD,GAAI,EAAEC,EAAG,eAAevE,EAAIC,EAAI,CAAC,GAAG,QAAQD,CAAG,EAAE,CAAC,WAAWC,CAAG,CAAC,EAAE,UAAUD,GAAK,GAAG,QAAQA,CAAG,EAAE,UAAUQ,EAAM,CAAiC,QAA5BgE,EAAO,CAAC,EAAMC,EAAM,CAACjE,CAAK,EAAQiE,EAAM,QAAO,CAAC,IAAIC,EAAED,EAAM,IAAI,EAAED,EAAO,KAAKE,CAAC,EAAED,EAAM,KAAK,GAAGC,EAAE,MAAM,CAAC,CAAC,OAAOF,CAAM,EAAE,OAAOG,EAAS/O,EAAS,CAAI,OAAO+O,GAAU,aAAY/O,EAAS+O,EAASA,EAAS,IAAM,GAAG,iBAAoB,GAAG,eAAe,GAAG,IAAI,YAAY,GAAG,cAAc,yEAAyE,EAAE,IAAIH,EAAO,GAAG,UAAU,GAAG,KAAK,KAAK,EAAMI,EAAU,EAAE,SAASC,EAAWd,EAAQ,CAAC,UAAG,iBAAwBnO,EAASmO,CAAO,CAAC,CAAC,SAASe,EAAKf,EAAQ,CAAC,GAAGA,EAAS,OAAIe,EAAK,QAAsD,QAA7CA,EAAK,QAAQ,GAAYD,EAAWd,CAAO,GAAY,EAAEa,GAAWJ,EAAO,QAAQK,EAAW,IAAI,CAAE,CAACL,EAAO,QAAQhE,GAAO,CAAC,GAAG,CAACA,EAAM,KAAK,OAAQ,OAAOsE,EAAK,IAAI,EAAEtE,EAAM,KAAK,OAAOA,EAAMmE,EAASG,CAAI,CAAC,CAAC,CAAC,EAAE,MAAM3K,EAAKmJ,EAAKyB,EAAW,CAAC,IAAIjH,EAAKiH,IAAa,IAAQC,EAAO,CAACD,EAAepE,EAAK,GAAG7C,GAAM,GAAG,KAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAO,GAAG,CAACA,GAAM,CAACkH,EAAO,CAAC,IAAIC,EAAO,GAAG,WAAWF,EAAW,CAAC,aAAa,EAAK,CAAC,EAA0C,GAAxCA,EAAWE,EAAO,KAAKtE,EAAKsE,EAAO,KAAQ,GAAG,aAAatE,CAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAAC,GAAG,MAAMA,EAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,CAAE,CAAC,IAAIH,EAAM,CAAC,KAAArG,EAAK,KAAAmJ,EAAK,WAAAyB,EAAW,OAAO,CAAC,CAAC,EAAMG,EAAU/K,EAAK,MAAMqG,CAAK,EAAE,OAAA0E,EAAU,MAAM1E,EAAMA,EAAM,KAAK0E,EAAapH,EAAM,GAAG,KAAKoH,EAAkBvE,IAAMA,EAAK,QAAQH,EAASG,EAAK,OAAOA,EAAK,MAAM,OAAO,KAAKH,CAAK,GAAU0E,CAAS,EAAE,QAAQH,EAAW,CAAC,IAAIE,EAAO,GAAG,WAAWF,EAAW,CAAC,aAAa,EAAK,CAAC,EAAE,GAAG,CAAC,GAAG,aAAaE,EAAO,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAItE,EAAKsE,EAAO,KAASzE,EAAMG,EAAK,QAAY6D,EAAO,GAAG,UAAUhE,CAAK,EAAE,OAAO,KAAK,GAAG,SAAS,EAAE,QAAQsD,GAAM,CAAgC,QAA3BL,EAAQ,GAAG,UAAUK,CAAI,EAAQL,GAAQ,CAAC,IAAI0B,EAAK1B,EAAQ,UAAae,EAAO,SAASf,EAAQ,KAAK,GAAG,GAAG,YAAYA,CAAO,EAAEA,EAAQ0B,CAAI,CAAC,CAAC,EAAExE,EAAK,QAAQ,KAAK,IAAIzJ,EAAIyJ,EAAK,MAAM,OAAO,QAAQH,CAAK,EAAEG,EAAK,MAAM,OAAO,OAAOzJ,EAAI,CAAC,CAAC,EAAE,OAAOuJ,EAAOpI,EAAK,CAAC,OAAOoI,EAAO,SAAS,OAAOA,EAAOpI,CAAI,CAAC,EAAE,MAAM1D,EAAK+L,EAAKV,EAAI,CAAC,IAAIiF,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAM8L,EAAOwE,EAAO,KAAS5M,EAAK,KAAK,SAAS1D,CAAI,EAAE,GAAG,CAAC0D,GAAMA,IAAO,KAAKA,IAAO,KAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAI0L,EAAQ,GAAG,UAAUtD,EAAOpI,CAAI,EAAE,GAAG0L,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,CAACtD,EAAO,SAAS,MAAO,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAO,SAAS,MAAMA,EAAOpI,EAAKqI,EAAKV,CAAG,CAAC,EAAE,OAAOrL,EAAK,CAAC,IAAIoC,EAAI,CAAC,MAAM,KAAK,OAAO,KAAK,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,GAAG,UAAU,MAAM,GAAG,UAAU,EAAE,KAAK,GAAG,MAAM,EAAE,QAAQ,GAAG,EAAM0J,EAAO,GAAG,WAAW9L,EAAK,CAAC,OAAO,EAAI,CAAC,EAAE,KAAK,OAAG8L,GAAQ,SAAS,QAAQ,OAAO,OAAO1J,EAAI0J,EAAO,SAAS,OAAOA,EAAO,MAAM,KAAK,IAAI,CAAC,EAAS1J,CAAG,EAAE,OAAOpC,EAAK+L,EAAK,IAAI,CAAC,OAAAA,GAAM,KAAKA,GAAM,MAAa,GAAG,MAAM/L,EAAK+L,EAAK,CAAC,CAAC,EAAE,MAAM/L,EAAK+L,EAAK,IAAI,CAAC,OAAAA,GAAM,KAAQA,GAAM,MAAa,GAAG,MAAM/L,EAAK+L,EAAK,CAAC,CAAC,EAAE,UAAU/L,EAAK+L,EAAK,CAAmC,QAA9B0E,EAAKzQ,EAAK,MAAM,GAAG,EAAM0Q,EAAE,GAAW/P,EAAE,EAAEA,EAAE8P,EAAK,OAAO,EAAE9P,EAAG,GAAI8P,EAAK9P,CAAC,EAAW,CAAA+P,GAAG,IAAID,EAAK9P,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM+P,EAAE3E,CAAI,CAAC,OAAO5K,EAAE,CAAC,GAAGA,EAAE,OAAO,GAAG,MAAMA,CAAC,EAAE,EAAE,MAAMnB,EAAK+L,EAAKV,EAAI,CAAC,OAAG,OAAOA,EAAK,MAAaA,EAAIU,EAAKA,EAAK,KAAIA,GAAM,KAAY,GAAG,MAAM/L,EAAK+L,EAAKV,CAAG,CAAC,EAAE,QAAQwB,EAAQ8D,EAAQ,CAAC,GAAG,CAAC,QAAQ,QAAQ9D,CAAO,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIyD,EAAO,GAAG,WAAWK,EAAQ,CAAC,OAAO,EAAI,CAAC,EAAM7E,EAAOwE,EAAO,KAAK,GAAG,CAACxE,EAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIc,EAAQ,KAAK,SAAS+D,CAAO,EAAMvB,EAAQ,GAAG,UAAUtD,EAAOc,CAAO,EAAE,GAAGwC,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,CAACtD,EAAO,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAO,SAAS,QAAQA,EAAOc,EAAQC,CAAO,CAAC,EAAE,OAAO+D,EAASC,EAAS,CAAC,IAAIC,EAAY,KAAK,QAAQF,CAAQ,EAAMG,EAAY,KAAK,QAAQF,CAAQ,EAAMG,EAAS,KAAK,SAASJ,CAAQ,EAAMlE,EAAS,KAAK,SAASmE,CAAQ,EAAMP,EAAOW,EAAQxE,EAA0I,GAAlI6D,EAAO,GAAG,WAAWM,EAAS,CAAC,OAAO,EAAI,CAAC,EAAEK,EAAQX,EAAO,KAAKA,EAAO,GAAG,WAAWO,EAAS,CAAC,OAAO,EAAI,CAAC,EAAEpE,EAAQ6D,EAAO,KAAQ,CAACW,GAAS,CAACxE,EAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAGwE,EAAQ,QAAQxE,EAAQ,MAAO,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAID,EAAS,GAAG,WAAWyE,EAAQD,CAAQ,EAAME,EAAS,QAAQ,SAASN,EAASG,CAAW,EAAE,GAAGG,EAAS,OAAO,CAAC,IAAI,IAAK,MAAM,IAAI,GAAG,WAAW,EAAE,EAAkD,GAAhDA,EAAS,QAAQ,SAASL,EAASC,CAAW,EAAKI,EAAS,OAAO,CAAC,IAAI,IAAK,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIvE,EAAS,GAAG,CAACA,EAAS,GAAG,WAAWF,EAAQC,CAAQ,CAAC,MAAS,CAAC,CAAC,GAAGF,IAAWG,EAAiB,KAAI6C,EAAM,GAAG,MAAMhD,EAAS,IAAI,EAAM4C,EAAQ,GAAG,UAAU6B,EAAQD,EAASxB,CAAK,EAAE,GAAGJ,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAuF,GAArFA,EAAQzC,EAAS,GAAG,UAAUF,EAAQC,EAAS8C,CAAK,EAAE,GAAG,UAAU/C,EAAQC,CAAQ,EAAK0C,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,CAAC6B,EAAQ,SAAS,OAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,aAAazE,CAAQ,GAAGG,GAAU,GAAG,aAAaA,CAAQ,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAGF,IAAUwE,IAAS7B,EAAQ,GAAG,gBAAgB6B,EAAQ,GAAG,EAAK7B,GAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAG,GAAG,eAAe5C,CAAQ,EAAE,GAAG,CAACyE,EAAQ,SAAS,OAAOzE,EAASC,EAAQC,CAAQ,EAAEF,EAAS,OAAOC,CAAO,OAAOtL,EAAE,CAAC,MAAMA,CAAC,QAAC,CAAQ,GAAG,YAAYqL,CAAQ,CAAC,EAAC,EAAE,MAAMxM,EAAK,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAM8L,EAAOwE,EAAO,KAAS5M,EAAK,KAAK,SAAS1D,CAAI,EAAMgM,EAAK,GAAG,WAAWF,EAAOpI,CAAI,EAAM0L,EAAQ,GAAG,UAAUtD,EAAOpI,EAAK,EAAI,EAAE,GAAG0L,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,CAACtD,EAAO,SAAS,MAAO,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,aAAaE,CAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAEF,EAAO,SAAS,MAAMA,EAAOpI,CAAI,EAAE,GAAG,YAAYsI,CAAI,CAAC,EAAE,QAAQhM,EAAK,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAMgM,EAAKsE,EAAO,KAAK,GAAG,CAACtE,EAAK,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAK,SAAS,QAAQA,CAAI,CAAC,EAAE,OAAOhM,EAAK,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAM8L,EAAOwE,EAAO,KAAK,GAAG,CAACxE,EAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIpI,EAAK,KAAK,SAAS1D,CAAI,EAAMgM,EAAK,GAAG,WAAWF,EAAOpI,CAAI,EAAM0L,EAAQ,GAAG,UAAUtD,EAAOpI,EAAK,EAAK,EAAE,GAAG0L,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,CAACtD,EAAO,SAAS,OAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,aAAaE,CAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAEF,EAAO,SAAS,OAAOA,EAAOpI,CAAI,EAAE,GAAG,YAAYsI,CAAI,CAAC,EAAE,SAAShM,EAAK,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,CAAI,EAAMiP,EAAKqB,EAAO,KAAK,GAAG,CAACrB,EAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACA,EAAK,SAAS,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAK,SAAS,SAASA,CAAI,CAAC,EAAE,KAAKjP,EAAKmR,EAAW,CAAC,IAAIb,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,CAACmR,CAAU,CAAC,EAAMnF,EAAKsE,EAAO,KAAK,GAAG,CAACtE,EAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACA,EAAK,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAK,SAAS,QAAQA,CAAI,CAAC,EAAE,MAAMhM,EAAK,CAAC,OAAO,GAAG,KAAKA,EAAK,EAAI,CAAC,EAAE,MAAMA,EAAK+L,EAAKoF,EAAW,CAAC,IAAInF,EAAK,GAAG,OAAOhM,GAAM,SAAS,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,CAACmR,CAAU,CAAC,EAAEnF,EAAKsE,EAAO,IAAI,MAAMtE,EAAKhM,EAAK,GAAG,CAACgM,EAAK,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAEA,EAAK,SAAS,QAAQA,EAAK,CAAC,KAAKD,EAAK,KAAKC,EAAK,KAAK,MAAM,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAOhM,EAAK+L,EAAK,CAAC,GAAG,MAAM/L,EAAK+L,EAAK,EAAI,CAAC,EAAE,OAAOX,EAAGW,EAAK,CAAC,IAAIR,EAAO,GAAG,iBAAiBH,CAAE,EAAE,GAAG,MAAMG,EAAO,KAAKQ,CAAI,CAAC,EAAE,MAAM/L,EAAKoR,EAAIC,EAAIF,EAAW,CAAC,IAAInF,EAAK,GAAG,OAAOhM,GAAM,SAAS,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,CAACmR,CAAU,CAAC,EAAEnF,EAAKsE,EAAO,IAAI,MAAMtE,EAAKhM,EAAK,GAAG,CAACgM,EAAK,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAEA,EAAK,SAAS,QAAQA,EAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAOhM,EAAKoR,EAAIC,EAAI,CAAC,GAAG,MAAMrR,EAAKoR,EAAIC,EAAI,EAAI,CAAC,EAAE,OAAOjG,EAAGgG,EAAIC,EAAI,CAAC,IAAI9F,EAAO,GAAG,iBAAiBH,CAAE,EAAE,GAAG,MAAMG,EAAO,KAAK6F,EAAIC,CAAG,CAAC,EAAE,SAASrR,EAAKuD,EAAI,CAAC,GAAGA,EAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIyI,EAAK,GAAG,OAAOhM,GAAM,SAAS,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAEgM,EAAKsE,EAAO,IAAI,MAAMtE,EAAKhM,EAAK,GAAG,CAACgM,EAAK,SAAS,QAAS,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,MAAMA,EAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAAC,GAAG,OAAOA,EAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIoD,EAAQ,GAAG,gBAAgBpD,EAAK,GAAG,EAAE,GAAGoD,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAEpD,EAAK,SAAS,QAAQA,EAAK,CAAC,KAAKzI,EAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU6H,EAAG7H,EAAI,CAAC,IAAIgI,EAAO,GAAG,iBAAiBH,CAAE,EAAE,GAAI,EAAAG,EAAO,MAAM,SAAc,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,SAASA,EAAO,KAAKhI,CAAG,CAAC,EAAE,MAAMvD,EAAKkO,EAAMC,EAAM,CAAC,IAAImC,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAMgM,EAAKsE,EAAO,KAAKtE,EAAK,SAAS,QAAQA,EAAK,CAAC,MAAAkC,EAAM,MAAAC,CAAK,CAAC,CAAC,EAAE,KAAKnO,EAAK6E,EAAMkH,EAAK,IAAI,CAAC,GAAG/L,IAAO,GAAI,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE6E,EAAM,OAAOA,GAAO,SAAS,qBAAqBA,CAAK,EAAEA,EAASA,EAAM,GAAIkH,EAAKA,EAAK,KAAK,MAAWA,EAAK,EAAE,IAAIC,EAAK,GAAG,OAAOhM,GAAM,SAAUgM,EAAKhM,MAAS,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAE6E,EAAM,QAAQ,WAAW,EAAI,CAAC,EAAEmH,EAAKsE,EAAO,KAAKtQ,EAAKsQ,EAAO,IAAI,CAAC,IAAIgB,EAAQ,GAAM,GAAGzM,EAAM,GAAI,GAAGmH,GAAM,GAAGnH,EAAM,IAAK,MAAM,IAAI,GAAG,WAAW,EAAE,OAAQmH,EAAK,GAAG,MAAMhM,EAAK+L,EAAK,CAAC,EAAEuF,EAAQ,GAAM,GAAG,CAACtF,EAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAyC,GAApC,GAAG,SAASA,EAAK,IAAI,IAAGnH,GAAO,MAAQA,EAAM,OAAO,CAAC,GAAG,MAAMmH,EAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACsF,EAAQ,CAAC,IAAIlC,EAAQ,GAAG,QAAQpD,EAAKnH,CAAK,EAAE,GAAGuK,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,CAAE,CAAIvK,EAAM,KAAK,CAACyM,GAAS,GAAG,SAAStF,EAAK,CAAC,EAAEnH,GAAO,QAAkB,IAAI0G,EAAO,GAAG,aAAa,CAAC,KAAAS,EAAK,KAAK,GAAG,QAAQA,CAAI,EAAE,MAAAnH,EAAM,SAAS,GAAK,SAAS,EAAE,WAAWmH,EAAK,WAAW,SAAS,CAAC,EAAE,MAAM,EAAK,CAAC,EAAE,OAAGT,EAAO,WAAW,MAAMA,EAAO,WAAW,KAAKA,CAAM,EAAK,OAAO,cAAiB,EAAE1G,EAAM,KAAS7E,KAAQ,GAAG,YAAY,GAAG,UAAUA,CAAI,EAAE,IAAUuL,CAAM,EAAE,MAAMA,EAAO,CAAC,GAAG,GAAG,SAASA,CAAM,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAKA,EAAO,WAASA,EAAO,SAAS,MAAK,GAAG,CAAIA,EAAO,WAAW,OAAOA,EAAO,WAAW,MAAMA,CAAM,CAAE,OAAOpK,EAAE,CAAC,MAAMA,CAAC,QAAC,CAAQ,GAAG,YAAYoK,EAAO,EAAE,CAAC,CAACA,EAAO,GAAG,IAAI,EAAE,SAASA,EAAO,CAAC,OAAOA,EAAO,KAAK,IAAI,EAAE,OAAOA,EAAOvI,EAAOiK,EAAO,CAAC,GAAG,GAAG,SAAS1B,CAAM,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,CAACA,EAAO,UAAU,CAACA,EAAO,WAAW,OAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG0B,GAAQ,GAAGA,GAAQ,GAAGA,GAAQ,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAA1B,EAAO,SAASA,EAAO,WAAW,OAAOA,EAAOvI,EAAOiK,CAAM,EAAE1B,EAAO,SAAS,CAAC,EAASA,EAAO,QAAQ,EAAE,KAAKA,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAAS,CAAC,GAAGzC,EAAO,GAAGyC,EAAS,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,SAASvB,CAAM,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAIA,EAAO,MAAM,WAAW,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,MAAMA,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACA,EAAO,WAAW,KAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIgG,EAAQ,OAAOzE,EAAU,IAAY,GAAG,CAACyE,EAASzE,EAASvB,EAAO,iBAAiB,CAACA,EAAO,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIJ,EAAUI,EAAO,WAAW,KAAKA,EAAOE,EAAOzI,EAAOqH,EAAOyC,CAAQ,EAAE,OAAIyE,IAAQhG,EAAO,UAAUJ,GAAiBA,CAAS,EAAE,MAAMI,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAASE,EAAO,CAAC,GAAG3C,EAAO,GAAGyC,EAAS,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,GAAG,SAASvB,CAAM,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAI,EAAAA,EAAO,MAAM,SAAc,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,MAAMA,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACA,EAAO,WAAW,MAAO,MAAM,IAAI,GAAG,WAAW,EAAE,EAAKA,EAAO,UAAUA,EAAO,MAAM,MAAM,GAAG,OAAOA,EAAO,EAAE,CAAC,EAAE,IAAIgG,EAAQ,OAAOzE,EAAU,IAAY,GAAG,CAACyE,EAASzE,EAASvB,EAAO,iBAAiB,CAACA,EAAO,SAAU,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIiG,EAAajG,EAAO,WAAW,MAAMA,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAASE,CAAM,EAAE,OAAIuE,IAAQhG,EAAO,UAAUiG,GAAoBA,CAAY,EAAE,SAASjG,EAAOvI,EAAOqH,EAAO,CAAC,GAAG,GAAG,SAASkB,CAAM,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAGvI,EAAO,GAAGqH,GAAQ,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAI,EAAAkB,EAAO,MAAM,SAAc,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,CAAC,GAAG,OAAOA,EAAO,KAAK,IAAI,GAAG,CAAC,GAAG,MAAMA,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAACA,EAAO,WAAW,SAAU,MAAM,IAAI,GAAG,WAAW,GAAG,EAAEA,EAAO,WAAW,SAASA,EAAOvI,EAAOqH,CAAM,CAAC,EAAE,KAAKkB,EAAOlB,EAAOyC,EAASI,EAAKrI,EAAM,CAAC,GAAIqI,EAAK,GAAS,EAAArI,EAAM,KAAS0G,EAAO,MAAM,WAAW,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAIA,EAAO,MAAM,WAAW,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,CAACA,EAAO,WAAW,KAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAAClB,EAAQ,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOkB,EAAO,WAAW,KAAKA,EAAOlB,EAAOyC,EAASI,EAAKrI,CAAK,CAAC,EAAE,MAAM0G,EAAOE,EAAOzI,EAAOqH,EAAO+C,EAAU,CAAC,OAAI7B,EAAO,WAAW,MAAuBA,EAAO,WAAW,MAAMA,EAAOE,EAAOzI,EAAOqH,EAAO+C,CAAS,EAAtE,CAAuE,EAAE,MAAM7B,EAAOkG,EAAIC,EAAI,CAAC,GAAG,CAACnG,EAAO,WAAW,MAAO,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOA,EAAO,WAAW,MAAMA,EAAOkG,EAAIC,CAAG,CAAC,EAAE,SAAS1R,EAAK2O,EAAK,CAAC,EAAE,CAAgE,GAA/DA,EAAK,MAAMA,EAAK,OAAO,EAAEA,EAAK,SAASA,EAAK,UAAU,SAAYA,EAAK,WAAW,QAAQA,EAAK,WAAW,SAAU,MAAM,IAAI,MAAM,0BAA0BA,EAAK,QAAQ,GAAG,EAAE,IAAIzO,EAAQqL,EAAO,GAAG,KAAKvL,EAAK2O,EAAK,KAAK,EAAMV,EAAK,GAAG,KAAKjO,CAAI,EAAMqK,EAAO4D,EAAK,KAASzN,EAAI,IAAI,WAAW6J,CAAM,EAAE,UAAG,KAAKkB,EAAO/K,EAAI,EAAE6J,EAAO,CAAC,EAAKsE,EAAK,WAAW,OAAQzO,EAAI,kBAAkBM,CAAG,EAAUmO,EAAK,WAAW,WAAUzO,EAAIM,GAAI,GAAG,MAAM+K,CAAM,EAASrL,CAAG,EAAE,UAAUF,EAAKiI,EAAK0G,EAAK,CAAC,EAAE,CAACA,EAAK,MAAMA,EAAK,OAAO,IAAI,IAAIpD,EAAO,GAAG,KAAKvL,EAAK2O,EAAK,MAAMA,EAAK,IAAI,EAAE,GAAG,OAAO1G,GAAM,SAAS,CAAC,IAAIzH,EAAI,IAAI,WAAW,gBAAgByH,CAAI,EAAE,CAAC,EAAM0J,EAAe,kBAAkB1J,EAAKzH,EAAI,EAAEA,EAAI,MAAM,EAAE,GAAG,MAAM+K,EAAO/K,EAAI,EAAEmR,EAAe,OAAUhD,EAAK,MAAM,CAAC,SAAS,YAAY,OAAO1G,CAAI,EAAG,GAAG,MAAMsD,EAAOtD,EAAK,EAAEA,EAAK,WAAW,OAAU0G,EAAK,MAAM,MAAO,OAAM,IAAI,MAAM,uBAAuB,EAAE,GAAG,MAAMpD,CAAM,CAAC,EAAE,IAAI,IAAI,GAAG,YAAY,MAAMvL,EAAK,CAAC,IAAIsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAE,GAAGsQ,EAAO,OAAO,KAAM,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG,CAAC,GAAG,MAAMA,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,IAAIlB,EAAQ,GAAG,gBAAgBkB,EAAO,KAAK,GAAG,EAAE,GAAGlB,EAAS,MAAM,IAAI,GAAG,WAAWA,CAAO,EAAE,GAAG,YAAYkB,EAAO,IAAI,EAAE,0BAA0B,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,eAAe,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC/E,EAAOE,EAAOzI,EAAOqH,EAAOqB,IAAMrB,EAAO,OAAO,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC,EAAE,IAAI,eAAe,EAAE,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC,EAAE,IAAI,gBAAgB,EAAE,GAAG,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAIuH,EAAa,IAAI,WAAW,IAAI,EAAEC,EAAW,EAAMC,EAAW,KAAQD,IAAa,IAAGA,EAAW,WAAWD,CAAY,EAAE,YAAkBA,EAAa,EAAEC,CAAU,GAAG,GAAG,aAAa,OAAO,SAASC,CAAU,EAAE,GAAG,aAAa,OAAO,UAAUA,CAAU,EAAE,GAAG,MAAM,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,0BAA0B,CAAC,GAAG,MAAM,OAAO,EAAE,IAAIC,EAAU,GAAG,MAAM,YAAY,EAAE,GAAG,MAAM,eAAe,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI/F,EAAK,GAAG,WAAW+F,EAAU,KAAK,MAAM,EAAE,EAAE,OAAA/F,EAAK,WAAW,CAAC,OAAO,MAAM,WAAW,MAAM,EAAEA,EAAK,SAAS,CAAC,OAAOF,EAAOpI,EAAK,CAAC,IAAI0H,EAAG,CAAC1H,EAAS6H,EAAO,GAAG,iBAAiBH,CAAE,EAAMlL,EAAI,CAAC,OAAO,KAAK,MAAM,CAAC,WAAW,MAAM,EAAE,SAAS,CAAC,SAAS,IAAIqL,EAAO,IAAI,EAAE,GAAGH,EAAG,CAAC,EAAE,OAAAlL,EAAI,OAAOA,EAAWA,CAAG,EAAE,SAAS,CAAC,OAAO,MAAM,KAAK,GAAG,QAAQ,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC8R,EAAEC,CAAC,IAAIA,CAAC,EAAE,IAAI,CAAC,CAACD,EAAEC,CAAC,IAAID,EAAE,SAAS,CAAC,CAAC,CAAC,EAAShG,CAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,sBAAsBkG,EAAMC,EAAOrK,EAAM,CAAIoK,EAAO,GAAG,aAAa,OAAO,QAAQA,CAAK,EAAO,GAAG,QAAQ,WAAW,YAAY,EAAKC,EAAQ,GAAG,aAAa,OAAO,SAAS,KAAKA,CAAM,EAAO,GAAG,QAAQ,WAAW,aAAa,EAAKrK,EAAO,GAAG,aAAa,OAAO,SAAS,KAAKA,CAAK,EAAO,GAAG,QAAQ,YAAY,aAAa,EAAE,IAAIsK,EAAM,GAAG,KAAK,aAAa,CAAC,EAAMC,EAAO,GAAG,KAAK,cAAc,CAAC,EAAMC,EAAO,GAAG,KAAK,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,UAAU,IAAI,MAAM,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,yBAAyB,EAAE,GAAG,qBAAqB,EAAE,GAAG,yBAAyB,EAAE,GAAG,YAAY,CAAC,MAAM,OAAO,CAAC,EAAE,KAAKJ,EAAMC,EAAOrK,EAAM,CAAC,GAAG,YAAY,GAAKoK,MAAQ,OAAO,OAASC,MAAS,OAAO,QAAUrK,MAAQ,OAAO,QAAU,GAAG,sBAAsBoK,EAAMC,EAAOrK,CAAK,CAAC,EAAE,MAAM,CAAC,GAAG,YAAY,GAAM,QAAQ,CAAC,EAAE,QAAQnH,EAAE,EAAEA,EAAE,GAAG,QAAQ,OAAOA,IAAI,CAAC,IAAI4K,EAAO,GAAG,QAAQ5K,CAAC,EAAM4K,GAAiB,GAAG,MAAMA,CAAM,CAAC,CAAC,EAAE,WAAWvL,EAAKuS,EAAoB,CAAC,IAAIrS,EAAI,GAAG,YAAYF,EAAKuS,CAAmB,EAAE,OAAIrS,EAAI,OAA2BA,EAAI,OAAhB,IAAsB,EAAE,YAAYF,EAAKuS,EAAoB,CAAC,GAAG,CAAC,IAAIjC,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,CAACuS,CAAmB,CAAC,EAAEvS,EAAKsQ,EAAO,IAAI,MAAS,CAAC,CAAC,IAAIpQ,EAAI,CAAC,OAAO,GAAM,OAAO,GAAM,MAAM,EAAE,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,aAAa,GAAM,WAAW,KAAK,aAAa,IAAI,EAAE,GAAG,CAAC,IAAIoQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAEE,EAAI,aAAa,GAAKA,EAAI,WAAWoQ,EAAO,KAAKpQ,EAAI,aAAaoQ,EAAO,KAAKpQ,EAAI,KAAK,KAAK,SAASF,CAAI,EAAEsQ,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,CAACuS,CAAmB,CAAC,EAAErS,EAAI,OAAO,GAAKA,EAAI,KAAKoQ,EAAO,KAAKpQ,EAAI,OAAOoQ,EAAO,KAAKpQ,EAAI,KAAKoQ,EAAO,KAAK,KAAKpQ,EAAI,OAAOoQ,EAAO,OAAO,GAAG,OAAOnP,EAAE,CAACjB,EAAI,MAAMiB,EAAE,KAAK,CAAC,OAAOjB,CAAG,EAAE,WAAW4L,EAAO9L,EAAKsN,EAAQC,EAAS,CAACzB,EAAO,OAAOA,GAAQ,SAASA,EAAO,GAAG,QAAQA,CAAM,EAAsC,QAAhClD,EAAM5I,EAAK,MAAM,GAAG,EAAE,QAAQ,EAAQ4I,EAAM,QAAO,CAAC,IAAI4J,EAAK5J,EAAM,IAAI,EAAE,GAAI4J,EAAc,KAAI1D,EAAQ,KAAK,MAAMhD,EAAO0G,CAAI,EAAE,GAAG,CAAC,GAAG,MAAM1D,CAAO,CAAC,MAAS,CAAC,CAAChD,EAAOgD,EAAO,CAAC,OAAOA,CAAO,EAAE,WAAWhD,EAAOpI,EAAK+O,EAAWnF,EAAQC,EAAS,CAAC,IAAIvN,EAAK,KAAK,MAAM,OAAO8L,GAAQ,SAASA,EAAO,GAAG,QAAQA,CAAM,EAAEpI,CAAI,EAAMqI,EAAK,WAAWuB,EAAQC,CAAQ,EAAE,OAAO,GAAG,OAAOvN,EAAK+L,CAAI,CAAC,EAAE,eAAeD,EAAOpI,EAAKuE,EAAKqF,EAAQC,EAASP,EAAO,CAAC,IAAIhN,EAAK0D,EAAQoI,IAAQA,EAAO,OAAOA,GAAQ,SAASA,EAAO,GAAG,QAAQA,CAAM,EAAE9L,EAAK0D,EAAK,KAAK,MAAMoI,EAAOpI,CAAI,EAAEoI,GAAO,IAAIC,EAAK,WAAWuB,EAAQC,CAAQ,EAAMvB,EAAK,GAAG,OAAOhM,EAAK+L,CAAI,EAAE,GAAG9D,EAAK,CAAC,GAAG,OAAOA,GAAM,SAAS,CAAgC,QAA3BgC,EAAI,IAAI,MAAMhC,EAAK,MAAM,EAAUtH,EAAE,EAAE4C,EAAI0E,EAAK,OAAOtH,EAAE4C,EAAI,EAAE5C,EAAEsJ,EAAItJ,CAAC,EAAEsH,EAAK,WAAWtH,CAAC,EAAEsH,EAAKgC,CAAG,CAAC,GAAG,MAAM+B,EAAKD,EAAK,GAAG,EAAE,IAAIR,EAAO,GAAG,KAAKS,EAAK,GAAG,EAAE,GAAG,MAAMT,EAAOtD,EAAK,EAAEA,EAAK,OAAO,EAAE+E,CAAM,EAAE,GAAG,MAAMzB,CAAM,EAAE,GAAG,MAAMS,EAAKD,CAAI,CAAC,CAAC,EAAE,aAAaD,EAAOpI,EAAKwO,EAAMC,EAAO,CARz4lE,IAAAO,EAQ04lE,IAAI1S,EAAK,KAAK,MAAM,OAAO8L,GAAQ,SAASA,EAAO,GAAG,QAAQA,CAAM,EAAEpI,CAAI,EAAMqI,EAAK,WAAW,CAAC,CAACmG,EAAM,CAAC,CAACC,CAAM,GAAEO,EAAA,GAAG,cAAa,QAAhBA,EAAgB,MAAQ,IAAG,IAAIrH,EAAI,GAAG,QAAQ,GAAG,aAAa,QAAQ,CAAC,EAAE,UAAG,eAAeA,EAAI,CAAC,KAAKE,EAAO,CAACA,EAAO,SAAS,EAAK,EAAE,MAAMA,EAAO,CAAI4G,GAAQ,QAAQ,QAAQA,EAAO,EAAE,CAAE,EAAE,KAAK5G,EAAOE,EAAOzI,EAAOqH,EAAOqB,EAAI,CAAiB,QAAZP,EAAU,EAAUxK,EAAE,EAAEA,EAAE0J,EAAO1J,IAAI,CAAC,IAAIoB,EAAO,GAAG,CAACA,EAAOmQ,EAAM,CAAC,MAAS,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,GAAGnQ,IAAS,QAAWoJ,IAAY,EAAG,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAGpJ,GAAS,KAAyB,MAAMoJ,IAAYM,EAAOzI,EAAOrC,CAAC,EAAEoB,CAAM,CAAC,OAAGoJ,IAAWI,EAAO,KAAK,MAAM,KAAK,IAAI,GAASJ,CAAS,EAAE,MAAMI,EAAOE,EAAOzI,EAAOqH,EAAOqB,EAAI,CAAC,QAAQ/K,EAAE,EAAEA,EAAE0J,EAAO1J,IAAK,GAAG,CAACwR,EAAO1G,EAAOzI,EAAOrC,CAAC,CAAC,CAAC,MAAS,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAE,OAAG0J,IAAQkB,EAAO,KAAK,MAAMA,EAAO,KAAK,MAAM,KAAK,IAAI,GAAS5K,CAAC,CAAC,CAAC,EAAS,GAAG,MAAMX,EAAK+L,EAAKV,CAAG,CAAC,EAAE,cAAcnJ,EAAI,CAAC,GAAGA,EAAI,UAAUA,EAAI,UAAUA,EAAI,MAAMA,EAAI,SAAS,MAAO,GAAK,GAAG,OAAO,eAAgB,IAAa,MAAM,IAAI,MAAM,kMAAkM,EAAO,GAAG,CAACA,EAAI,SAAS,WAAWA,EAAI,GAAG,EAAEA,EAAI,UAAUA,EAAI,SAAS,MAAM,MAAS,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,CAAE,EAAE,eAAe4J,EAAOpI,EAAKtD,EAAIkN,EAAQC,EAAS,CAAC,MAAMoF,CAAc,CAApB,cAAqB1Q,EAAA,mBAAY,IAAMA,EAAA,cAAO,CAAC,GAAE,IAAIM,EAAI,CAAC,GAAG,EAAAA,EAAI,KAAK,OAAO,GAAGA,EAAI,GAAoB,KAAIqQ,EAAYrQ,EAAI,KAAK,UAAcsQ,EAAStQ,EAAI,KAAK,UAAU,EAAE,OAAO,KAAK,OAAOsQ,CAAQ,EAAED,CAAW,EAAC,CAAC,cAAcE,EAAO,CAAC,KAAK,OAAOA,CAAM,CAAC,aAAa,CAAC,IAAIzS,EAAI,IAAI,eAAyD,GAA1CA,EAAI,KAAK,OAAOD,EAAI,EAAK,EAAEC,EAAI,KAAK,IAAI,EAAK,EAAEA,EAAI,QAAQ,KAAKA,EAAI,OAAO,KAAKA,EAAI,SAAS,KAAK,MAAM,IAAI,MAAM,iBAAiBD,EAAI,aAAaC,EAAI,MAAM,EAAE,IAAI0S,EAAW,OAAO1S,EAAI,kBAAkB,gBAAgB,CAAC,EAAM2S,EAAWC,GAAgBD,EAAO3S,EAAI,kBAAkB,eAAe,IAAI2S,IAAS,QAAYE,GAAUF,EAAO3S,EAAI,kBAAkB,kBAAkB,IAAI2S,IAAS,OAAWG,EAAU,KAAK,KAASF,IAAeE,EAAUJ,GAAW,IAAIK,EAAM,CAACtJ,EAAKC,IAAK,CAAC,GAAGD,EAAKC,EAAG,MAAM,IAAI,MAAM,kBAAkBD,EAAK,KAAKC,EAAG,0BAA0B,EAAE,GAAGA,EAAGgJ,EAAW,EAAE,MAAM,IAAI,MAAM,QAAQA,EAAW,qCAAqC,EAAE,IAAI1S,EAAI,IAAI,eAAwP,GAAzOA,EAAI,KAAK,MAAMD,EAAI,EAAK,EAAK2S,IAAaI,GAAU9S,EAAI,iBAAiB,QAAQ,SAASyJ,EAAK,IAAIC,CAAE,EAAE1J,EAAI,aAAa,cAAiBA,EAAI,kBAAkBA,EAAI,iBAAiB,oCAAoC,EAAEA,EAAI,KAAK,IAAI,EAAK,EAAEA,EAAI,QAAQ,KAAKA,EAAI,OAAO,KAAKA,EAAI,SAAS,KAAK,MAAM,IAAI,MAAM,iBAAiBD,EAAI,aAAaC,EAAI,MAAM,EAAE,OAAGA,EAAI,WAAW,OAAkB,IAAI,WAAWA,EAAI,UAAU,CAAC,CAAC,EAAS,mBAAmBA,EAAI,cAAc,GAAG,EAAI,CAAC,EAAMgT,EAAU,KAAKA,EAAU,cAAcR,GAAU,CAAC,IAAI3I,EAAM2I,EAASM,EAAclQ,GAAK4P,EAAS,GAAGM,EAAU,EAAgI,GAA9HlQ,EAAI,KAAK,IAAIA,EAAI8P,EAAW,CAAC,EAAK,OAAOM,EAAU,OAAOR,CAAQ,EAAG,MAAaQ,EAAU,OAAOR,CAAQ,EAAEO,EAAMlJ,EAAMjH,CAAG,GAAK,OAAOoQ,EAAU,OAAOR,CAAQ,EAAG,IAAY,MAAM,IAAI,MAAM,eAAe,EAAE,OAAOQ,EAAU,OAAOR,CAAQ,CAAC,CAAC,GAAKK,GAAU,CAACH,KAAYI,EAAUJ,EAAW,EAAEA,EAAW,KAAK,OAAO,CAAC,EAAE,OAAOI,EAAUJ,EAAW,IAAI,6EAA6E,GAAE,KAAK,QAAQA,EAAW,KAAK,WAAWI,EAAU,KAAK,YAAY,EAAI,CAAC,IAAI,QAAQ,CAAC,OAAI,KAAK,aAAa,KAAK,YAAY,EAAS,KAAK,OAAO,CAAC,IAAI,WAAW,CAAC,OAAI,KAAK,aAAa,KAAK,YAAY,EAAS,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,eAAgB,IAAY,CAAC,GAAG,CAAC,sBAAsB,KAAK,sHAAsH,IAAIE,EAAU,IAAIV,EAAmBF,EAAW,CAAC,SAAS,GAAM,SAASY,CAAS,CAAC,KAAM,KAAIZ,EAAW,CAAC,SAAS,GAAM,IAAArS,CAAG,EAAE,IAAI4L,EAAK,GAAG,WAAWF,EAAOpI,EAAK+O,EAAWnF,EAAQC,CAAQ,EAAKkF,EAAW,SAAUzG,EAAK,SAASyG,EAAW,SAAiBA,EAAW,MAAKzG,EAAK,SAAS,KAAKA,EAAK,IAAIyG,EAAW,KAAI,OAAO,iBAAiBzG,EAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,IAAIsH,EAAW,CAAC,EAAMC,EAAK,OAAO,KAAKvH,EAAK,UAAU,EAAEuH,EAAK,QAAQhH,GAAK,CAAC,IAAIiH,EAAGxH,EAAK,WAAWO,CAAG,EAAE+G,EAAW/G,CAAG,EAAE,IAAI7F,KAAQ,GAAG,cAAcsF,CAAI,EAASwH,EAAG,GAAG9M,CAAI,EAAE,CAAC,EAAE,SAAS+M,EAAYlI,EAAOE,EAAOzI,EAAOqH,EAAOyC,EAAS,CAAC,IAAIC,EAASxB,EAAO,KAAK,SAAS,GAAGuB,GAAUC,EAAS,OAAO,MAAO,GAAE,IAAI7H,EAAK,KAAK,IAAI6H,EAAS,OAAOD,EAASzC,CAAM,EAAE,GAAG0C,EAAS,MAAO,QAAQpM,EAAE,EAAEA,EAAEuE,EAAKvE,IAAK8K,EAAOzI,EAAOrC,CAAC,EAAEoM,EAASD,EAASnM,CAAC,MAAQ,SAAQA,EAAE,EAAEA,EAAEuE,EAAKvE,IAAK8K,EAAOzI,EAAOrC,CAAC,EAAEoM,EAAS,IAAID,EAASnM,CAAC,EAAG,OAAOuE,CAAI,CAAC,OAAAoO,EAAW,KAAK,CAAC/H,EAAOE,EAAOzI,EAAOqH,EAAOyC,KAAY,GAAG,cAAcd,CAAI,EAASyH,EAAYlI,EAAOE,EAAOzI,EAAOqH,EAAOyC,CAAQ,GAAGwG,EAAW,KAAK,CAAC/H,EAAOlB,EAAOyC,EAASI,EAAKrI,IAAQ,CAAC,GAAG,cAAcmH,CAAI,EAAE,IAAIvF,EAAI,UAAU4D,CAAM,EAAE,GAAG,CAAC5D,EAAK,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAAgN,EAAYlI,EAAO,MAAM9E,EAAI4D,EAAOyC,CAAQ,EAAQ,CAAC,IAAArG,EAAI,UAAU,EAAI,CAAC,EAAEuF,EAAK,WAAWsH,EAAkBtH,CAAI,CAAC,EAAM,SAAS,CAAC,iBAAiB,EAAE,YAAY0H,EAAM1T,EAAK2T,EAAW,CAAC,GAAG,KAAK,MAAM3T,CAAI,EAAG,OAAOA,EAAK,IAAIoJ,EAAI,GAAGsK,IAAQ,KAAMtK,EAAI,GAAG,IAAI,MAAM,CAAC,IAAIwK,EAAU,SAAS,gBAAgBF,CAAK,EAAEtK,EAAIwK,EAAU,IAAI,CAAC,GAAG5T,EAAK,QAAQ,EAAE,CAAC,GAAG,CAAC2T,EAAY,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,OAAOvK,CAAG,CAAC,OAAOA,EAAI,IAAIpJ,CAAI,EAAE,OAAO4F,EAAK5F,EAAKQ,EAAI,CAAC,IAAIyN,EAAKrI,EAAK5F,CAAI,EAAE,OAAOQ,GAAK,CAAC,EAAEyN,EAAK,IAAI,OAAOzN,EAAI,GAAG,CAAC,EAAEyN,EAAK,KAAK,QAAQzN,EAAI,GAAG,CAAC,EAAEyN,EAAK,MAAM,OAAOzN,EAAI,IAAI,CAAC,EAAEyN,EAAK,IAAI,OAAOzN,EAAI,IAAI,CAAC,EAAEyN,EAAK,IAAI,OAAOzN,EAAI,IAAI,CAAC,EAAEyN,EAAK,KAAK,OAAOzN,EAAI,IAAI,CAAC,EAAE,OAAOyN,EAAK,IAAI,EAAE,OAAOzN,EAAI,IAAI,CAAC,EAAE,KAAK,OAAOA,EAAI,IAAI,CAAC,EAAEyN,EAAK,OAAO,IAAIC,EAAMD,EAAK,MAAM,QAAQ,EAAME,EAAMF,EAAK,MAAM,QAAQ,EAAM4F,EAAM5F,EAAK,MAAM,QAAQ,EAAE,cAAOzN,EAAI,IAAI,CAAC,EAAE,OAAO,KAAK,MAAM0N,EAAM,GAAG,CAAC,EAAE,QAAQ1N,EAAI,IAAI,CAAC,EAAE0N,EAAM,IAAI,IAAI,IAAI,OAAO1N,EAAI,IAAI,CAAC,EAAE,OAAO,KAAK,MAAM2N,EAAM,GAAG,CAAC,EAAE,QAAQ3N,EAAI,IAAI,CAAC,EAAE2N,EAAM,IAAI,IAAI,IAAI,OAAO3N,EAAI,IAAI,CAAC,EAAE,OAAO,KAAK,MAAMqT,EAAM,GAAG,CAAC,EAAE,QAAQrT,EAAI,IAAI,CAAC,EAAEqT,EAAM,IAAI,IAAI,IAAI,OAAOrT,EAAI,IAAI,CAAC,EAAE,OAAOyN,EAAK,GAAG,EAAS,CAAC,EAAE,QAAQ6F,EAAKvI,EAAOhI,EAAIsB,EAAM7B,EAAO,CAAC,GAAG,CAAC,GAAG,OAAOuI,EAAO,KAAK,IAAI,EAAG,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,GAAG1G,EAAM,EAAG,MAAO,GAAE,IAAI4G,EAAO,OAAO,MAAMqI,EAAKA,EAAKvQ,CAAG,EAAE,GAAG,MAAMgI,EAAOE,EAAOzI,EAAOO,EAAIsB,CAAK,CAAC,EAAE,gBAAgBuG,EAAG,CAAC,IAAIG,EAAO,GAAG,iBAAiBH,CAAE,EAAE,OAAOG,CAAM,EAAE,QAAQ,OAAU,OAAO9E,EAAI,CAAC,IAAIvG,EAAI,aAAauG,CAAG,EAAE,OAAOvG,CAAG,CAAC,EAAE,SAAS,iBAAiBF,EAAK+L,EAAK,CAAC,GAAG,CAAC,OAAA/L,EAAK,SAAS,OAAOA,CAAI,EAAE,GAAG,MAAMA,EAAK+L,CAAI,EAAS,CAAC,OAAO5K,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,iBAAiB,IAAI,MAAM,SAAS,gBAAgBiK,EAAG2I,EAAMlP,EAAM,CAAC,GAAG,CAAC,IAAImP,EAAI,SAAS,gBAAgB5I,CAAE,EAAE,GAAG4I,EAAI,KAAKD,EAAM,MAAM,IAAI,GAAGA,EAAM,GAAGA,GAAO,GAAG,aAAa,MAAM,GAAG,IAAIvN,EAAS,GAAG,UAAUuN,CAAK,EAAE,OAAGvN,GAAS,GAAG,MAAMA,CAAQ,EAAS,GAAG,UAAUwN,EAAID,CAAK,EAAE,EAAE,OAAO5S,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,gBAAgB,IAAI,OAAO,SAAS,qBAAqBuS,EAAM1T,EAAKiU,EAAMpP,EAAM,CAAC,GAAG,CAAkE,GAAjE7E,EAAK,SAAS,OAAOA,CAAI,EAAEA,EAAK,SAAS,YAAY0T,EAAM1T,CAAI,EAAKiU,EAAM,GAAI,MAAM,IAAI,IAAI3D,EAAO,GAAG,WAAWtQ,EAAK,CAAC,OAAO,EAAI,CAAC,EAAMgM,EAAKsE,EAAO,KAAK,GAAG,CAACtE,EAAM,MAAM,IAAI,IAAIuD,EAAM,GAAqE,OAA/D0E,EAAM,IAAE1E,GAAO,KAAO0E,EAAM,IAAE1E,GAAO,KAAO0E,EAAM,IAAE1E,GAAO,KAAOA,GAAO,GAAG,gBAAgBvD,EAAKuD,CAAK,EAAS,GAAU,CAAC,OAAOpO,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,qBAAqB,IAAI,QAAQ,IAAI,qBAAqB,CAACiK,EAAGpI,EAAOO,EAAI2Q,IAAS,EAAE,qBAAqB,IAAI,QAAQ,IAAI,kBAAkB,IAAI,CAAC,IAAIhU,EAAI,OAAO,CAAC,SAAS,SAAS,CAAC,EAAE,gBAAS,SAAS,EAASA,CAAG,EAAM,kBAAkB,kBAAkB,SAAS,mBAAmBkL,EAAGqG,EAAI0C,EAAQ,CAAC,SAAS,QAAQA,EAAQ,GAAG,CAAC,IAAI5I,EAAO,SAAS,gBAAgBH,CAAE,EAAE,OAAOqG,EAAI,CAAC,IAAK,GAAE,CAAC,IAAIC,EAAI,kBAAkB,EAAE,GAAGA,EAAI,EAAG,MAAM,IAAI,KAAM,GAAG,QAAQA,CAAG,GAAGA,IAAM,IAAI0C,EAAU,OAAAA,EAAU,GAAG,UAAU7I,EAAOmG,CAAG,EAAS0C,EAAU,EAAE,CAAC,IAAK,GAAE,IAAK,GAAE,MAAO,GAAE,IAAK,GAAE,OAAO7I,EAAO,MAAM,IAAK,GAAE,CAAC,IAAImG,EAAI,kBAAkB,EAAE,OAAAnG,EAAO,OAAOmG,EAAW,CAAC,CAAC,IAAK,IAAG,CAAC,IAAIA,EAAI,kBAAkB,EAAM1O,EAAO,EAAE,cAAO0O,EAAI1O,GAAQ,CAAC,EAAE,EAAS,CAAC,CAAC,IAAK,IAAG,IAAK,IAAG,MAAO,EAAC,CAAC,MAAM,GAAG,OAAO7B,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,mBAAmB,IAAI,OAAO,SAAS,mBAAmBiK,EAAG5K,EAAI,CAAC,GAAG,CAAC,IAAI+K,EAAO,SAAS,gBAAgBH,CAAE,EAAE,OAAO,SAAS,OAAO,GAAG,KAAKG,EAAO,KAAK/K,CAAG,CAAC,OAAOW,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,mBAAmB,IAAI,MAAM,IAAI,aAAa,CAACwB,EAAI0R,EAAO1J,IAAkB,kBAAkBhI,EAAI,OAAO0R,EAAO1J,CAAe,EAAE,SAAS,kBAAkBnK,EAAI0E,EAAK,CAAC,GAAG,CAAC,GAAGA,IAAO,EAAE,MAAM,IAAI,IAAIoP,EAAI,GAAG,IAAI,EAAMC,EAAiB,gBAAgBD,CAAG,EAAE,EAAE,OAAGpP,EAAKqP,EAAuB,KAAI,aAAaD,EAAI9T,EAAI0E,CAAI,EAASqP,EAAgB,OAAOpT,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,kBAAkB,IAAI,MAAM,SAAS,sBAAsBiK,EAAGoJ,EAAK7P,EAAM,CAAC,GAAG,CAAC,IAAI4G,EAAO,SAAS,gBAAgBH,CAAE,EAAEG,EAAO,WAAPA,EAAO,SAAW,GAAG,QAAQA,EAAO,IAAI,GAA0L,QAApLkJ,EAAY,IAAQ/I,EAAI,EAAMgJ,EAAI,GAAG,OAAOnJ,EAAO,EAAE,CAAC,EAAMX,EAAS,KAAK,MAAM8J,EAAID,CAAW,EAAMhS,EAAO,KAAK,IAAI8I,EAAO,SAAS,OAAOX,EAAS,KAAK,MAAMjG,EAAM8P,CAAW,CAAC,EAAUlS,EAAIqI,EAASrI,EAAIE,EAAOF,IAAM,CAAC,IAAIvB,EAAOwE,EAAS9B,EAAK6H,EAAO,SAAShJ,CAAG,EAAE,GAAGmB,IAAO,IAAK1C,EAAGuK,EAAO,KAAK,GAAG/F,EAAK,UAAU9B,IAAO,KAAK,CAAC,IAAI4M,EAAO,GAAG,WAAW/E,EAAO,KAAK,CAAC,OAAO,EAAI,CAAC,EAAEvK,EAAGsP,EAAO,KAAK,GAAG9K,EAAK,CAAC,KAAK,CAAC,IAAImP,EAAM,GAAG,CAACA,EAAM,GAAG,WAAWpJ,EAAO,KAAK7H,CAAI,CAAC,OAAOvC,EAAE,CAAC,GAAGA,GAAG,QAAQ,GAAI,SAAS,MAAMA,CAAC,CAACH,EAAG2T,EAAM,GAAGnP,EAAK,GAAG,SAASmP,EAAM,IAAI,EAAE,EAAE,GAAG,MAAMA,EAAM,IAAI,EAAE,EAAE,GAAG,OAAOA,EAAM,IAAI,EAAE,GAAG,CAAC,CAAC,OAAOH,EAAK9I,GAAK,CAAC,EAAE,OAAO1K,CAAE,EAAE,OAAOwT,EAAK9I,EAAI,GAAG,CAAC,EAAE,QAAQnJ,EAAI,GAAGkS,CAAW,EAAE,OAAOD,EAAK9I,EAAI,IAAI,CAAC,EAAE,IAAI,MAAM8I,EAAK9I,EAAI,EAAE,EAAElG,EAAK,aAAa9B,EAAK8Q,EAAK9I,EAAI,GAAG,GAAG,EAAEA,GAAK+I,CAAW,CAAC,UAAG,OAAOlJ,EAAOhJ,EAAIkS,EAAY,CAAC,EAAS/I,CAAG,OAAOvK,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,sBAAsB,IAAI,OAAO,SAAS,iBAAiBiK,EAAGwJ,EAAGT,EAAQ,CAAC,SAAS,QAAQA,EAAQ,GAAG,CAAC,IAAI5I,EAAO,SAAS,gBAAgBH,CAAE,EAAE,OAAOwJ,EAAG,CAAC,IAAK,OAAO,OAAIrJ,EAAO,IAAqB,EAAX,IAAa,IAAK,OAAM,CAAC,GAAG,CAACA,EAAO,IAAI,MAAM,IAAI,GAAGA,EAAO,IAAI,IAAI,aAAa,CAAC,IAAIsJ,EAAQtJ,EAAO,IAAI,IAAI,aAAaA,CAAM,EAAMuJ,EAAK,kBAAkB,EAAE,OAAOA,GAAM,CAAC,EAAED,EAAQ,SAAS,EAAE,OAAOC,EAAK,GAAG,CAAC,EAAED,EAAQ,SAAS,EAAE,OAAOC,EAAK,GAAG,CAAC,EAAED,EAAQ,SAAS,EAAE,OAAOC,EAAK,IAAI,CAAC,EAAED,EAAQ,SAAS,EAAE,QAAQlU,EAAE,EAAEA,EAAE,GAAGA,IAAK,MAAMmU,EAAKnU,EAAE,EAAE,EAAEkU,EAAQ,KAAKlU,CAAC,GAAG,EAAE,MAAO,EAAC,CAAC,MAAO,EAAC,CAAC,IAAK,OAAM,IAAK,OAAM,IAAK,OAAO,OAAI4K,EAAO,IAAqB,EAAX,IAAa,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,CAAC,GAAG,CAACA,EAAO,IAAI,MAAM,IAAI,GAAGA,EAAO,IAAI,IAAI,aAAa,CAAiK,QAA5JuJ,EAAK,kBAAkB,EAAMC,EAAQ,OAAOD,GAAM,CAAC,EAAME,EAAQ,OAAOF,EAAK,GAAG,CAAC,EAAMG,EAAQ,OAAOH,EAAK,GAAG,CAAC,EAAMI,EAAQ,OAAOJ,EAAK,IAAI,CAAC,EAAMK,EAAK,CAAC,EAAUxU,EAAE,EAAEA,EAAE,GAAGA,IAAKwU,EAAK,KAAK,MAAML,EAAKnU,EAAE,EAAE,CAAC,EAAE,OAAO4K,EAAO,IAAI,IAAI,aAAaA,EAAO,IAAIqJ,EAAG,CAAC,QAAAG,EAAQ,QAAAC,EAAQ,QAAAC,EAAQ,QAAAC,EAAQ,KAAAC,CAAI,CAAC,CAAC,CAAC,MAAO,EAAC,CAAC,IAAK,OAAM,CAAC,GAAG,CAAC5J,EAAO,IAAI,MAAM,IAAI,IAAIuJ,EAAK,kBAAkB,EAAE,cAAOA,GAAM,CAAC,EAAE,EAAS,CAAC,CAAC,IAAK,OAAO,OAAIvJ,EAAO,IAAoB,IAAV,IAAc,IAAK,OAAM,CAAC,IAAIuJ,EAAK,kBAAkB,EAAE,OAAO,GAAG,MAAMvJ,EAAOqJ,EAAGE,CAAI,CAAC,CAAC,IAAK,OAAM,CAAC,GAAG,CAACvJ,EAAO,IAAI,MAAM,IAAI,GAAGA,EAAO,IAAI,IAAI,iBAAiB,CAAC,IAAI6J,EAAQ7J,EAAO,IAAI,IAAI,iBAAiBA,EAAO,GAAG,EAAMuJ,EAAK,kBAAkB,EAAE,OAAOA,GAAM,CAAC,EAAEM,EAAQ,CAAC,EAAE,OAAON,EAAK,GAAG,CAAC,EAAEM,EAAQ,CAAC,CAAC,CAAC,MAAO,EAAC,CAAC,IAAK,OAAO,OAAI7J,EAAO,IAAqB,EAAX,IAAa,IAAK,OAAO,OAAIA,EAAO,IAAqB,EAAX,IAAa,QAAQ,MAAM,GAAG,CAAC,OAAOpK,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,iBAAiB,IAAI,OAAO,SAAS,mBAAmBnB,EAAKQ,EAAI,CAAC,GAAG,CAAC,OAAAR,EAAK,SAAS,OAAOA,CAAI,EAAS,SAAS,OAAO,GAAG,MAAMA,EAAKQ,CAAG,CAAC,OAAOW,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,mBAAmB,IAAI,MAAM,SAAS,mBAAmBuS,EAAM1T,EAAK+L,EAAK,CAAC,GAAG,CAAC,OAAA/L,EAAK,SAAS,OAAOA,CAAI,EAAEA,EAAK,SAAS,YAAY0T,EAAM1T,CAAI,EAAE,GAAG,MAAMA,EAAK+L,EAAK,CAAC,EAAS,CAAC,OAAO5K,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,mBAAmB,IAAI,OAAO,SAAS,sBAAsBuS,EAAM1T,EAAKQ,EAAIqE,EAAM,CAAC,GAAG,CAAC7E,EAAK,SAAS,OAAOA,CAAI,EAAE,IAAIqV,EAASxQ,EAAM,IAAQ8O,EAAW9O,EAAM,KAAK,OAAAA,EAAMA,EAAM,MAAM7E,EAAK,SAAS,YAAY0T,EAAM1T,EAAK2T,CAAU,EAAS,SAAS,OAAO0B,EAAS,GAAG,MAAM,GAAG,KAAKrV,EAAKQ,CAAG,CAAC,OAAOW,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,sBAAsB,IAAI,QAAQ,SAAS,kBAAkBuS,EAAM1T,EAAK6E,EAAMsP,EAAQ,CAAC,SAAS,QAAQA,EAAQ,GAAG,CAACnU,EAAK,SAAS,OAAOA,CAAI,EAAEA,EAAK,SAAS,YAAY0T,EAAM1T,CAAI,EAAE,IAAI+L,EAAKoI,EAAQ,kBAAkB,EAAE,EAAE,OAAO,GAAG,KAAKnU,EAAK6E,EAAMkH,CAAI,EAAE,EAAE,OAAO5K,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,kBAAkB,IAAI,QAAQ,SAAS,sBAAsBuS,EAAM1T,EAAKQ,EAAI8U,EAAQ,CAAC,GAAG,CAAkE,GAAjEtV,EAAK,SAAS,OAAOA,CAAI,EAAEA,EAAK,SAAS,YAAY0T,EAAM1T,CAAI,EAAKsV,GAAS,EAAE,MAAM,IAAI,IAAIpV,EAAI,GAAG,SAASF,CAAI,EAAMuD,EAAI,KAAK,IAAI+R,EAAQ,gBAAgBpV,CAAG,CAAC,EAAMqV,EAAQ,MAAM/U,EAAI+C,CAAG,EAAE,oBAAarD,EAAIM,EAAI8U,EAAQ,CAAC,EAAE,MAAM9U,EAAI+C,CAAG,EAAEgS,EAAehS,CAAG,OAAOpC,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,sBAAsB,IAAI,QAAQ,SAAS,iBAAiBnB,EAAK,CAAC,GAAG,CAAC,OAAAA,EAAK,SAAS,OAAOA,CAAI,EAAE,GAAG,MAAMA,CAAI,EAAS,CAAC,OAAOmB,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,iBAAiB,IAAI,KAAK,SAAS,kBAAkBnB,EAAKQ,EAAI,CAAC,GAAG,CAAC,OAAAR,EAAK,SAAS,OAAOA,CAAI,EAAS,SAAS,OAAO,GAAG,KAAKA,EAAKQ,CAAG,CAAC,OAAOW,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,kBAAkB,IAAI,MAAM,SAAS,qBAAqBkE,EAAOqO,EAAM8B,EAAS,CAAC,GAAG,CAAC,OAAAnQ,EAAO,SAAS,OAAOA,CAAM,EAAEmQ,EAAS,SAAS,OAAOA,CAAQ,EAAEA,EAAS,SAAS,YAAY9B,EAAM8B,CAAQ,EAAE,GAAG,QAAQnQ,EAAOmQ,CAAQ,EAAS,CAAC,OAAOrU,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,qBAAqB,IAAI,OAAO,SAAS,oBAAoBuS,EAAM1T,EAAK6E,EAAM,CAAC,GAAG,CAAC,OAAA7E,EAAK,SAAS,OAAOA,CAAI,EAAEA,EAAK,SAAS,YAAY0T,EAAM1T,CAAI,EAAK6E,IAAQ,EAAG,GAAG,OAAO7E,CAAI,EAAU6E,IAAQ,IAAK,GAAG,MAAM7E,CAAI,EAAO,MAAM,kCAAkC,EAAS,CAAC,OAAOmB,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,MAAM,CAACA,EAAE,KAAK,CAAC,CAAC,oBAAoB,IAAI,OAAO,IAAI,cAAc,IAAI,YAAY,OAAO,CAAC,MAAM,MAAM,QAAQ,EAAK,EAAE,CAAC,EAAM,WAAW,IAAI,MAAM,EAAE,EAAE,WAAW,IAAI,IAAI,IAAI,wBAAwB,EAAM,qCAAqC,IAAI,CAAC,cAAc,GAAM,wBAAwB,CAAC,EAAE,qCAAqC,IAAI,IAAI,IAAI,2BAA2B,IAAI,CAAC,KAAM,IAAQ,EAAE,2BAA2B,IAAI,IAAI,IAAI,WAAWsU,GAAMA,EAAK,IAAI,IAAIA,EAAK,MAAM,GAAGA,EAAK,MAAM,GAAO,2BAA2B,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAM,8BAA8B,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAM,aAAaC,GAAM,CAAC,IAAIC,EAAK,WAAWD,EAAK,YAAY,CAAC,EAAME,EAAoBD,EAAK,2BAA2B,8BAAkCE,EAAKD,EAAoBF,EAAK,SAAS,CAAC,EAAEA,EAAK,QAAQ,EAAE,EAAE,OAAOG,CAAI,EAAM,UAAU,iBAAqB,UAAU,kBAAsB,mBAAmBC,GAAKA,EAAI,WAAWA,EAAI,UAAU,IAAI,OAAOA,CAAG,EAAE,SAAS,eAAeC,EAAKC,EAAM,CAACD,EAAK,mBAAmBA,CAAI,EAAE,IAAIL,EAAK,IAAI,KAAKK,EAAK,GAAG,EAAE,OAAOC,GAAO,CAAC,EAAEN,EAAK,WAAW,EAAE,OAAOM,EAAM,GAAG,CAAC,EAAEN,EAAK,WAAW,EAAE,OAAOM,EAAM,GAAG,CAAC,EAAEN,EAAK,SAAS,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,QAAQ,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,SAAS,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,YAAY,EAAE,KAAK,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,OAAO,EAAE,IAAIG,EAAK,aAAaH,CAAI,EAAE,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEH,EAAK,OAAOG,EAAM,IAAI,CAAC,EAAE,EAAEN,EAAK,kBAAkB,EAAE,IAAI,IAAIxL,EAAM,IAAI,KAAKwL,EAAK,YAAY,EAAE,EAAE,CAAC,EAAMO,EAAa,IAAI,KAAKP,EAAK,YAAY,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAMQ,EAAahM,EAAM,kBAAkB,EAAMiM,GAAKF,GAAcC,GAAcR,EAAK,kBAAkB,GAAG,KAAK,IAAIQ,EAAaD,CAAY,GAAG,EAAE,OAAOD,EAAM,IAAI,CAAC,EAAEG,CAAG,CAAC,eAAe,IAAI,MAAM,IAAI,YAAY,SAASH,EAAM,CAAC,IAAI9V,GAAK,IAAI,CAAC,IAAIwV,EAAK,IAAI,KAAK,OAAOM,EAAM,IAAI,CAAC,EAAE,KAAK,OAAOA,EAAM,IAAI,CAAC,EAAE,OAAOA,EAAM,IAAI,CAAC,EAAE,OAAOA,EAAM,GAAG,CAAC,EAAE,OAAOA,EAAM,GAAG,CAAC,EAAE,OAAOA,GAAO,CAAC,EAAE,CAAC,EAAMG,EAAI,OAAOH,EAAM,IAAI,CAAC,EAAMI,EAAcV,EAAK,kBAAkB,EAAMxL,EAAM,IAAI,KAAKwL,EAAK,YAAY,EAAE,EAAE,CAAC,EAAMO,EAAa,IAAI,KAAKP,EAAK,YAAY,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAMQ,EAAahM,EAAM,kBAAkB,EAAMmM,EAAU,KAAK,IAAIH,EAAaD,CAAY,EAAE,GAAGE,EAAI,EAAG,OAAOH,EAAM,IAAI,CAAC,EAAE,EAAOC,GAAcC,GAAcG,GAAWD,WAAuBD,EAAI,IAAIE,GAAWD,GAAe,CAAC,IAAIE,EAAa,KAAK,IAAIJ,EAAaD,CAAY,EAAMM,EAAWJ,EAAI,EAAEE,EAAUC,EAAaZ,EAAK,QAAQA,EAAK,QAAQ,GAAGa,EAAWH,GAAe,GAAG,CAAC,CAAC,OAAOJ,EAAM,IAAI,CAAC,EAAEN,EAAK,OAAO,EAAE,IAAIG,EAAK,aAAaH,CAAI,EAAE,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEH,EAAK,OAAOG,GAAO,CAAC,EAAEN,EAAK,WAAW,EAAE,OAAOM,EAAM,GAAG,CAAC,EAAEN,EAAK,WAAW,EAAE,OAAOM,EAAM,GAAG,CAAC,EAAEN,EAAK,SAAS,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,QAAQ,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,SAAS,EAAE,OAAOM,EAAM,IAAI,CAAC,EAAEN,EAAK,QAAQ,EAAE,IAAIc,EAAOd,EAAK,QAAQ,EAAE,OAAG,MAAMc,CAAM,EAAS,GAAUA,EAAO,GAAG,GAAG,EAAE,OAAO,OAAOtW,CAAG,CAAC,EAAE,YAAY,IAAI,KAAK,IAAI,OAAO,CAAC,EAAM,gBAAgB,GAAG,CAAC,GAAG,aAAa,YAAY,GAAG,SAAU,OAAO,WAAW,MAAM,EAAE,CAAC,CAAC,EAAM,iBAAiB,IAAI,eAAe,wBAAwB,EAAM,WAAWuW,GAAM,CAAC,WAAWA,EAAS,iBAAiB,IAAG,OAAO,SAAYA,CAAI,EAAE,MAAM,IAAK,MAAMA,EAAK,IAAI,WAAWA,CAAI,CAAC,CAAC,EAAE,WAAW,IAAI,KAAK,IAAI,OAAO,CAAC3W,EAAO4W,IAAW,CAAC,WAAW5W,EAAW,iBAAiB,GAAG,YAAY,EAAE,WAAWA,CAAM,CAAC,EAAM,MAAM,OAAO,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,CAAC,GAAG,gBAAyB,CAAC,iBAAiB,EAAG,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAE,EAAM,iBAAiB8F,GAAM,CAAC,GAAG,iBAAe,OAAc,GAAG,CAACA,EAAK,EAAE,UAAU,CAAC,OAAOzE,EAAE,CAAC,gBAAgBA,CAAC,CAAC,CAAC,EAAM,oBAAoB,IAAI,YAAY,IAAI,EAAE,oBAAoB,IAAI,IAAI,IAAI,eAAe,CAACwV,EAAMC,IAAa,CAAuE,GAAnE,OAAOD,CAAK,IAAG,aAAa,OAAOA,CAAK,EAAE,EAAE,EAAE,OAAO,OAAOA,CAAK,GAAK,CAACC,EAAW,MAAO,GAAE,IAAI5V,EAAG,WAAW,IAAI,CAAC,OAAO,OAAO2V,CAAK,EAAE,iBAAiB,IAAI,qBAAqBA,EAAM,oBAAoB,CAAC,CAAC,CAAC,EAAEC,CAAU,EAAE,cAAOD,CAAK,EAAE,CAAC,GAAA3V,EAAG,WAAA4V,CAAU,EAAS,CAAC,EAAE,eAAe,IAAI,MAAM,IAAI,WAAW,CAACC,EAASC,EAASC,EAASC,IAAW,CAAC,IAAIC,EAAa,IAAI,OAAM,YAAY,EAAMC,EAAO,IAAI,KAAKD,EAAY,EAAE,CAAC,EAAME,EAAO,IAAI,KAAKF,EAAY,EAAE,CAAC,EAAMf,EAAagB,EAAO,kBAAkB,EAAMjB,EAAakB,EAAO,kBAAkB,EAAMC,EAAkB,KAAK,IAAIlB,EAAaD,CAAY,EAAE,QAAQY,GAAU,CAAC,EAAEO,EAAkB,GAAG,OAAON,GAAU,CAAC,EAAE,EAAOZ,GAAcD,GAAc,IAAIoB,EAAYC,GAAgB,CAAC,IAAIC,EAAKD,GAAgB,EAAE,IAAI,IAAQE,EAAU,KAAK,IAAIF,CAAc,EAAMG,EAAM,OAAO,KAAK,MAAMD,EAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAME,EAAQ,OAAOF,EAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAMD,CAAI,GAAGE,CAAK,GAAGC,CAAO,EAAE,EAAMC,EAAWN,EAAYnB,CAAY,EAAM0B,EAAWP,EAAYpB,CAAY,EAAKA,EAAaC,GAAc,aAAayB,EAAWZ,EAAS,EAAE,EAAE,aAAaa,EAAWZ,EAAS,EAAE,IAAO,aAAaW,EAAWX,EAAS,EAAE,EAAE,aAAaY,EAAWb,EAAS,EAAE,EAAE,EAAE,WAAW,IAAI,QAAQ,IAAI,qBAAqB,IAAI,KAAK,IAAI,EAAE,qBAAqB,IAAI,IAAI,IAAI,WAAW,IAAI,WAAe,WAAW7R,GAAM,CAAC,IAAIpE,EAAE,WAAW,OAAW+W,GAAO3S,EAAKpE,EAAE,WAAW,OAAO,MAAM,EAAE,GAAG,CAAC,kBAAW,KAAK+W,CAAK,EAAE,kBAAkB,EAAS,CAAC,MAAS,CAAC,CAAC,EAAM,wBAAwBC,GAAe,CAAC,IAAIC,EAAQ,OAAO,OAAOD,KAAiB,EAAE,IAAIE,EAAY,WAAW,EAAE,GAAGF,EAAcE,EAAa,MAAO,GAAM,QAAQC,EAAQ,EAAEA,GAAS,EAAEA,GAAS,EAAE,CAAC,IAAIC,EAAkBH,GAAS,EAAE,GAAGE,GAASC,EAAkB,KAAK,IAAIA,EAAkBJ,EAAc,SAAS,EAAE,IAAIzL,EAAQ,KAAK,IAAI2L,EAAY,YAAY,KAAK,IAAIF,EAAcI,CAAiB,EAAE,KAAK,CAAC,EAAMC,EAAY,WAAW9L,CAAO,EAAE,GAAG8L,EAAa,MAAO,EAAK,CAAC,MAAO,EAAK,EAAE,wBAAwB,IAAI,KAAK,IAAI,IAAI,CAAC,EAAM,kBAAkB,IAAI,aAAa,iBAAqB,cAAc,IAAI,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,IAAIC,GAAM,OAAO,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,SAAaC,EAAI,CAAC,KAAK,WAAW,QAAQ,WAAW,KAAK,IAAI,IAAI,IAAI,KAAK,iBAAiB,KAAKD,EAAK,EAAE,kBAAkB,CAAC,EAAE,QAAQE,KAAK,IAAQ,IAAIA,CAAC,IAAI,OAAU,OAAOD,EAAIC,CAAC,EAAOD,EAAIC,CAAC,EAAE,IAAIA,CAAC,EAAE,IAAIC,EAAQ,CAAC,EAAE,QAAQD,KAAKD,EAAKE,EAAQ,KAAK,GAAGD,CAAC,IAAID,EAAIC,CAAC,CAAC,EAAE,EAAE,cAAc,QAAQC,CAAO,CAAC,OAAO,cAAc,OAAO,EAAM,cAAc,CAAC5V,EAAI8I,IAAS,CAAC,QAAQ9K,EAAE,EAAEA,EAAEgC,EAAI,OAAO,EAAEhC,EAAG,MAAM8K,GAAQ,EAAE9I,EAAI,WAAWhC,CAAC,EAAE,MAAM8K,CAAM,EAAE,CAAC,EAAM,aAAa,CAAC+M,EAAUC,IAAc,CAAC,IAAIC,EAAQ,EAAE,qBAAc,EAAE,QAAQ,CAACC,EAAOhY,IAAI,CAAC,IAAI8F,EAAIgS,EAAYC,EAAQ,QAAQF,EAAU7X,EAAE,GAAG,CAAC,EAAE8F,EAAI,cAAckS,EAAOlS,CAAG,EAAEiS,GAASC,EAAO,OAAO,CAAC,CAAC,EAAS,CAAC,EAAE,aAAa,IAAI,MAAM,IAAI,mBAAmB,CAACC,EAAeC,IAAoB,CAAC,IAAIN,EAAQ,cAAc,EAAE,QAAQK,GAAgB,CAAC,EAAEL,EAAQ,OAAO,IAAIG,EAAQ,EAAE,OAAAH,EAAQ,QAAQI,GAAQD,GAASC,EAAO,OAAO,CAAC,EAAE,QAAQE,GAAmB,CAAC,EAAEH,EAAe,CAAC,EAAE,mBAAmB,IAAI,MAAM,SAAS,UAAUtN,EAAG,CAAC,GAAG,CAAC,IAAIG,EAAO,SAAS,gBAAgBH,CAAE,EAAE,UAAG,MAAMG,CAAM,EAAS,CAAC,OAAOpK,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,UAAU,IAAI,KAAK,SAAS,eAAeiK,EAAG0N,EAAK,CAAC,GAAG,CAAC,IAAIC,EAAW,EAAMC,EAAiB,EAAMnU,EAAM,EAAO0G,EAAO,SAAS,gBAAgBH,CAAE,EAAM5F,EAAK+F,EAAO,IAAI,EAAE,GAAG,MAAMA,EAAO,IAAI,EAAE,EAAE,GAAG,OAAOA,EAAO,IAAI,EAAE,EAAE,EAAE,aAAMuN,CAAI,EAAEtT,EAAK,OAAOsT,EAAK,GAAG,CAAC,EAAEjU,EAAM,OAAOiU,EAAK,GAAG,CAAC,EAAE,OAAOC,CAAU,EAAE,OAAOD,EAAK,IAAI,CAAC,EAAE,OAAOE,CAAgB,EAAS,CAAC,OAAO7X,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,eAAe,IAAI,MAAM,IAAI,QAAQ,CAACoK,EAAO0N,EAAIC,EAAOlW,IAAS,CAAW,QAAN9C,EAAI,EAAUS,EAAE,EAAEA,EAAEuY,EAAOvY,IAAI,CAAC,IAAI8F,EAAI,QAAQwS,GAAK,CAAC,EAAM1V,EAAI,QAAQ0V,EAAI,GAAG,CAAC,EAAEA,GAAK,EAAE,IAAIE,EAAK,GAAG,KAAK5N,EAAO,MAAM9E,EAAIlD,EAAIP,CAAM,EAAE,GAAGmW,EAAK,EAAE,MAAM,GAAa,GAAVjZ,GAAKiZ,EAAQA,EAAK5V,EAAI,MAAS,OAAOP,EAAQ,MAAaA,GAAQmW,EAAK,CAAC,OAAOjZ,CAAG,EAAE,SAAS,SAASkL,EAAG6N,EAAIC,EAAOE,EAAK,CAAC,GAAG,CAAC,IAAI7N,EAAO,SAAS,gBAAgBH,CAAE,EAAM0K,EAAI,QAAQvK,EAAO0N,EAAIC,CAAM,EAAE,eAAQE,GAAM,CAAC,EAAEtD,EAAW,CAAC,OAAO3U,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,SAAS,IAAI,QAAQ,SAAS,SAASiK,EAAGpI,EAAOiK,EAAOoM,EAAU,CAACrW,EAAO,mBAAmBA,CAAM,EAAE,GAAG,CAAC,GAAG,MAAMA,CAAM,EAAE,MAAO,IAAG,IAAIuI,EAAO,SAAS,gBAAgBH,CAAE,EAAE,UAAG,OAAOG,EAAOvI,EAAOiK,CAAM,EAAE,OAAOoM,GAAW,CAAC,EAAE,OAAO9N,EAAO,QAAQ,EAAKA,EAAO,UAAUvI,IAAS,GAAGiK,IAAS,IAAE1B,EAAO,SAAS,MAAY,CAAC,OAAOpK,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,SAAS,IAAI,QAAQ,SAAS,SAASiK,EAAG,CAAC,GAAG,CAAC,IAAIG,EAAO,SAAS,gBAAgBH,CAAE,EAAE,OAAGG,EAAO,YAAY,MAAcA,EAAO,WAAW,MAAMA,CAAM,EAAS,CAAC,OAAOpK,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,SAAS,IAAI,KAAK,IAAI,SAAS,CAACoK,EAAO0N,EAAIC,EAAOlW,IAAS,CAAW,QAAN9C,EAAI,EAAUS,EAAE,EAAEA,EAAEuY,EAAOvY,IAAI,CAAC,IAAI8F,EAAI,QAAQwS,GAAK,CAAC,EAAM1V,EAAI,QAAQ0V,EAAI,GAAG,CAAC,EAAEA,GAAK,EAAE,IAAIE,EAAK,GAAG,MAAM5N,EAAO,MAAM9E,EAAIlD,EAAIP,CAAM,EAAE,GAAGmW,EAAK,EAAE,MAAM,GAAa,GAAVjZ,GAAKiZ,EAAQA,EAAK5V,EAAK,MAAS,OAAOP,EAAQ,MAAaA,GAAQmW,EAAK,CAAC,OAAOjZ,CAAG,EAAE,SAAS,UAAUkL,EAAG6N,EAAIC,EAAOE,EAAK,CAAC,GAAG,CAAC,IAAI7N,EAAO,SAAS,gBAAgBH,CAAE,EAAM0K,EAAI,SAASvK,EAAO0N,EAAIC,CAAM,EAAE,eAAQE,GAAM,CAAC,EAAEtD,EAAW,CAAC,OAAO3U,EAAE,CAAC,GAAG,OAAO,GAAI,KAAeA,EAAE,OAAO,aAAc,MAAMA,EAAE,OAAOA,EAAE,KAAK,CAAC,CAAC,UAAU,IAAI,QAAQ,IAAI,UAAUwB,GAAK,CAAsB,QAAjB7B,EAAE6B,EAAI,MAAM,GAAG,EAAUhC,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,IAAI2Y,EAAI,OAAOxY,EAAEH,CAAC,CAAC,EAAE,GAAG,MAAM2Y,CAAG,EAAE,OAAO,KAAKxY,EAAEH,CAAC,EAAE2Y,CAAG,CAAC,OAAOxY,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,MAAM,CAAC,EAAM,QAAQ6B,GAAK,SAASA,CAAG,EAAM,UAAUA,GAAK,CAAC,IAAI4W,EAAUC,EAAExW,EAAOyW,EAAMC,EAAW,qKAAyK9Q,EAAM,CAAC,EAAE,GAAG,CAAC8Q,EAAW,KAAK/W,CAAG,EAAG,OAAO,KAAK,GAAGA,IAAM,KAAM,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAya,IAApaA,EAAI,WAAW,IAAI,EAAGA,EAAIA,EAAI,QAAQ,KAAK,IAAI,EAAOA,EAAIA,EAAI,QAAQ,KAAK,KAAK,EAAKA,EAAI,QAAQ,GAAG,EAAE,GAAGA,EAAIA,EAAI,QAAQ,IAAI,OAAO,MAAM,GAAG,EAAE,GAAG,EAAE4W,EAAM5W,EAAI,MAAM,GAAG,EAAE4W,EAAMA,EAAM,OAAO,CAAC,EAAE,QAAQA,EAAMA,EAAM,OAAO,CAAC,CAAC,EAAE,QAAQA,EAAMA,EAAM,OAAO,CAAC,CAAC,EAAE,IAAIA,EAAMA,EAAM,OAAO,CAAC,EAAE,QAAQA,EAAMA,EAAM,OAAO,CAAC,CAAC,EAAE,QAAQA,EAAMA,EAAM,OAAO,CAAC,CAAC,EAAE,IAAIA,EAAMA,EAAM,MAAM,EAAEA,EAAM,OAAO,CAAC,GAAOA,EAAM5W,EAAI,MAAM,GAAG,EAAEK,EAAO,EAAEyW,EAAE,EAAMD,EAAE,EAAEA,EAAED,EAAM,OAAOC,IAAK,GAAG,OAAOD,EAAMC,CAAC,GAAG,SAAU,GAAGD,EAAMC,CAAC,IAAI,IAAI,CAAC,IAAIC,EAAE,EAAEA,EAAE,EAAEF,EAAM,OAAO,EAAEE,IAAK7Q,EAAM4Q,EAAEC,CAAC,EAAE,EAAEzW,EAAOyW,EAAE,CAAC,MAAM7Q,EAAM4Q,EAAExW,CAAM,EAAE,OAAO,SAASuW,EAAMC,CAAC,EAAE,EAAE,CAAC,OAAQ5Q,EAAM4Q,EAAExW,CAAM,EAAEuW,EAAMC,CAAC,EAAG,MAAM,CAAC5Q,EAAM,CAAC,GAAG,GAAGA,EAAM,CAAC,EAAEA,EAAM,CAAC,GAAG,GAAGA,EAAM,CAAC,EAAEA,EAAM,CAAC,GAAG,GAAGA,EAAM,CAAC,EAAEA,EAAM,CAAC,GAAG,GAAGA,EAAM,CAAC,CAAC,CAAC,EAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAYlF,EAAK,CAAC,IAAIiW,EAAI,UAAUjW,CAAI,EAAiD,GAA5CiW,IAAM,OAAkBA,EAAI,UAAUjW,CAAI,EAAKiW,IAAM,MAAM,OAAOjW,EAAK,IAAIoQ,EAAK,GAAG,IAAI,YAAY,MAAMpQ,CAAI,EAAGoQ,EAAK,IAAI,YAAY,MAAMpQ,CAAI,MAAM,CAAC,IAAI1C,EAAG,IAAI,YAAY,KAAK,OAAOA,EAAG,MAAM,wCAAwC,EAAE8S,EAAK,WAAW9S,EAAG,KAAK,KAAKA,EAAG,OAAO,IAAI,YAAY,MAAM8S,CAAI,EAAEpQ,EAAK,IAAI,YAAY,MAAMA,CAAI,EAAEoQ,CAAI,CAAC,OAAOA,CAAI,EAAE,YAAYA,EAAK,CAAC,OAAG,IAAI,YAAY,MAAMA,CAAI,EAAU,IAAI,YAAY,MAAMA,CAAI,EAAS,IAAI,CAAC,EAAM,UAAUA,IAAOA,EAAK,KAAK,KAAKA,GAAM,EAAE,KAAK,KAAKA,GAAM,GAAG,KAAK,KAAKA,GAAM,GAAG,KAAS,UAAU8F,GAAM,CAAC,IAAIjX,EAAI,GAAOkX,EAAK,EAAMC,EAAQ,EAAMC,EAAS,EAAMC,EAAO,EAAMzW,EAAI,EAAM5C,EAAE,EAAMiI,EAAM,CAACgR,EAAK,CAAC,EAAE,MAAMA,EAAK,CAAC,GAAG,GAAGA,EAAK,CAAC,EAAE,MAAMA,EAAK,CAAC,GAAG,GAAGA,EAAK,CAAC,EAAE,MAAMA,EAAK,CAAC,GAAG,GAAGA,EAAK,CAAC,EAAE,MAAMA,EAAK,CAAC,GAAG,EAAE,EAAMK,EAAQ,GAASC,EAAO,GAAG,IAAIvZ,EAAE,EAAEA,EAAE,EAAEA,IAAK,GAAGiI,EAAMjI,CAAC,IAAI,EAAE,CAACsZ,EAAQ,GAAM,KAAK,CAAE,GAAGA,EAAQ,CAAyC,GAAxCC,EAAO,UAAUtR,EAAM,CAAC,EAAEA,EAAM,CAAC,GAAG,EAAE,EAAKA,EAAM,CAAC,IAAI,GAAI,OAAAjG,EAAI,UAAUA,GAAKuX,EAAcvX,EAAI,GAAGiG,EAAM,CAAC,IAAI,EAAG,OAAAjG,EAAI,KAAQuX,IAAS,YAAUA,EAAO,IAAMA,IAAS,YAAUA,EAAO,KAAIvX,GAAKuX,EAAcvX,CAAI,CAAC,IAAIkX,EAAK,EAAEA,EAAK,EAAEA,IAAWjR,EAAMiR,CAAI,IAAI,IAAMA,EAAKE,EAAS,IAAGxW,EAAI,GAAEwW,EAASF,EAAKtW,KAASA,EAAIuW,IAASA,EAAQvW,EAAIyW,EAAOH,EAAKC,EAAQ,GAAG,IAAID,EAAK,EAAEA,EAAK,EAAEA,IAAO,CAAC,GAAGC,EAAQ,GAAMlR,EAAMiR,CAAI,IAAI,GAAGA,GAAMG,GAAQH,EAAKG,EAAOF,EAAQ,CAAID,IAAOG,IAAQrX,GAAK,IAAOqX,IAAS,IAAErX,GAAK,MAAI,QAAQ,CAAEA,GAAK,OAAO,OAAOiG,EAAMiR,CAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,EAAElX,GAAKkX,EAAK,EAAE,IAAI,EAAE,CAAC,OAAOlX,CAAG,EAAM,cAAc,CAACwX,EAAGC,EAAOtG,EAAKuG,EAAKC,IAAU,CAAC,OAAOF,EAAO,CAAC,IAAK,GAAEtG,EAAK,UAAUA,CAAI,EAAE,WAAWqG,EAAG,EAAE,EAAKG,IAAS,OAAOA,GAAS,CAAC,EAAE,IAAG,OAAOH,GAAI,CAAC,EAAEC,EAAO,OAAOD,EAAG,GAAG,CAAC,EAAErG,EAAK,OAAOqG,EAAG,GAAG,CAAC,EAAE,OAAOE,CAAI,EAAE,MAAM,IAAK,IAAGvG,EAAK,UAAUA,CAAI,EAAE,WAAWqG,EAAG,EAAE,EAAKG,IAAS,OAAOA,GAAS,CAAC,EAAE,IAAG,OAAOH,GAAI,CAAC,EAAEC,EAAO,OAAOD,EAAG,GAAG,CAAC,EAAErG,EAAK,CAAC,EAAE,OAAOqG,EAAG,IAAI,CAAC,EAAErG,EAAK,CAAC,EAAE,OAAOqG,EAAG,IAAI,CAAC,EAAErG,EAAK,CAAC,EAAE,OAAOqG,EAAG,IAAI,CAAC,EAAErG,EAAK,CAAC,EAAE,OAAOqG,EAAG,GAAG,CAAC,EAAE,OAAOE,CAAI,EAAE,MAAM,QAAQ,MAAO,EAAC,CAAC,MAAO,EAAC,EAAM,aAAa,CAACrO,EAAKuO,EAAQC,EAAKC,IAAM,CAAC,IAAI3G,EAAK,EAAMuG,EAAK,EAAMxV,EAAM,EAAMuV,EAAO,EAAM5U,EAAK,EAAMkV,EAAM,EAAMC,EAAG,SAASC,EAAcR,EAAO5U,EAAKkV,EAAMG,EAAM/G,EAAKuG,EAAK,CAAC,IAAIF,EAAGW,EAAMH,EAAOlM,EAAM,OAAAqM,EAAMV,IAAS,GAAG,GAAG,GAAGtG,EAAKsG,IAAS,GAAG,UAAUtG,CAAI,EAAE,UAAUA,CAAI,EAAEqG,EAAG,QAAQW,CAAK,EAAErM,EAAM,cAAc0L,EAAGC,EAAOtG,EAAKuG,CAAI,EAAE,OAAO,CAAC5L,CAAK,EAAEkM,EAAG,QAAQ,EAAE,EAAE,OAAOA,EAAG,GAAG,CAAC,EAAEP,EAAO,OAAOO,EAAG,GAAG,CAAC,EAAEnV,EAAK,OAAOmV,EAAG,IAAI,CAAC,EAAED,EAAM,QAAQC,EAAG,IAAI,CAAC,EAAEE,EAAM,QAAQF,EAAG,IAAI,CAAC,EAAER,EAAMC,IAAS,GAAI,OAAOO,EAAG,IAAI,CAAC,EAAE,GAAQ,OAAOA,EAAG,IAAI,CAAC,EAAE,GAAG,OAAOA,EAAG,IAAI,CAAC,EAAE,EAASA,CAAE,CAA6N,GAAzNH,IAAM3V,EAAM,OAAO2V,GAAM,CAAC,EAAEJ,EAAO,OAAOI,EAAK,GAAG,CAAC,EAAEhV,EAAK,OAAOgV,EAAK,GAAG,CAAC,EAAEE,EAAM,OAAOF,EAAK,IAAI,CAAC,GAAKhV,GAAM,CAACkV,IAAOA,EAAMlV,IAAO,EAAE,GAAG,GAAK,CAACA,GAAMkV,IAAOlV,EAAKkV,IAAQ,GAAG,EAAE,GAAKA,IAAQ,IAAGA,EAAM,GAAKlV,IAAO,IAAGA,EAAK,GAAK,CAACwG,GAAM,CAACuO,EAAS,MAAM,GAA4C,GAAtC1V,EAAM,OAAmC2V,IAAO,GAAG,OAAOA,GAAM,CAAC,EAAE,GAAG,CAACxO,EAAM,MAAM,GAAG,GAAGnH,EAAM,GAAI,MAAM,GAAG,GAAGW,IAAO,GAAGA,IAAO,GAAGA,IAAO,EAAG,MAAM,GAAG,GAAG4U,IAAS,GAAGA,IAAS,GAAGA,IAAS,GAAI,MAAM,GAAG,GAAGG,IAASA,EAAQ,aAAaA,CAAO,EAAEF,EAAK,SAASE,EAAQ,EAAE,EAAK,MAAMF,CAAI,GAAG,OAAGxV,EAAM,KAAY,GAAS,GAAI,GAAG,CAACmH,EAAM,OAAGoO,IAAS,IAAGA,EAAO,GAAMvV,EAAM,IAAWuV,IAAS,EAAGtG,EAAK,OAAO,UAAU,EAAOA,EAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG6G,EAAGC,EAAcR,EAAO5U,EAAKkV,EAAM,KAAK5G,EAAKuG,CAAI,EAAE,QAAQI,GAAK,CAAC,EAAEE,EAAU,EAA+C,GAA7C3O,EAAK,aAAaA,CAAI,EAAE8H,EAAK,UAAU9H,CAAI,EAAK8H,IAAO,KAAM,GAAGsG,IAAS,GAAGA,IAAS,EAAGA,EAAO,UAAUA,IAAS,IAAIvV,EAAM,EAAGiP,EAAK,CAAC,EAAE,EAAE,OAAO,KAAK,EAAEA,CAAI,EAAEsG,EAAO,OAAQ,OAAM,WAAStG,EAAK,UAAU9H,CAAI,EAAK8H,IAAO,KAAM,GAAGsG,IAAS,GAAGA,IAAS,GAAIA,EAAO,OAAQ,OAAM,GAAK,OAAGtG,GAAM,MAAM6G,EAAGC,EAAcR,EAAO5U,EAAKkV,EAAM1O,EAAK8H,EAAKuG,CAAI,EAAE,QAAQI,GAAK,CAAC,EAAEE,EAAU,GAAK9V,EAAM,EAAS,IAAGmH,EAAK,IAAI,YAAYA,CAAI,EAAE8H,EAAK,UAAU9H,CAAI,EAAKoO,IAAS,EAAGA,EAAO,EAAUA,IAAS,KAAItG,EAAK,CAAC,EAAE,EAAE,OAAO,KAAK,EAAEA,CAAI,GAAE6G,EAAGC,EAAcR,EAAO5U,EAAKkV,EAAM,KAAK5G,EAAKuG,CAAI,EAAE,QAAQI,GAAK,CAAC,EAAEE,EAAU,EAAC,EAAE,aAAa,IAAI,QAAQ,IAAI,WAAWI,GAAI,yBAAyBA,CAAE,EAAM,oBAAoBpY,GAAK,CAAC,IAAIuC,EAAK,gBAAgBvC,CAAG,EAAE,EAAMzC,EAAI,WAAWgF,CAAI,EAAE,oBAAavC,EAAIzC,EAAIgF,CAAI,EAAShF,CAAG,EAAM,eAAe8a,GAAO,CAAC,oBAAoB,OAAO,kBAAkBA,CAAK,CAAC,EAAE,kBAAkBA,EAAM,IAAI,EAAE,iBAAiB,KAAKA,CAAK,CAAC,EAAM,gBAAgBrY,GAAK,CAAC,IAAIuC,EAAK,gBAAgBvC,CAAG,EAAE,EAAMzC,EAAI,QAAQgF,CAAI,EAAE,OAAGhF,GAAI,aAAayC,EAAIzC,EAAIgF,CAAI,EAAShF,CAAG,EAAM,cAAc,GAAG,WAAe,UAAUF,GAAM,GAAG,OAAOA,CAAI,EAAM,kBAAkB,GAAG,eAAmB,gBAAgB,GAAG,aAAa,mBAAmB,EAAE,GAAG,oBAAoB,uBAAuB,GAAG,WAAW,EAAE,OAAO,cAAiB,GAAG,WAAW,OAAO,kBAAqB,GAAG,eAAe,OAAO,uBAA0B,GAAG,oBAAoB,OAAO,UAAa,GAAG,OAAO,OAAO,kBAAqB,GAAG,eAAe,OAAO,gBAAmB,GAAG,aAAa,MAAM,kBAAkB,IAAI,GAAG,WAAW,EAAE,EAAE,MAAM,kBAAkB,MAAM,4BAA4B,IAAI,YAAY,CAAC,kBAAkB,mBAAmB,YAAY,aAAa,0BAA0B,UAAU,cAAc,eAAe,gBAAgB,iBAAiB,gBAAgB,iBAAiB,eAAe,gBAAgB,oBAAoB,qBAAqB,oBAAoB,qBAAqB,kBAAkB,mBAAmB,kBAAkB,mBAAmB,iBAAiB,kBAAkB,qBAAqB,sBAAsB,gBAAgB,iBAAiB,kBAAkB,mBAAmB,kBAAkB,mBAAmB,qBAAqB,sBAAsB,iBAAiB,kBAAkB,qBAAqB,sBAAsB,gBAAgB,iBAAiB,iBAAiB,kBAAkB,oBAAoB,qBAAqB,mBAAmB,oBAAoB,aAAa,cAAc,UAAU,WAAW,oCAAoC,qCAAqC,0BAA0B,2BAA2B,cAAc,eAAe,WAAW,YAAY,cAAc,eAAe,UAAU,WAAW,oBAAoB,qBAAqB,mBAAmB,oBAAoB,uBAAuB,wBAAwB,YAAY,aAAa,kBAAkB,mBAAmB,KAAK,MAAM,SAAS,UAAU,cAAc,eAAe,QAAQ,SAAS,QAAQ,SAAS,QAAQ,SAAS,SAAS,UAAU,YAAY,aAAa,UAAU,YAAY,WAAW,OAAO,WAAW,UAAU,UAAU,EAAM,YAAY,WAAW,EAAE,IAAI,mBAAmB,KAAK,mBAAmB,YAAY,mBAAsB,EAAM,UAAU,OAAO,UAAaib,IAAK,UAAU,OAAO,UAAa,YAAY,UAAaA,CAAE,EAAM,kBAAkB,OAAO,kBAAqB,KAAK,kBAAkB,OAAO,kBAAqB,YAAY,kBAAqB,EAAM,QAAQ,OAAO,QAAWA,IAAK,QAAQ,OAAO,QAAW,YAAY,QAAWA,CAAE,EAAM,OAAO,OAAO,OAAU,CAACA,EAAGC,KAAM,OAAO,OAAO,OAAU,YAAY,OAAUD,EAAGC,CAAE,EAAM,QAAQ,OAAO,QAAWD,IAAK,QAAQ,OAAO,QAAW,YAAY,QAAWA,CAAE,EAAM,WAAW,OAAO,WAAc,CAACA,EAAGC,KAAM,WAAW,OAAO,WAAc,YAAY,WAAcD,EAAGC,CAAE,EAAM,OAAO,OAAO,OAAU,CAACD,EAAGC,KAAM,OAAO,OAAO,OAAU,YAAY,OAAUD,EAAGC,CAAE,EAAM,MAAM,OAAO,MAAS,CAACD,EAAGC,KAAM,MAAM,OAAO,MAAS,YAAY,kBAAqBD,EAAGC,CAAE,EAAM,YAAY,OAAO,YAAeD,IAAK,YAAY,OAAO,YAAe,YAAY,YAAeA,CAAE,EAAM,aAAa,OAAO,aAAgB,KAAK,aAAa,OAAO,aAAgB,YAAY,aAAgB,EAAM,YAAY,OAAO,YAAeA,IAAK,YAAY,OAAO,YAAe,YAAY,YAAeA,CAAE,EAAM,QAAQA,IAAK,QAAQ,YAAY,QAAWA,CAAE,EAAM,QAAQ,CAACA,EAAGC,KAAM,QAAQ,YAAY,QAAWD,EAAGC,CAAE,EAAM,gBAAgB,OAAO,gBAAmB,CAACD,EAAGC,EAAGC,EAAGC,EAAGC,KAAM,gBAAgB,OAAO,gBAAmB,YAAY,gBAAmBJ,EAAGC,EAAGC,EAAGC,EAAGC,CAAE,EAAM,aAAa,OAAO,aAAgB,CAACJ,EAAGC,EAAGC,KAAM,aAAa,OAAO,aAAgB,YAAY,aAAgBF,EAAGC,EAAGC,CAAE,EAAM,UAAU,OAAO,UAAa,CAACF,EAAGC,EAAGC,EAAGC,KAAM,UAAU,OAAO,UAAa,YAAY,UAAaH,EAAGC,EAAGC,EAAGC,CAAE,EAAM,UAAU,OAAO,UAAa,CAACH,EAAGC,EAAGC,EAAGC,KAAM,UAAU,OAAO,UAAa,YAAY,UAAaH,EAAGC,EAAGC,EAAGC,CAAE,EAAM,OAAO,OAAO,OAAU,CAACH,EAAGC,EAAGC,KAAM,OAAO,OAAO,OAAU,YAAY,OAAUF,EAAGC,EAAGC,CAAE,EAAM,gBAAgB,OAAO,gBAAmB,CAACF,EAAGC,EAAGC,EAAGC,EAAGC,KAAM,gBAAgB,OAAO,gBAAmB,YAAY,gBAAmBJ,EAAGC,EAAGC,EAAGC,EAAGC,CAAE,EAAM,iBAAiB,OAAO,iBAAoB,CAACJ,EAAGC,EAAGC,KAAM,iBAAiB,OAAO,iBAAoB,YAAY,iBAAoBF,EAAGC,EAAGC,CAAE,EAAM,UAAU,OAAO,UAAa,CAACF,EAAGC,EAAGC,KAAM,UAAU,OAAO,UAAa,YAAY,UAAaF,EAAGC,EAAGC,CAAE,EAAM,iBAAiB,OAAO,iBAAoB,KAAK,iBAAiB,OAAO,iBAAoB,YAAY,iBAAoB,EAAM,aAAa,OAAO,aAAgB,CAACF,EAAGC,KAAM,aAAa,OAAO,aAAgB,YAAY,aAAgBD,EAAGC,CAAE,EAAM,gBAAgB,OAAO,gBAAmB,CAACD,EAAGC,KAAM,gBAAgB,OAAO,gBAAmB,YAAY,gBAAmBD,EAAGC,CAAE,EAAM,mBAAmB,OAAO,mBAAsBD,IAAK,mBAAmB,OAAO,mBAAsB,YAAY,mBAAsBA,CAAE,EAAM,kBAAkB,OAAO,kBAAqBA,IAAK,kBAAkB,OAAO,kBAAqB,YAAY,kBAAqBA,CAAE,EAAM,mBAAmB,OAAO,mBAAsBA,IAAK,mBAAmB,OAAO,mBAAsB,YAAY,mBAAsBA,CAAE,EAAM,YAAY,OAAO,YAAeA,IAAK,YAAY,OAAO,YAAe,YAAY,YAAeA,CAAE,EAAM,QAAQ,OAAO,QAAWA,IAAK,QAAQ,OAAO,QAAW,YAAY,QAAWA,CAAE,EAAM,YAAY,OAAO,YAAe,KAAK,YAAY,OAAO,YAAe,YAAY,YAAe,EAAM,cAAc,OAAO,cAAiBA,IAAK,cAAc,OAAO,cAAiB,YAAY,cAAiBA,CAAE,EAAM,sBAAsB,OAAO,sBAAyB,KAAK,sBAAsB,OAAO,sBAAyB,YAAY,sBAAyB,EAAM,aAAa,OAAO,aAAgB,CAACA,EAAGC,EAAGC,KAAM,aAAa,OAAO,aAAgB,YAAY,aAAgBF,EAAGC,EAAGC,CAAE,EAAM,YAAY,OAAO,YAAe,CAACF,EAAGC,EAAGC,KAAM,YAAY,OAAO,YAAe,YAAY,YAAeF,EAAGC,EAAGC,CAAE,EAAM,WAAW,OAAO,WAAc,CAACF,EAAGC,EAAGC,KAAM,WAAW,OAAO,WAAc,YAAY,WAAcF,EAAGC,EAAGC,CAAE,EAAM,WAAW,OAAO,WAAcF,IAAK,WAAW,OAAO,WAAc,YAAY,WAAcA,CAAE,EAAM,YAAY,OAAO,YAAe,CAACA,EAAGC,EAAGC,KAAM,YAAY,OAAO,YAAe,YAAY,YAAeF,EAAGC,EAAGC,CAAE,EAAM,YAAY,OAAO,YAAe,CAACF,EAAGC,KAAM,YAAY,OAAO,YAAe,YAAY,YAAeD,EAAGC,CAAE,EAAM,gBAAgB,OAAO,gBAAmB,CAACD,EAAGC,KAAM,gBAAgB,OAAO,gBAAmB,YAAY,gBAAmBD,EAAGC,CAAE,EAAM,WAAW,OAAO,WAAc,CAACD,EAAGC,EAAGC,KAAM,WAAW,OAAO,WAAc,YAAY,WAAcF,EAAGC,EAAGC,CAAE,EAAM,UAAU,OAAO,UAAaF,IAAK,UAAU,OAAO,UAAa,YAAY,UAAaA,CAAE,EAAM,iBAAiB,KAAK,iBAAiB,YAAY,iBAAoB,EAAM,OAAOA,IAAK,OAAO,YAAY,OAAUA,CAAE,EAAM,OAAOA,IAAK,OAAO,YAAY,OAAUA,CAAE,EAAM,OAAOA,IAAK,OAAO,YAAY,OAAUA,CAAE,EAAM,qBAAqB,CAACA,EAAGC,KAAM,qBAAqB,YAAY,qBAAwBD,EAAGC,CAAE,EAAM,UAAU,CAACD,EAAGC,KAAM,UAAU,YAAY,UAAaD,EAAGC,CAAE,EAAM,2BAA2BD,IAAK,2BAA2B,YAAY,2BAA8BA,CAAE,EAAM,yBAAyBA,IAAK,yBAAyB,YAAY,yBAA4BA,CAAE,EAAM,8BAA8B,KAAK,8BAA8B,YAAY,8BAAiC,EAAM,0BAA0B,KAAK,0BAA0B,YAAY,0BAA6B,EAAE,SAAS,YAAYD,EAAME,EAAGC,EAAGC,EAAG,CAAC,IAAIxU,EAAG,UAAU,EAAE,GAAG,CAAC,OAAO,kBAAkBoU,CAAK,EAAEE,EAAGC,EAAGC,CAAE,CAAC,OAAOja,EAAE,CAAkB,GAAjB,aAAayF,CAAE,EAAKzF,IAAIA,EAAE,EAAE,MAAMA,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU6Z,EAAME,EAAG,CAAC,IAAItU,EAAG,UAAU,EAAE,GAAG,CAAC,OAAO,kBAAkBoU,CAAK,EAAEE,CAAE,CAAC,OAAO/Z,EAAE,CAAkB,GAAjB,aAAayF,CAAE,EAAKzF,IAAIA,EAAE,EAAE,MAAMA,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW6Z,EAAME,EAAGC,EAAG,CAAC,IAAIvU,EAAG,UAAU,EAAE,GAAG,CAAC,kBAAkBoU,CAAK,EAAEE,EAAGC,CAAE,CAAC,OAAOha,EAAE,CAAkB,GAAjB,aAAayF,CAAE,EAAKzF,IAAIA,EAAE,EAAE,MAAMA,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAoB,iBAAiB,OAAO,oBAAuB,oBAAoB,OAAO,SAAY,SAAS,OAAO,IAAO,IAAI,OAAO,YAAe,YAAY,OAAO,eAAkB,eAAe,OAAO,aAAgB,aAAa,OAAO,gBAAmB,gBAAgB,OAAO,oBAAuB,oBAAoB,OAAO,uBAA0B,uBAAuB,OAAO,UAAa,UAAU,OAAO,cAAiB,cAAc,OAAO,gBAAmB,gBAAgB,OAAO,GAAM,GAAG,OAAO,kBAAqB,kBAAkB,OAAO,kBAAqB,kBAAkB,OAAO,MAAS,MAAM,OAAO,QAAW,QAAQ,IAAI,UAAU,sBAAsB,SAASma,GAAW,CAAK,WAAU,IAAI,EAAM,YAAU,sBAAsBA,EAAS,EAAE,SAAS,SAAS5U,EAAK,CAAC,EAAE,CAAC,IAAI6U,EAAc,oBAAoB,MAAM,EAAE,IAAI,GAAIA,EAAqB,CAAA7U,EAAK,QAAQ,WAAW,EAAE,IAAI8U,EAAK9U,EAAK,OAAW+U,EAAK,YAAYD,EAAK,GAAG,CAAC,EAAME,EAASD,EAAK/U,EAAK,QAAQgL,GAAK,CAAC,QAAQgK,GAAU,CAAC,EAAE,oBAAoBhK,CAAG,EAAEgK,GAAU,CAAC,CAAC,EAAE,QAAQA,GAAU,CAAC,EAAE,EAAE,GAAG,CAAC,IAAIxb,EAAIqb,EAAcC,EAAKC,CAAI,EAAE,cAAOvb,EAAI,EAAI,EAASA,CAAG,OAAOiB,EAAE,CAAC,OAAO,gBAAgBA,CAAC,CAAC,EAAC,CAAC,SAAS,IAAIuF,EAAK,WAAW,CAAuC,GAAnC,gBAAgB,IAAU,OAAO,EAAK,gBAAgB,GAAG,OAAO,SAASiV,GAAO,CAAI,YAAiB,UAAU,GAAK,OAAO,UAAa,GAAQ,SAAa,YAAY,EAAE,QAAQ,EAAE,oBAAoB,MAAM,EAAE,OAAO,uBAA0B,EAAK,cAAa,SAASjV,CAAI,EAAE,QAAQ,GAAC,CAAI,OAAO,WAAc,OAAO,UAAa,YAAY,EAAE,WAAW,IAAI,CAAC,WAAW,IAAI,OAAO,UAAa,EAAE,EAAE,CAAC,EAAEiV,EAAM,CAAC,EAAE,CAAC,GAAOA,EAAM,CAAE,CAAC,GAAG,OAAO,QAA0F,IAA3E,OAAO,OAAO,SAAY,aAAW,OAAO,QAAW,CAAC,OAAO,OAAU,GAAQ,OAAO,QAAW,OAAO,GAAG,OAAO,QAAW,IAAI,EAAE,EAAG,IAAI,aAAa,GAAM,OAAG,OAAO,eAAgB,aAAa,IAAM,IAAI,EAAE,UAAU,aAGzhzG,SACT,CAEA,GAAG,EACIC,GAAQpc,GCffqc,IAEA,IAAMC,GACJ,MACA,CACE,SACA,SACA,KACA,SACA,SACA,YACA,KACA,OACA,OACA,WACF,EAAE,KAAK,GAAG,EACV,IACIC,GAAY,IAAI,OAAO,IAAMD,GAAU,GAAG,EAUhD,IAAIE,GAAQ,GACNC,GAAO,WACb,QAASC,EAAI,EAAGA,EAAI,EAAGA,IACrBF,KAAUC,GAAO,KAAK,OAAO,GAAG,SAAS,EAAE,EAE7C,IAAME,GAAkB,IAAI,OAAO,IAAMH,EAAK,+FChC9CI,GAAA,CAAA,EAAAC,GAAAD,GAAA,CAAA,QAAA,IAAAE,GAAA,YAAA,IAAAC,GAAA,gBAAA,IAAAC,GAAA,sBAAA,IAAAC,GAAA,eAAA,IAAAC,GAAA,KAAA,IAAAC,EAAAA,CAAAA,EAAO,IAAML,GACX,OAAO,SAAY,UACnB,OAAO,QAAQ,UAAa,UAC5B,OAAO,QAAQ,SAAS,MAAS,SAE7BM,GAA2B,IAAI,IAErC,eAAsBH,GAAsBI,EAAU,CAChDP,IAAWM,GAAyB,IAAIC,EAAI,SAAS,CAAC,GAG1DD,GAAyB,IAAIC,EAAI,SAAS,EAAG,MAAMA,CAAG,CAAC,CACzD,CAIA,IAAMC,GAAoB,IAAI,IAE9B,eAAsBN,GACpBO,EACAC,EACAC,EAIC,CACD,GAAIA,GAAUH,GAAkB,IAAIE,EAAU,SAAS,CAAC,EAAG,CACzD,IAAME,EAAMD,GAAUH,GAAkB,IAAIE,EAAU,SAAS,CAAC,EAChE,MAAO,CACL,SAAU,MAAM,YAAY,YAAYE,EAAKH,CAAO,EACpD,OAAQG,CACV,CACF,CACA,GAAIZ,GAAS,CAEX,IAAMa,EAAS,MADJ,KAAM,QAAO,aAAa,GACb,SAASH,CAAS,EACpC,CAAE,OAAQI,EAAW,SAAAC,CAAS,EAAI,MAAM,YAAY,YACxDF,EACAJ,CACF,EACA,OAAAD,GAAkB,IAAIE,EAAU,SAAS,EAAGI,CAAS,EAC9C,CACL,SAAAC,EACA,OAAQD,CACV,CACF,KAAO,CACAR,GAAyB,IAAII,EAAU,SAAS,CAAC,GACpDP,GAAsBO,CAAS,EAGjC,IAAMM,EAAW,MAAMV,GAAyB,IAAII,EAAU,SAAS,CAAC,EAClE,CAAE,OAAQI,EAAW,SAAAC,CAAS,EAClC,MAAM,YAAY,qBAAqBC,EAAU,MAAM,EAAGP,CAAO,EACnE,OAAAD,GAAkB,IAAIE,EAAU,SAAS,EAAGI,CAAS,EAC9C,CACL,SAAAC,EACA,OAAQD,CACV,CACF,CACF,CAEA,eAAsBb,GAAYgB,EAAwC,CACxE,OAAIjB,IAEe,MADN,KAAM,QAAO,aAAa,GACX,SAASiB,CAAW,GAC9B,QAEhBd,GAAsBc,CAAW,GAChB,MAAMX,GAAyB,IAAIW,EAAY,SAAS,CAAC,GACzD,MAAM,EAAE,YAAY,EAEzC,CAEO,IAAMZ,GAAO,IAAc,CAEhC,GAAI,WAAW,QAAQ,WACrB,OAAO,WAAW,OAAO,WAAW,EAGtC,IAAMa,EAAQ,IAAI,WAAW,EAAE,EAE/B,GAAI,WAAW,QAAQ,gBAErB,WAAW,OAAO,gBAAgBA,CAAK,MAGvC,SAASC,EAAI,EAAGA,EAAID,EAAM,OAAQC,IAChCD,EAAMC,CAAC,EAAI,KAAK,MAAM,KAAK,OAAO,EAAI,GAAG,EAI7CD,EAAM,CAAC,EAAKA,EAAM,CAAC,EAAI,GAAQ,GAC/BA,EAAM,CAAC,EAAKA,EAAM,CAAC,EAAI,GAAQ,IAE/B,IAAME,EAAsB,CAAC,EAC7B,OAAAF,EAAM,QAASG,GAAS,CACtBD,EAAU,KAAKC,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,CACnD,CAAC,EAGCD,EAAU,MAAM,EAAG,CAAC,EAAE,KAAK,EAAE,EAC7B,IACAA,EAAU,MAAM,EAAG,CAAC,EAAE,KAAK,EAAE,EAC7B,IACAA,EAAU,MAAM,EAAG,CAAC,EAAE,KAAK,EAAE,EAC7B,IACAA,EAAU,MAAM,EAAG,EAAE,EAAE,KAAK,EAAE,EAC9B,IACAA,EAAU,MAAM,EAAE,EAAE,KAAK,EAAE,CAE/B,EAOO,SAAShB,GAAekB,EAAuB,CACpD,IAAIC,EACJ,OAAID,EAAM,WAAW,GAAG,GAAKA,EAAM,SAAS,GAAG,EAE7CC,EAASD,EAAM,UAAU,EAAGA,EAAM,OAAS,CAAC,EAG5CC,EAASD,EAAM,YAAY,EAEtBC,CACT,CJrHO,IAAMC,GAAU,UACVC,GAASD,GAAU,QAE1BE,GAAgBF,GAAU,cAC1BG,GAAeH,GAAU,YACzBI,GAAcJ,GAAU,WF+DvB,IAAeK,GAAf,KAAoD,CAKzD,YAAYC,EAAkB,CAAE,MAAAC,EAAQ,EAAM,EAAyB,CAAC,EAAG,CACzE,KAAK,QAAUD,EACf,KAAK,MAAQC,CACf,CAEA,MAAM,SAASC,EAA8B,CAAC,CAE9C,MAAM,eAAgB,CAAC,CAEvB,MAAM,SAAU,CAAC,CAEjB,MAAM,QAAQC,EAAgBC,EAAyC,CACrE,OAAOC,GAAQ,KAAK,GAAI,OAAO,GAAIC,GAAQH,EAAQC,CAAW,CAChE,CAEA,MAAM,KAAKG,EAAYC,EAAyC,CAC9D,YAAK,GAAKD,EAYH,CAAE,eAX6B,CACpC,GAAGC,EACH,OAAQ,CACN,GAAIA,EAAkB,QAAU,CAAC,EAChCC,GAAqB,CACpB,IAAMC,EAAOC,GAAmBF,EAAK,IAAI,EACzCA,EAAI,GAAG,MAAMH,EAAM,EACnBG,EAAI,GAAG,MAAMC,EAAM,CAAC,EAAGJ,EAAM,CAC/B,CACF,CACF,CACiC,CACnC,CAyCF,EAwEaM,GAAc,CACzB,MAAO,EACP,OAAQ,IACR,OAAQ,GACR,OAAQ,GACR,OAAQ,GACR,OAAQ,GACR,OAAQ,GACR,QAAS,GACT,UAAW,EACb,EAQMD,GAAqB,CAACE,EAAqBC,IAA2B,CAC1E,IAAMC,EAAKF,EAAO,GACZG,EAAMF,EAAO,MAAQ,QAAQ,IAAM,KACnCJ,EAAO,CACX,eAAkBO,EAAe,CAC/B,GAAI,CACF,OAAOA,EAAE,CACX,OAASC,EAAQ,CACf,MAAKA,EAAE,KACHA,EAAE,OAAS,UAAiB,IAAIH,EAAG,WAAWH,GAAY,MAAM,EAC9D,IAAIG,EAAG,WAAWG,EAAE,IAAI,EAFXA,CAGrB,CACF,EACA,MAAMC,EAAyB,CAC7B,OAAOT,EAAK,WAAW,KAAM,IAAK,MAAa,CAAC,CAClD,EACA,OACES,EACAC,EACAC,EACM,CAER,EACA,WACEC,EACAC,EACAC,EACAC,EACQ,CACR,GAAI,CAACV,EAAG,MAAMS,CAAI,GAAK,CAACT,EAAG,OAAOS,CAAI,EACpC,MAAM,IAAIT,EAAG,WAAW,EAAE,EAE5B,IAAMW,EAAOX,EAAG,WAAWO,EAAQC,EAAMC,CAAI,EAC7C,OAAAE,EAAK,SAAWhB,EAAK,SACrBgB,EAAK,WAAahB,EAAK,WAChBgB,CACT,EACA,QAAS,SAAUC,EAAsB,CACvC,OAAAX,IAAM,UAAWW,CAAI,EACdjB,EAAK,eAAe,IACXI,EAAO,MAAMa,CAAI,EAClB,IACd,CACH,EACA,SAAU,SAAUD,EAAsB,CACxC,IAAME,EAAkB,CAAC,EACzB,KAAOF,EAAK,SAAWA,GACrBE,EAAM,KAAKF,EAAK,IAAI,EACpBA,EAAOA,EAAK,OAEd,OAAAE,EAAM,KAAMF,EAAK,MAAkB,KAAK,IAAI,EAC5CE,EAAM,QAAQ,EACPA,EAAM,KAAK,GAAG,CACvB,EACA,SAAU,CACR,QAAQF,EAAwB,CAC9BV,IAAM,UAAWN,EAAK,SAASgB,CAAI,CAAC,EACpC,IAAMC,EAAOjB,EAAK,SAASgB,CAAI,EAC/B,OAAOhB,EAAK,eAAe,IAAM,CAC/B,IAAMmB,EAAQf,EAAO,MAAMa,CAAI,EAC/B,MAAO,CACL,GAAGE,EACH,IAAK,EACL,IAAKH,EAAK,GACV,MAAO,EACP,KAAMA,EAAK,KACX,MAAO,IAAI,KAAKG,EAAM,KAAK,EAC3B,MAAO,IAAI,KAAKA,EAAM,KAAK,EAC3B,MAAO,IAAI,KAAKA,EAAM,KAAK,CAC7B,CACF,CAAC,CACH,EACA,QAAQH,EAAcI,EAAsB,CAC1Cd,IAAM,UAAWN,EAAK,SAASgB,CAAI,EAAGI,CAAI,EAC1C,IAAMH,EAAOjB,EAAK,SAASgB,CAAI,EAC/BhB,EAAK,eAAe,IAAM,CACpBoB,EAAK,OAAS,QAChBhB,EAAO,MAAMa,EAAMG,EAAK,IAAI,EAE1BA,EAAK,OAAS,QAChBhB,EAAO,SAASa,EAAMG,EAAK,IAAI,EAE7BA,EAAK,YAAc,QACrBhB,EAAO,OAAOa,EAAMG,EAAK,UAAWA,EAAK,SAAS,EAEhDA,EAAK,OAAS,QAChBhB,EAAO,SAASa,EAAMG,EAAK,IAAI,CAEnC,CAAC,CACH,EACA,OAAOR,EAAgBC,EAAsB,CAC3CP,IAAM,SAAUN,EAAK,SAASY,CAAM,EAAGC,CAAI,EAC3C,IAAMI,EAAO,CAACjB,EAAK,SAASY,CAAM,EAAGC,CAAI,EAAE,KAAK,GAAG,EAC7CC,EAAOd,EAAK,QAAQiB,CAAI,EAC9B,OAAOjB,EAAK,WAAWY,EAAQC,EAAMC,CAAI,CAC3C,EACA,MAAMF,EAAgBC,EAAcC,EAAcO,EAAsB,CACtEf,IAAM,QAASN,EAAK,SAASY,CAAM,EAAGC,EAAMC,EAAMO,CAAG,EACrD,IAAML,EAAOhB,EAAK,WAAWY,EAAQC,EAAMC,EAAMO,CAAG,EAE9CJ,EAAOjB,EAAK,SAASgB,CAAI,EAC/B,OAAOhB,EAAK,eAAe,KACrBK,EAAG,MAAMW,EAAK,IAAI,EACpBZ,EAAO,MAAMa,EAAM,CAAE,KAAAH,CAAK,CAAC,EAE3BV,EAAO,UAAUa,EAAM,GAAI,CAAE,KAAAH,CAAK,CAAC,EAE9BE,EACR,CACH,EACA,OAAOM,EAAiBC,EAAgBC,EAAuB,CAC7DlB,IAAM,SAAUN,EAAK,SAASsB,CAAO,EAAGtB,EAAK,SAASuB,CAAM,EAAGC,CAAO,EACtE,IAAMC,EAAUzB,EAAK,SAASsB,CAAO,EAC/BI,EAAU,CAAC1B,EAAK,SAASuB,CAAM,EAAGC,CAAO,EAAE,KAAK,GAAG,EACzDxB,EAAK,eAAe,IAAM,CACxBI,EAAO,OAAOqB,EAASC,CAAO,CAChC,CAAC,EACDJ,EAAQ,KAAOE,CACjB,EACA,OAAOZ,EAAgBC,EAAoB,CACzCP,IAAM,SAAUN,EAAK,SAASY,CAAM,EAAGC,CAAI,EAC3C,IAAMI,EAAO,CAACjB,EAAK,SAASY,CAAM,EAAGC,CAAI,EAAE,KAAK,GAAG,EACnD,GAAI,CACFT,EAAO,OAAOa,CAAI,CACpB,MAAiB,CAEjB,CACF,EACA,MAAML,EAAgBC,EAAoB,CACxCP,IAAM,QAASN,EAAK,SAASY,CAAM,EAAGC,CAAI,EAC1C,IAAMI,EAAO,CAACjB,EAAK,SAASY,CAAM,EAAGC,CAAI,EAAE,KAAK,GAAG,EACnD,OAAOb,EAAK,eAAe,IAAM,CAC/BI,EAAO,MAAMa,CAAI,CACnB,CAAC,CACH,EACA,QAAQD,EAAwB,CAC9BV,IAAM,UAAWN,EAAK,SAASgB,CAAI,CAAC,EACpC,IAAMC,EAAOjB,EAAK,SAASgB,CAAI,EAC/B,OAAOhB,EAAK,eAAe,IAClBI,EAAO,QAAQa,CAAI,CAC3B,CACH,EACA,QAAQL,EAAgBY,EAAiBC,EAAuB,CAC9D,MAAAnB,IAAM,UAAWN,EAAK,SAASY,CAAM,EAAGY,EAASC,CAAO,EAElD,IAAIpB,EAAG,WAAW,EAAE,CAC5B,EACA,SAASW,EAAsB,CAC7B,MAAAV,IAAM,WAAYN,EAAK,SAASgB,CAAI,CAAC,EAE/B,IAAIX,EAAG,WAAW,EAAE,CAC5B,CACF,EACA,WAAY,CACV,KAAKsB,EAAwB,CAC3BrB,IAAM,cAAeN,EAAK,SAAS2B,EAAO,IAAI,CAAC,EAC/C,IAAMV,EAAOjB,EAAK,SAAS2B,EAAO,IAAI,EACtC,OAAO3B,EAAK,eAAe,IAAM,CAC3BK,EAAG,OAAOsB,EAAO,KAAK,IAAI,IAC5BA,EAAO,OAAO,SAAW,EACzBA,EAAO,IAAMvB,EAAO,KAAKa,CAAI,EAEjC,CAAC,CACH,EACA,MAAMU,EAAwB,CAC5B,OAAArB,IAAM,eAAgBN,EAAK,SAAS2B,EAAO,IAAI,CAAC,EACzC3B,EAAK,eAAe,IAAM,CAE7BK,EAAG,OAAOsB,EAAO,KAAK,IAAI,GAC1BA,EAAO,KACP,EAAEA,EAAO,OAAO,WAAa,GAE7BvB,EAAO,MAAMuB,EAAO,GAAG,CAE3B,CAAC,CACH,EACA,IAAIA,EAAkB,CACpBrB,IAAM,aAAcN,EAAK,SAAS2B,EAAO,IAAI,CAAC,EAC9CA,EAAO,OAAO,UAChB,EACA,KACEA,EACAC,EACAC,EACAC,EACAC,EACQ,CAQR,OAPAzB,IACE,cACAN,EAAK,SAAS2B,EAAO,IAAI,EACzBE,EACAC,EACAC,CACF,EACID,IAAW,EAAU,EACb9B,EAAK,eAAe,IAC9BI,EAAO,KACLuB,EAAO,IACPC,EACAC,EACAC,EACAC,CACF,CACF,CAEF,EACA,MACEJ,EACAC,EACAC,EACAC,EACAC,EACQ,CACR,OAAAzB,IACE,eACAN,EAAK,SAAS2B,EAAO,IAAI,EACzBE,EACAC,EACAC,CACF,EACO/B,EAAK,eAAe,IACzBI,EAAO,MACLuB,EAAO,IACPC,EAAO,OACPC,EACAC,EACAC,CACF,CACF,CACF,EACA,OAAOJ,EAAkBE,EAAgBG,EAAwB,CAC/D1B,IAAM,gBAAiBN,EAAK,SAAS2B,EAAO,IAAI,EAAGE,EAAQG,CAAM,EACjE,IAAID,EAAWF,EAWf,GAVIG,IAAW,EACbD,GAAYJ,EAAO,SACVK,IAAW,GAChB3B,EAAG,OAAOsB,EAAO,KAAK,IAAI,GAC5B3B,EAAK,eAAe,IAAM,CACxB,IAAMiC,EAAO7B,EAAO,MAAMuB,EAAO,GAAI,EACrCI,GAAYE,EAAK,IACnB,CAAC,EAGDF,EAAW,EACb,MAAM,IAAI1B,EAAG,WAAW,EAAE,EAE5B,OAAO0B,CACT,EACA,KACEJ,EACAG,EACAC,EACAG,EACAC,EACA,CASA,GARA7B,IACE,cACAN,EAAK,SAAS2B,EAAO,IAAI,EACzBG,EACAC,EACAG,EACAC,CACF,EACI,CAAC9B,EAAG,OAAOsB,EAAO,KAAK,IAAI,EAC7B,MAAM,IAAItB,EAAG,WAAWH,GAAY,MAAM,EAG5C,IAAMkC,EAAOjC,EAAe,UAAU2B,CAAM,EAE5C,OAAA9B,EAAK,WAAW,KACd2B,EACAxB,EAAO,MACPiC,EACAN,EACAC,CACF,EACO,CAAE,IAAAK,EAAK,UAAW,EAAK,CAChC,EACA,MACET,EACAC,EACAC,EACAC,EACAO,EACA,CACA,OAAA/B,IACE,eACAN,EAAK,SAAS2B,EAAO,IAAI,EACzBE,EACAC,EACAO,CACF,EACArC,EAAK,WAAW,MAAM2B,EAAQC,EAAQ,EAAGE,EAAQD,CAAM,EAChD,CACT,CACF,CACF,EACA,OAAO7B,CACT,EDvgBA,IAAMsC,GAAa,YACbC,GAAW,OACXC,GAAe,CACnB,IAAK,MACL,KAAM,KACR,EA3BAC,GAAAC,GAAAC,EAAAC,GAAAC,EAAAC,EAAAC,EAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,EAAAC,GAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAqEaC,GAAN,cAAwBC,EAAe,CA0B5C,YACEC,EACA,CACE,gBAAAC,EAAkB,IAClB,mBAAAC,EAAqB,IACrB,MAAAC,EAAQ,EACV,EAAoB,CAAC,EACrB,CACA,MAAMH,EAAS,CAAE,MAAAG,CAAM,CAAC,EAlCrBC,EAAA,KAAAf,GAKLe,EAAA,KAAA1B,IACA0B,EAAA,KAAAzB,IACAyB,EAAA,KAAAxB,GAEAwB,EAAA,KAAAvB,IACAuB,EAAA,KAAAtB,GAEAsB,EAAA,KAAArB,EAAyC,IAAI,KAC7CqB,EAAA,KAAApB,EAA+C,IAAI,KAEnDoB,EAAA,KAAAnB,GAAmB,GACnBmB,EAAA,KAAAlB,EAAwC,IAAI,KAC5CkB,EAAA,KAAAjB,EAAsC,IAAI,KAG1C,oBAAiB,EACjB,wBAAqB,IAAO,GAC5B,iBAAc,EAEdiB,EAAA,KAAAhB,EAAc,IAAI,KAWhB,KAAK,gBAAkBa,EACvB,KAAK,mBAAqBC,CAC5B,CAEA,MAAM,KAAKG,EAAYC,EAA4B,CACjD,aAAMC,EAAA,KAAKlB,EAAAC,IAAL,WACC,MAAM,KAAKe,EAAIC,CAAI,CAC5B,CAEA,MAAM,SAASE,EAAoB,GAAO,CACxC,MAAM,KAAK,qBAAqB,EAChC,MAAM,KAAK,aAAa,EACnBA,GACH,KAAK,MAAM,CAEf,CAEA,MAAM,SAAyB,CAC7B,QAAWC,KAAMC,EAAA,KAAK1B,GAAI,OAAO,EAC/ByB,EAAG,MAAM,EAEXC,EAAA,KAAK5B,GAAS,MAAM,EACpB4B,EAAA,KAAK5B,GAAS,MAAM,EACpB,KAAK,GAAI,OAAO,GAAG,KAAK,CAC1B,CAiHA,MAAM,aAAa6B,EAAe,CAChCA,EAAOA,GAAQ,KAAK,mBACpB,IAAMC,EAASD,EAAO,KAAK,MAAM,KAAK,OAChCE,EAA4B,CAAC,EACnC,QAASC,EAAI,EAAGA,EAAIF,EAAQE,IAC1BD,EAAS,KAEP,IAAI,QAAc,MAAOE,GAAY,CACnC,EAAE,KAAK,YACP,IAAMC,EAAW,IAAI,KAAK,IAAI,EAAI,YAAY,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,IAAI,KAAK,YAAY,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,GACvHC,EAAK,MAAMP,EAAA,KAAK9B,GAAW,cAAcoC,EAAU,CACvD,OAAQ,EACV,CAAC,EACKP,EAAiC,MACrCQ,EACA,uBAAuB,EACzBP,EAAA,KAAK3B,GAAI,IAAIiC,EAAUC,CAAE,EACzBP,EAAA,KAAK1B,GAAI,IAAIgC,EAAUP,CAAE,EACzBF,EAAA,KAAKlB,EAAAG,IAAL,UAAa,CACX,IAAK,iBACL,KAAM,CAACwB,CAAQ,CACjB,GACA,KAAK,MAAM,KAAK,KAAKA,CAAQ,EAC7BD,EAAQ,CACV,CAAC,CACH,EAEF,QAASD,EAAI,EAAGA,EAAIF,EAAQE,IAC1BD,EAAS,KAEP,IAAI,QAAc,MAAOE,GAAY,CACnC,IAAMC,EAAW,KAAK,MAAM,KAAK,IAAI,EACrCT,EAAA,KAAKlB,EAAAG,IAAL,UAAa,CACX,IAAK,iBACL,KAAM,CAACwB,CAAQ,CACjB,GACA,IAAMC,EAAKP,EAAA,KAAK3B,GAAI,IAAIiC,CAAQ,EACrBN,EAAA,KAAK1B,GAAI,IAAIgC,CAAQ,GAC5B,MAAM,EACV,MAAMN,EAAA,KAAK9B,GAAW,YAAYqC,EAAG,IAAI,EACzCP,EAAA,KAAK3B,GAAI,OAAOiC,CAAQ,EACxBN,EAAA,KAAK1B,GAAI,OAAOgC,CAAQ,EACxBD,EAAQ,CACV,CAAC,CACH,EAEF,MAAM,QAAQ,IAAIF,CAAQ,CAC5B,CAEA,qBAAqBG,EAAkB,CACrC,KAAK,MAAM,KAAK,KAAKA,CAAQ,CAC/B,CAEA,qBAAqBA,EAAkB,CACrC,IAAME,EAAQ,KAAK,MAAM,KAAK,QAAQF,CAAQ,EAC1CE,EAAQ,IACV,KAAK,MAAM,KAAK,OAAOA,EAAO,CAAC,CAEnC,CAEA,MAAM,sBAAuB,CACvB,KAAK,IAAI,EAAI,KAAK,eAAiB,KAAK,oBAC1C,MAAM,KAAK,gBAAgB,CAE/B,CAEA,MAAM,iBAAkB,CACtB,IAAMC,EAAU,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,KAAK,KAAK,CAAC,EACnET,EAAA,KAAK5B,GAAS,SAAS,CAAC,EACxB4B,EAAA,KAAK5B,GAAS,MAAMqC,EAAS,CAAE,GAAI,CAAE,CAAC,EACtCT,EAAA,KAAK5B,GAAS,MAAM,EACpB,KAAK,eAAiB,KAAK,IAAI,CACjC,CAEA,OAAQ,CACN,QAAW2B,KAAMC,EAAA,KAAKtB,GACpB,GAAI,CACFqB,EAAG,MAAM,CACX,MAAY,CAEZ,CAEFC,EAAA,KAAKtB,GAAY,MAAM,CACzB,CAIA,MAAMgC,EAAcC,EAAoB,CACtCd,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,QAAS,KAAM,CAAC6B,EAAMC,CAAI,CAAE,EAAG,IAAM,CAC3D,KAAK,YAAYD,EAAMC,CAAI,CAC7B,EACF,CAEA,YAAYD,EAAcC,EAAoB,CAC5C,IAAMC,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/BE,EAAK,KAAOD,CACd,CAEA,MAAME,EAAkB,CACtB,IAAMH,EAAOb,EAAA,KAAKlB,EAAAM,IAAL,UAAoB4B,GACjCb,EAAA,KAAKxB,GAAiB,OAAOqC,CAAE,EAC/Bb,EAAA,KAAKvB,GAAe,OAAOiC,CAAI,CACjC,CAEA,MAAMG,EAAqB,CACzB,IAAMH,EAAOb,EAAA,KAAKlB,EAAAM,IAAL,UAAoB4B,GACjC,OAAO,KAAK,MAAMH,CAAI,CACxB,CAEA,MAAMA,EAAuB,CAC3B,IAAME,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GACzBT,EACJW,EAAK,OAAS,OAASZ,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAAG,QAAQ,EAAI,EACnEE,EAAU,KAChB,MAAO,CACL,IAAK,EACL,IAAK,EACL,KAAMF,EAAK,KACX,MAAO,EACP,IAAK,EACL,IAAK,EACL,KAAM,EACN,KAAAX,EACA,QAAAa,EACA,OAAQ,KAAK,KAAKb,EAAOa,CAAO,EAChC,MAAOF,EAAK,aACZ,MAAOA,EAAK,aACZ,MAAOA,EAAK,YACd,CACF,CAEA,MAAMF,EAAcK,EAAwD,CAC1ElB,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,QAAS,KAAM,CAAC6B,EAAMK,CAAO,CAAE,EAAG,IAAM,CAC9D,KAAK,YAAYL,EAAMK,CAAO,CAChC,EACF,CAEA,YACEL,EACAK,EACM,CACN,IAAMC,EAAQnB,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GACxBO,EAAaD,EAAM,IAAI,EACvBE,EAAwB,CAAC,EAC3BN,EAAO,KAAK,MAAM,KACtB,QAAWO,KAAQH,EAAO,CAExB,GADAE,EAAY,KAAKR,CAAI,EACjB,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAK,SAAUO,CAAI,EAC3D,GAAIJ,GAAS,UACX,KAAK,MAAMG,EAAY,KAAK,GAAG,CAAC,MAEhC,OAAM,IAAIE,EAAQ,SAAU,2BAA2B,EAG3D,GAAIR,EAAK,SAASO,CAAI,EAAE,OAAS,YAC/B,MAAM,IAAIC,EAAQ,UAAW,iBAAiB,EAEhDR,EAAOA,EAAK,SAASO,CAAI,CAC3B,CACA,GAAI,OAAO,UAAU,eAAe,KAAKP,EAAK,SAAUK,CAAU,EAChE,MAAM,IAAIG,EAAQ,SAAU,aAAa,EAE3C,IAAMC,EAAwB,CAC5B,KAAM,YACN,aAAc,KAAK,IAAI,EACvB,KAAMN,GAAS,MAAQhD,GAAa,IACpC,SAAU,CAAC,CACb,EACA6C,EAAK,SAASK,CAAU,EAAII,CAC9B,CAEA,KAAKX,EAAcY,EAAiBC,EAAwB,CAE1D,GADa1B,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GACtB,OAAS,OAChB,MAAM,IAAIU,EAAQ,SAAU,gBAAgB,EAE9C,IAAMI,EAAW3B,EAAA,KAAKlB,EAAAO,IAAL,WACjB,OAAAc,EAAA,KAAKxB,GAAiB,IAAIgD,EAAUd,CAAI,EACxCV,EAAA,KAAKvB,GAAe,IAAIiC,EAAMc,CAAQ,EAC/BA,CACT,CAEA,QAAQd,EAAwB,CAC9B,IAAME,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/B,GAAIE,EAAK,OAAS,YAChB,MAAM,IAAIQ,EAAQ,UAAW,iBAAiB,EAEhD,OAAO,OAAO,KAAKR,EAAK,QAAQ,CAClC,CAEA,KACEC,EACAY,EACAC,EACAC,EACAC,EACQ,CACR,IAAMlB,EAAOb,EAAA,KAAKlB,EAAAM,IAAL,UAAoB4B,GAC3BD,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/B,GAAIE,EAAK,OAAS,OAChB,MAAM,IAAIQ,EAAQ,SAAU,gBAAgB,EAG9C,OADWpB,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAClC,KAAK,IAAI,WAAWa,EAAO,OAAQC,EAAQC,CAAM,EAAG,CAC5D,GAAIC,CACN,CAAC,CACH,CAEA,OAAOC,EAAiBC,EAAuB,CAC7CjC,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,SAAU,KAAM,CAACgD,EAASC,CAAO,CAAE,EAAG,IAAM,CAClE,KAAK,aAAaD,EAASC,EAAS,EAAI,CAC1C,EACF,CAEA,aAAaD,EAAiBC,EAAiBC,EAAY,GAAa,CACtE,IAAMC,EAAenC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB8C,GAC/BI,EAAcD,EAAa,IAAI,EAC/BE,EAAYrC,EAAA,KAAKlB,EAAAK,GAAL,UAAkBgD,EAAa,KAAK,GAAG,GACzD,GACE,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAU,SAAUD,CAAW,EAErE,MAAM,IAAIb,EAAQ,SAAU,2BAA2B,EAEzD,IAAMe,EAAetC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB+C,GAC/BM,EAAcD,EAAa,IAAI,EAC/BE,EAAYxC,EAAA,KAAKlB,EAAAK,GAAL,UAAkBmD,EAAa,KAAK,GAAG,GACzD,GACEJ,GACA,OAAO,UAAU,eAAe,KAAKM,EAAU,SAAUD,CAAW,EACpE,CAEA,IAAMxB,EAAOyB,EAAU,SAASD,CAAW,EAChCpC,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EACzC,SAAS,CAAC,EACb,KAAK,MAAM,KAAK,KAAKA,EAAK,eAAe,CAC3C,CACAyB,EAAU,SAASD,CAAW,EAAIF,EAAU,SAASD,CAAW,EAChE,OAAOC,EAAU,SAASD,CAAW,CACvC,CAEA,MAAMvB,EAAoB,CACxBb,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,QAAS,KAAM,CAAC6B,CAAI,CAAE,EAAG,IAAM,CACrD,KAAK,YAAYA,CAAI,CACvB,EACF,CAEA,YAAYA,EAAoB,CAC9B,IAAM4B,EAAYzC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC5B6B,EAAUD,EAAU,IAAI,EACxBE,EAAS3C,EAAA,KAAKlB,EAAAK,GAAL,UAAkBsD,EAAU,KAAK,GAAG,GACnD,GAAI,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAO,SAAUD,CAAO,EAChE,MAAM,IAAInB,EAAQ,SAAU,2BAA2B,EAEzD,IAAMR,EAAO4B,EAAO,SAASD,CAAO,EACpC,GAAI3B,EAAK,OAAS,YAChB,MAAM,IAAIQ,EAAQ,UAAW,iBAAiB,EAEhD,GAAI,OAAO,KAAKR,EAAK,QAAQ,EAAE,OAAS,EACtC,MAAM,IAAIQ,EAAQ,YAAa,qBAAqB,EAEtD,OAAOoB,EAAO,SAASD,CAAO,CAChC,CAEA,SAAS7B,EAAc+B,EAAM,EAAS,CACpC,IAAM7B,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/B,GAAIE,EAAK,OAAS,OAChB,MAAM,IAAIQ,EAAQ,SAAU,gBAAgB,EAE9C,IAAMrB,EAAKC,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAC5C,GAAI,CAACb,EACH,MAAM,IAAIqB,EAAQ,SAAU,2BAA2B,EAEzDrB,EAAG,SAAS0C,CAAG,EACfzC,EAAA,KAAKtB,GAAY,IAAIqB,CAAE,CACzB,CAEA,OAAOW,EAAoB,CACzBb,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,SAAU,KAAM,CAAC6B,CAAI,CAAE,EAAG,IAAM,CACtD,KAAK,aAAaA,EAAM,EAAI,CAC9B,EACF,CAEA,aAAaA,EAAcqB,EAAY,GAAa,CAClD,IAAMO,EAAYzC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC5BJ,EAAWgC,EAAU,IAAI,EACzBI,EAAM7C,EAAA,KAAKlB,EAAAK,GAAL,UAAkBsD,EAAU,KAAK,GAAG,GAChD,GAAI,CAAC,OAAO,UAAU,eAAe,KAAKI,EAAI,SAAUpC,CAAQ,EAC9D,MAAM,IAAIc,EAAQ,SAAU,2BAA2B,EAEzD,IAAMR,EAAO8B,EAAI,SAASpC,CAAQ,EAClC,GAAIM,EAAK,OAAS,OAChB,MAAM,IAAIQ,EAAQ,SAAU,gBAAgB,EAG9C,GADA,OAAOsB,EAAI,SAASpC,CAAQ,EACxByB,EAAW,CACb,IAAMhC,EAAKC,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAE5Cb,GAAI,SAAS,CAAC,EACdC,EAAA,KAAKtB,GAAY,IAAIqB,CAAE,EACnBC,EAAA,KAAKvB,GAAe,IAAIiC,CAAI,IAC9BV,EAAA,KAAKxB,GAAiB,OAAOwB,EAAA,KAAKvB,GAAe,IAAIiC,CAAI,CAAE,EAC3DV,EAAA,KAAKvB,GAAe,OAAOiC,CAAI,EAEnC,CACA,KAAK,MAAM,KAAK,KAAKE,EAAK,eAAe,CAC3C,CAEA,OAAOF,EAAciC,EAAeC,EAAqB,CACvD/C,EAAA,KAAKlB,EAAAE,GAAL,UAAiB,CAAE,IAAK,SAAU,KAAM,CAAC6B,EAAMiC,EAAOC,CAAK,CAAE,EAAG,IAAM,CACpE,KAAK,aAAalC,EAAMiC,EAAOC,CAAK,CACtC,EACF,CAEA,aAAalC,EAAcmC,EAAgBD,EAAqB,CAC9D,IAAMhC,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/BE,EAAK,aAAegC,CACtB,CAEA,UACElC,EACAoC,EACA/B,EACM,CACN,IAAMuB,EAAYzC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC5BJ,EAAWgC,EAAU,IAAI,EACzBE,EAAS3C,EAAA,KAAKlB,EAAAK,GAAL,UAAkBsD,EAAU,KAAK,GAAG,GAEnD,GAAK,OAAO,UAAU,eAAe,KAAKE,EAAO,SAAUlC,CAAQ,EAe5D,CACL,IAAMM,EAAO4B,EAAO,SAASlC,CAAQ,EACrCM,EAAK,aAAe,KAAK,IAAI,EAC7Bf,EAAA,KAAKlB,EAAAG,IAAL,UAAa,CACX,IAAK,kBACL,KAAM,CAAC4B,EAAME,EAAK,YAAY,CAChC,EACF,KAtBsE,CACpE,GAAI,KAAK,MAAM,KAAK,SAAW,EAC7B,MAAM,IAAI,MAAM,4CAA4C,EAE9D,IAAMA,EAAa,CACjB,KAAM,OACN,aAAc,KAAK,IAAI,EACvB,KAAMG,GAAS,MAAQhD,GAAa,KACpC,gBAAiB,KAAK,MAAM,KAAK,IAAI,CACvC,EACAyE,EAAO,SAASlC,CAAQ,EAAIM,EAC5Bf,EAAA,KAAKlB,EAAAG,IAAL,UAAa,CACX,IAAK,iBACL,KAAM,CAAC4B,EAAME,CAAI,CACnB,EACF,CAQA,IAAMA,EAAO4B,EAAO,SAASlC,CAAQ,EAC/BP,EAAKC,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAExCkC,EAAK,OAAS,IAChB/C,EAAG,MACD,OAAO+C,GAAS,SACZ,IAAI,YAAY,EAAE,OAAOA,CAAI,EAC7B,IAAI,WAAWA,CAAI,EACvB,CAAE,GAAI,CAAE,CACV,EACIpC,EAAK,WAAW,SAAS,GAC3BV,EAAA,KAAKtB,GAAY,IAAIqB,CAAE,EAG7B,CAEA,qBAAqBW,EAAcE,EAA0B,CAC3D,IAAM0B,EAAYzC,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC5BJ,EAAWgC,EAAU,IAAI,EACzBE,EAAS3C,EAAA,KAAKlB,EAAAK,GAAL,UAAkBsD,EAAU,KAAK,GAAG,GACnDE,EAAO,SAASlC,CAAQ,EAAIM,EAE5B,IAAMJ,EAAQ,KAAK,MAAM,KAAK,QAAQI,EAAK,eAAe,EAC1D,OAAIJ,EAAQ,IACV,KAAK,MAAM,KAAK,OAAOA,EAAO,CAAC,EAE1BI,CACT,CAEA,sBAAsBF,EAAcqC,EAA4B,CAC9D,IAAMnC,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/BE,EAAK,aAAemC,CACtB,CAEA,MACElC,EACAY,EACAC,EACAC,EACAC,EACQ,CACR,IAAMlB,EAAOb,EAAA,KAAKlB,EAAAM,IAAL,UAAoB4B,GAC3BD,EAAOf,EAAA,KAAKlB,EAAAK,GAAL,UAAkB0B,GAC/B,GAAIE,EAAK,OAAS,OAChB,MAAM,IAAIQ,EAAQ,SAAU,gBAAgB,EAE9C,IAAMrB,EAAKC,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,eAAe,EAC5C,GAAI,CAACb,EACH,MAAM,IAAIqB,EAAQ,QAAS,qBAAqB,EAElD,IAAM4B,EAAMjD,EAAG,MAAM,IAAI,WAAW0B,EAAQC,EAAQC,CAAM,EAAG,CAC3D,GAAIC,CACN,CAAC,EACD,OAAIlB,EAAK,WAAW,SAAS,GAC3BV,EAAA,KAAKtB,GAAY,IAAIqB,CAAE,EAElBiD,CACT,CAyEF,EAvoBEhF,GAAA,YACAC,GAAA,YACAC,EAAA,YAEAC,GAAA,YACAC,EAAA,YAEAC,EAAA,YACAC,EAAA,YAEAC,GAAA,YACAC,EAAA,YACAC,EAAA,YAOAC,EAAA,YAxBKC,EAAA,YA6DCC,GAAK,gBAAG,CACZqE,EAAA,KAAKjF,GAAc,MAAM,UAAU,QAAQ,aAAa,GACxDiF,EAAA,KAAKhF,GAAU,MAAM4B,EAAA,KAAKlB,EAAAQ,IAAL,UAA2B,KAAK,QAAU,CAC7D,OAAQ,EACV,IACA8D,EAAA,KAAK/E,EAAa,MAAM2B,EAAA,KAAKlB,EAAAQ,IAAL,UAA2BrB,GAAU,CAC3D,KAAMkC,EAAA,KAAK/B,IACX,OAAQ,EACV,IAEAgF,EAAA,KAAK9E,GAAW,MAAM6B,EAAA,KAAK/B,IAAQ,cAAcJ,GAAY,CAC3D,OAAQ,EACV,CAAC,GACDoF,EAAA,KAAK7E,EAAW,MAAO4B,EAAA,KAAK7B,IAAiB,uBAAuB,GAEpE,IAAMsC,EAAU,IAAI,YAAYT,EAAA,KAAK5B,GAAS,QAAQ,CAAC,EACvD4B,EAAA,KAAK5B,GAAS,KAAKqC,EAAS,CAAE,GAAI,CAAE,CAAC,EACrC,IAAIyC,EACEC,EAAa,IAAI,YAAY,EAAE,OAAO1C,CAAO,EAAE,MAAM;AAAA,CAAI,EAI3D2C,EAAa,GACjB,GAAI,CACFF,EAAQ,KAAK,MAAMC,EAAW,CAAC,CAAC,CAClC,MAAY,CACVD,EAAQ,CACN,KAAM,CACJ,KAAM,YACN,aAAc,KAAK,IAAI,EACvB,KAAMnF,GAAa,IACnB,SAAU,CAAC,CACb,EACA,KAAM,CAAC,CACT,EAEAiC,EAAA,KAAK5B,GAAS,SAAS,CAAC,EACxB4B,EAAA,KAAK5B,GAAS,MAAM,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU8E,CAAK,CAAC,EAAG,CACnE,GAAI,CACN,CAAC,EACDE,EAAa,EACf,CACA,KAAK,MAAQF,EAGb,IAAMG,EAAMF,EACT,MAAM,CAAC,EACP,OAAO,OAAO,EACd,IAAKG,GAAS,KAAK,MAAMA,CAAI,CAAC,EACjC,QAAWC,KAASF,EAAK,CACvB,IAAMG,EAAa,IAAID,EAAM,GAAG,QAChC,GAAI,OAAO,KAAKC,CAAwB,GAAM,WAC5C,GAAI,CACa,KAAKA,CAAwB,EACrC,KAAK,IAAI,EAAE,GAAGD,EAAM,IAAI,CACjC,OAASE,EAAG,CACV,QAAQ,KAAK,oCAAqCF,EAAOE,CAAC,CAC5D,CAEJ,CAGA,IAAMC,EAAgC,CAAC,EACjCC,EAAO,MAAO/C,GAAe,CACjC,GAAIA,EAAK,OAAS,OAChB,GAAI,CACF,IAAML,EAAK,MAAMP,EAAA,KAAK9B,GAAW,cAAc0C,EAAK,eAAe,EAC7Db,EAAiC,MACrCQ,EACA,uBAAuB,EACzBP,EAAA,KAAK3B,GAAI,IAAIuC,EAAK,gBAAiBL,CAAE,EAErCP,EAAA,KAAK1B,GAAI,IAAIsC,EAAK,gBAAiBb,CAAE,CACvC,OAAS0D,EAAG,CACV,QAAQ,MAAM,qCAAsC7C,EAAM6C,CAAC,CAC7D,KAEA,SAAWG,KAAS,OAAO,OAAOhD,EAAK,QAAQ,EAC7C8C,EAAa,KAAKC,EAAKC,CAAK,CAAC,CAGnC,EACA,MAAMD,EAAK,KAAK,MAAM,IAAI,EAG1B,IAAME,EAAgC,CAAC,EACvC,QAAWvD,KAAY,KAAK,MAAM,KAChCuD,EAAa,KAEX,IAAI,QAAc,MAAOxD,GAAY,CAC/BL,EAAA,KAAK3B,GAAI,IAAIiC,CAAQ,GACvB,QAAQ,KAAK,2CAA4CA,CAAQ,EAEnE,IAAMC,EAAK,MAAMP,EAAA,KAAK9B,GAAW,cAAcoC,CAAQ,EACjDP,EAAiC,MACrCQ,EACA,uBAAuB,EACzBP,EAAA,KAAK3B,GAAI,IAAIiC,EAAUC,CAAE,EACzBP,EAAA,KAAK1B,GAAI,IAAIgC,EAAUP,CAAE,EACzBM,EAAQ,CACV,CAAC,CACH,EAGF,MAAM,QAAQ,IAAI,CAAC,GAAGqD,EAAc,GAAGG,CAAY,CAAC,EAEpD,MAAM,KAAK,aACTT,EAAa,KAAK,gBAAkB,KAAK,kBAC3C,CACF,EA6ZAvE,EAAW,SAAC0E,EAAiBO,EAAgB,CAC3C,IAAMpC,EAAS7B,EAAA,KAAKlB,EAAAG,IAAL,UAAayE,GAC5B,GAAI,CACFO,EAAG,CACL,OAASL,EAAG,CAEV,MAAAzD,EAAA,KAAK5B,GAAS,SAASsD,CAAM,EACvB+B,CACR,CACF,EAEA3E,GAAO,SAACyE,EAAiB,CACvB,IAAMQ,EAAY,KAAK,UAAUR,CAAK,EAChC9C,EAAU,IAAI,YAAY,EAAE,OAAO;AAAA,EAAKsD,CAAS,EAAE,EACnDrC,EAAS1B,EAAA,KAAK5B,GAAS,QAAQ,EACrC,OAAA4B,EAAA,KAAK5B,GAAS,MAAMqC,EAAS,CAAE,GAAIiB,CAAO,CAAC,EAC3C1B,EAAA,KAAKtB,GAAY,IAAIsB,EAAA,KAAK5B,EAAQ,EAC3BsD,CACT,EAEA3C,EAAU,SAAC2B,EAAwB,CACjC,OAAOA,EAAK,MAAM,GAAG,EAAE,OAAO,OAAO,CACvC,EAEA1B,EAAY,SAAC0B,EAAcsD,EAA4B,CACrD,IAAMhD,EAAQnB,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC1BE,EAAaoD,GAAQ,KAAK,MAAM,KACpC,QAAW7C,KAAQH,EAAO,CACxB,GAAIJ,EAAK,OAAS,YAChB,MAAM,IAAIQ,EAAQ,UAAW,iBAAiB,EAEhD,GAAI,CAAC,OAAO,UAAU,eAAe,KAAKR,EAAK,SAAUO,CAAI,EAC3D,MAAM,IAAIC,EAAQ,SAAU,2BAA2B,EAEzDR,EAAOA,EAAK,SAASO,CAAI,CAC3B,CACA,OAAOP,CACT,EAEA3B,GAAc,SAAC4B,EAAoB,CACjC,IAAMH,EAAOV,EAAA,KAAKxB,GAAiB,IAAIqC,CAAE,EACzC,GAAI,CAACH,EACH,MAAM,IAAIU,EAAQ,QAAS,qBAAqB,EAElD,OAAOV,CACT,EAEAxB,GAAa,UAAW,CACtB,IAAM+E,EAAY,EAALC,GAAA,KAAK3F,IAAL,EACb,KAAOyB,EAAA,KAAKxB,GAAiB,IAAIyF,CAAE,GACjCC,GAAA,KAAK3F,IAAL,IAEF,OAAO0F,CACT,EAEM9E,GAAqB,eACzBuB,EACAK,EAIoC,CACpC,IAAMC,EAAQnB,EAAA,KAAKlB,EAAAI,GAAL,UAAgB2B,GAC1ByD,EAAKpD,GAAS,MAAQf,EAAA,KAAKhC,IAC/B,QAAWmD,KAAQH,EACjBmD,EAAK,MAAMA,EAAG,mBAAmBhD,EAAM,CAAE,OAAQJ,GAAS,MAAO,CAAC,EAEpE,OAAOoD,CACT,EAGF,IAAM/C,EAAN,cAAsB,KAAM,CAE1B,YAAYgD,EAAgDC,EAAiB,CAC3E,MAAMA,CAAO,EACT,OAAOD,GAAS,SAClB,KAAK,KAAOA,EACH,OAAOA,GAAS,WACzB,KAAK,KAAOE,GAAYF,CAAI,EAEhC,CACF","names":["getImportMetaUrl","importMetaUrl","init_cjs_shims","__esmMin","require_utils","__commonJSMin","exports","module","init_cjs_shims","MAX_SAFE_INTEGER","undefined","isUndefined","value","isString","isDateTime","isObject","isFunction","isLength","isArray","isArrayLike","isArrayBuffer","map","array","iteratee","find","result","item","index","found","extend","target","toUint8Array","i","length","require_constants","__commonJSMin","exports","module","init_cjs_shims","NULL_CHAR","require_types","__commonJSMin","exports","module","init_cjs_shims","utils","constants","recordSize","defaultFileMode","defaultUid","defaultGid","posixHeader","file","field","formatTarString","buffer","offset","parseTarString","mode","formatTarNumber","result","parseTarNumber","formatTarDateTime","parseTarDateTime","fixUstarMagic","effectiveHeaderSize","header","last","value","chars","length","defaultValue","bytes","returnUnprocessed","index","calculateChecksum","skipChecksum","from","to","skipFrom","skipTo","whitespace","i","byte","require_tar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","headerSize","file","dataSize","allocateBuffer","files","totalSize","writeHeader","buffer","offset","currentOffset","field","value","length","i","checksum","writeData","tar","require_untar","__commonJSMin","exports","module","init_cjs_shims","constants","utils","types","defaultOptions","excludeFields","messages","headerSize","header","dataSize","size","isEndOfFile","buffer","offset","from","to","i","readHeader","options","result","currentOffset","field","error","checksum","readData","createFile","data","name","untar","require_tinytar","__commonJSMin","exports","module","init_cjs_shims","utils","constants","tar","untar","opfs_ahp_exports","__export","OpfsAhpFS","__toCommonJS","init_cjs_shims","init_cjs_shims","init_cjs_shims","import_tinytar","dumpTar","FS","pgDataDir","dbname","compression","tarball","createTarball","compressed","zipped","maybeZip","filename","type","readDirectory","FS","path","files","traverseDirectory","currentPath","entry","fullPath","stats","data","createTarball","directoryPath","maybeZip","file","compression","zipBrowser","zipNode","cs","writer","reader","chunks","value","done","compressed","acc","chunk","offset","promisify","gzip","init_cjs_shims","init_cjs_shims","init_cjs_shims","Module","importMetaUrl","resolve","reject","createRequire","dirname","status","toThrow","path","filename","ret","binary","url","xhr","response","s","buf","decoded","bytes","i","condition","text","b","cb","id","callback","what","e","f","file","binaryFile","imports","instance","reason","instantiationResult","receiveInstance","module","metadata","receiveInstantiationResult","result","info","__publicField","obj","symName","rtn","callbacks","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","str","u0","u1","u2","ch","offset","end","getU8","getLEB","mul","byte","getString","len","failIf","message","name","dylinkSection","int32View","magicNumberFound","section_size","customSection","neededDynlibsCount","libname","WASM_DYLINK_MEM_INFO","WASM_DYLINK_NEEDED","WASM_DYLINK_EXPORT_INFO","WASM_DYLINK_IMPORT_INFO","WASM_SYMBOL_TLS","WASM_SYMBOL_BINDING_MASK","WASM_SYMBOL_BINDING_WEAK","subsectionType","subsectionSize","count","symname","flags","modname","handle","syms","dso","size","alignment","n","target","sig","typeNames","type","sigRet","sigParam","typeCodes","func","typeSectionBody","wrappedFunc","funcPtr","item","err","wrapped","exports","replace","value","memoryBase","relocated","existing","ptr","args","val","sp","direct","sym","resolved","stubs","prop","chain","dynNeeded","needed","libName","exp","setImport","main_alias","arrayBuffer","wasmPlugin","byteArray","onload","onerror","error","localScope","loadLibData","data","dataSize","libData","libFile","getExports","preloaded","moduleLoaded","entry","lib","fp","splitPathRe","parts","allowAboveRoot","up","last","isAbsolute","trailingSlash","p","root","dir","lastSlash","paths","l","view","crypto_module","randomFillSync","randomBytes","resolvedPath","resolvedAbsolute","from","to","trim","arr","start","fromParts","toParts","length","samePartsLength","outputParts","c","heap","outIdx","maxBytesToWrite","startIdx","u","stringy","dontAddNull","u8array","numBytesWritten","BUFSIZE","bytesRead","fd","dev","ops","stream","tty","buffer","pos","optional_actions","address","mount","parent","mode","node","newCapacity","prevCapacity","CAPACITY_DOUBLING_MAX","oldContents","newSize","attr","key","old_node","new_dir","new_name","new_node","newname","oldpath","position","contents","canOwn","whence","prot","allocated","mmapFlags","fileData","canRead","canWrite","fullname","finish","handled","plugin","dontCreateFile","preFinish","dep","processData","flagModes","stat","atime","mtime","oldNode","newDir","newName","oldPath","newPath","errno","rdev","opts","linkloop","nlinks","current","current_path","islast","link","parentid","hash","errCode","nodeName","flag","perms","isdir","origStream","device","ma","mi","mounts","check","m","populate","completed","doCallback","done","mountpoint","pseudo","lookup","mountRoot","next","dirs","d","newpath","old_path","new_path","old_dirname","new_dirname","old_name","old_dir","relative","dontFollow","uid","gid","created","seeking","bytesWritten","cmd","arg","actualNumBytes","randomBuffer","randomLeft","randomByte","proc_self","k","v","input","output","stdin","stdout","stderr","dontResolveLastLink","part","properties","_a","LazyUint8Array","chunkOffset","chunkNum","getter","datalength","header","hasByteServing","usesGzip","chunkSize","doXHR","lazyArray","stream_ops","keys","fn","writeChunks","dirfd","allowEmpty","dirstream","ctime","addr","newfd","old","amode","advice","varargs","newStream","outPtr","cwd","cwdLengthInBytes","dirp","struct_size","off","child","op","termios","argp","c_iflag","c_oflag","c_cflag","c_lflag","c_cc","winsize","nofollow","bufsize","endChar","linkpath","year","date","leap","monthDaysCumulative","yday","num","time","tmPtr","summerOffset","winterOffset","dst","guessedOffset","dstOffset","nonDstOffset","trueOffset","timeMs","code","implicit","which","timeout_ms","timezone","daylight","std_name","dst_name","currentYear","winter","summer","stdTimezoneOffset","extractZone","timezoneOffset","sign","absOffset","hours","minutes","winterName","summerName","pages","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","replacement","lang","env","x","strings","__environ","environ_buf","bufSize","string","penviron_count","penviron_buf_size","pbuf","rightsBase","rightsInheriting","iov","iovcnt","curr","pnum","newOffset","tmp","words","w","z","valid6regx","res","ints","word","longest","lastzero","zstart","hasipv4","v4part","sa","family","port","addrlen","service","hint","out","proto","ai","allocaddrinfo","canon","salen","sz","index","a0","a1","a2","a3","a4","runCaller","entryFunction","argc","argv","argv_ptr","doRun","initdb_default","init_cjs_shims","CONTROL","controlRE","TOKEN","mult","i","startsWithToken","utils_exports","__export","IN_NODE","getFsBundle","instantiateWasm","startArtifactDownload","toPostgresName","uuid","artifactDownloadPromises","url","cachedWasmModules","imports","moduleUrl","module","mod","buffer","newModule","instance","response","fsBundleUrl","bytes","i","hexValues","byte","input","output","PG_ROOT","PGDATA","initdbExePath","pgstdoutPath","pgstdinPath","BaseFilesystem","dataDir","debug","_relaxedDurability","dbname","compression","dumpTar","PGDATA","pg","emscriptenOptions","mod","EMFS","createEmscriptenFS","ERRNO_CODES","Module","baseFS","FS","log","f","e","_mount","_populate","_done","parent","name","mode","_dev","node","path","parts","stats","attr","dev","oldNode","newDir","newName","oldPath","newPath","stream","buffer","offset","length","position","whence","stat","prot","flags","ptr","mmapFlags","STATE_FILE","DATA_DIR","INITIAL_MODE","_opfsRootAh","_rootAh","_dataDirAh","_stateFH","_stateSH","_fh","_sh","_handleIdCounter","_openHandlePaths","_openHandleIds","_unsyncedSH","_OpfsAhpFS_instances","init_fn","tryWithWAL_fn","logWAL_fn","pathParts_fn","resolvePath_fn","getPathFromFd_fn","nextHandleId_fn","resolveOpfsDirectory_fn","OpfsAhpFS","BaseFilesystem","dataDir","initialPoolSize","maintainedPoolSize","debug","__privateAdd","pg","opts","__privateMethod","relaxedDurability","sh","__privateGet","size","change","promises","i","resolve","filename","fh","index","stateAB","path","mode","node","fd","blksize","options","parts","newDirName","currentPath","part","FsError","newDir","_flags","_mode","handleId","buffer","offset","length","position","oldPath","newPath","doFileOps","oldPathParts","oldFilename","oldParent","newPathParts","newFilename","newParent","pathParts","dirName","parent","len","dir","atime","mtime","_atime","data","lastModified","ret","__privateSet","state","stateLines","isNewState","wal","line","entry","methodName","e","walkPromises","walk","child","poolPromises","fn","entryJSON","from","id","__privateWrapper","ah","code","message","ERRNO_CODES"]}